SlideShare a Scribd company logo
1
Develop Web of Things
Yes, we scan…
http://en.wikipedia.org/wiki/Web_of_Things
2
Web of No Things
Tricorder…
not (A v B) = not A ^ not B
push a Session or pull a Service ?
Redundant DNA Helix
Hertz App or DigiCam UseCase?
Build Systems you can count on
http://en.wikipedia.org/wiki/Anti-pattern
http://en.wikipedia.org/wiki/Wireless_Sens
or_Networks
3
Web of Words
Fest codiert in der Erden
Steht die App, aus Bits gebrannt.
Heute muß die Software werden,
Frisch, Entwickler! seid zur Hand.
maXbox
http://en.wikipedia.org/wiki/RFID
Chess Roboter Topic – First Web of Things
4
Design &
Runtime
Technical
Requirements
User Requirements
Q-Requirements
Business Model Architectural Pattern
Functional Pattern
reference,
links, esper
Packages, Seq, IAD
configuration
Processing, Rules, GUI Settings,
Objects, Options, Profiles
Use Case, Activity
WoT Code Layers
Study,
Concept
event stream data layer
monitoring
source code
annotations
aspects, constraints
DB, XML,
properties
literals, res,
values
Developer,
Admin,
User
5
How to start?
Do you want to work with “things” that are under
your direct control?
Things:
• Easy to use with a wide community support are
Arduino, Raspberry and SunSpot.
• Crossbow, Libellium, Sensinode, etc. are also
possible solutions but may require more effort.
• For very specific solutions you may need to go for
hardware design.
6
Programming the Things
• Complex and time consuming process
• tool chain: IDE, compiler, debugger
• microcontroller is programmed and executes the code, radio chip is
not programmed but controlled by microcontroller, usually via SPI
(Serial Peripheral Interface Bus) which sets/reads registers
• compiled code is loaded to the microcontroller using bootloader or
JTAG (Joint Test Action Group)
• protocol stack may be precompiled and available through API or
available as library, operating system (not needed for simple tasks),
virtual machine (optional)
• http://www.mikrocontroller.net/articles/JTAG
7
Decison Process
• Before starting, the following questions should be answered:
• What is the scope or application?
• •Monitoring measurements?
• What is the scenario Use Case?
• •A thing with embedded web service?
• •A set of things connected through a gateway?
• What programming language or IDE?
• •Options: C, Pascal, Java, C#, Processing, ADT
• What is the publishing infrastructure?
• •None, custom, third party.
8
Stream Thinking
• procedure letStreamDataWork;
• var biglist: TStringList;
• begin
• biglist:= TStringlist.create;
• memo2.setfocus;
• repeat
• biglist.add('Value for mem[%d] enter : '
• +inttoStr(RandomRange(500,100000000)));
• biglist.add(getbigPI+getbigPI+getbigPI+getbigPI)
• with TJvMemoryInfos.Create(self) do begin
• writeln('Available Mem: '+FreeMemory);
• Free;
• end;
• until isKeypressed;
• writeln('elements of biglist '+intToStr(biglist.count))
• writeln('capacity of biglist '+intToStr(biglist.capacity))
• biglist.Free; //destruct
• end;
9
About Rules
• CA1303: Do not pass literals as localized
parameters
• public void TimeMethod(int hour, int minute)
{ if (hour < 0 || hour > 23) { MessageBox.Show( "The valid range is 0 -
23."); //CA1303 fires because the parameter for method Show is Text }
• CA1302: Do not hardcode locale specific
strings
• static void Main()
{ string string0 = "C:";
• PMD: Avoid duplicate literals (string or numeric)
10
Timeline - Lord of the Things
• Description and Technologies
• Web 1.0 Static HTML pages (web as we first learned it) HTML, HTTP
• Web 1.5 Dynamic HTML content (web as we know it) Client side (JavaScript,
DHTML, Flash, …), server side (CGI, PHP, Perl, ASP/.NET, JSP, …)
• Web 2.0 Participatory information sharing, interoperability, user-centered
design, and collaboration on the World Wide Web (web of people) weblogs, social
bookmarking, social tagging, wikis, podcasts, RSS feeds, many-to-many publishing,
web services, … URI, XML, RDF, OWL, SparQL, …
• Web 3.0 …definitions vary a lot – from Full Semantic Web to AI
• (web as we would need it) http://en.wikipedia.org/wiki/Web_3.0#Web_3.0
•
• Web of Things Everyday devices and objects are connected by fully integrating them
to the Web. (web as we would like it) Well-accepted and understood
standards and blueprints (such as URI, HTTP, REST, Atom, etc.)
http://en.wikipedia.org/wiki/Web_of_Things
• Singularity Web of Rings (Thanks to Kurzweil)
11
Timeline II
•A Short History of Time
• 1991 Application Program
• 1995 Application
• 1998 Applet
• 2010 App
• 2015 A (Android, Arduino, Apache, ARM)
12
WoT Use Case
Motivated by an increased interest of physical computing and embedded in
automatic management of large systems
• •Power grids
• •Transport systems
• •Water distribution
• •Logistics
• •Industrial automation, 3D-Printer
• •Health, example Schiller Poster
• •Environmental intelligence
• •Academic, example maXbox
• •Distributed sensing infrastructure
13
Web of Things Environment
“Apps and Services glue with Things”.
DeviceDevice
ToolTool
AppApp
FrameworkFramework
Processing
Processing
ArchitecturArchitectur
LibLib
DataData
CodeCode
Glue
Glue
Com
Com
14
Solution
• Arduino Controller
15
Solar Solution
16
Solution
http://www.softwareschule.ch/examples/305_webserver_arduino3.txt
17
Solution
http://www.softwareschule.ch/examples/305_webserver_arduino3.txt
76 with HTTPServer do begin
77 if Active then Free;
78 if not Active then begin
79 bindings.Clear;
80 bindings.Add;
81 bindings.items[0].Port:= APORT;
82 bindings.items[0].IP:= IPADDR; //'127.0.0.1';
83 Active:= true;
84 onCommandGet:= @HTTPServerGet;
85 PrintF('Listening HTTP on %s:%d.', [Bindings[0].IP,Bindings[0].Port]);
86 end;
18
Solution
361_heartbeat_wave.txt
http://en.wikipedia.org/wiki/Household_appliances
54 if uppercase(localcom) = uppercase('/LED') then begin
55 cPort.WriteStr('1')
56 writeln(localcom+ ': LED on');
57 RespInfo.ContentText:= getHTMLContentString('LED is: ON');
58 end else
59 if uppercase(localcom) = uppercase('/DEL') then begin
60 cPort.WriteStr('A');
61 writeln(localcom+ ': LED off');
62 RespInfo.ContentText:= getHTMLContentString('LED is: OFF')
63 end;
19
Solution
Tutorial: http://www.softwareschule.ch/download/maxbox_starter18.pdf
void setup() {
// initialize digital pin as an output.
pinMode(ledPin11, OUTPUT);
Serial.begin(9600);
void loop () {
val = Serial.read(); //read serial port
if (val !=-1){
if (val=='1'){
digitalWrite(ledPin1,HIGH);
}
else if (val=='A'){
digitalWrite(ledPin1,LOW);
}
20
The End is Flexibility
Personal Dependency Inversion – Programming for Change
21
Thanks! Links to Rights
the source is the code
http://www.softwareschule.ch/maxbox.htm
http://sourceforge.net/projects/maxbox
http://sourceforge.net/apps/mediawiki/maxbox/
http://en.wikipedia.org/wiki/Arduino
http://www.softwareschule.ch/download/webofthings2013.pdf
HTTP://SENSORLAB.IJS.SI
http://carolinafortuna.com/web-of-things-tutorial/
22
Code the World
hack the earth

More Related Content

PPTX
Data Tribology: Overcoming Data Friction with Cloud Automation
Ian Foster
 
PPTX
Scaling collaborative data science with Globus and Jupyter
Ian Foster
 
PPT
Data vizualisation: d3.js + sinatra + elasticsearch
Mathieu Elie
 
PDF
hotdog a TD tool for DD
Treasure Data, Inc.
 
PPTX
Research Automation for Data-Driven Discovery
Globus
 
PDF
HDP2 and YARN operations point
Treasure Data, Inc.
 
PPTX
Big Data Analytics: Finding diamonds in the rough with Azure
Christos Charmatzis
 
PDF
Accelerating your Research with Microsoft Azure (June 2015)
Microsoft Azure for Research
 
Data Tribology: Overcoming Data Friction with Cloud Automation
Ian Foster
 
Scaling collaborative data science with Globus and Jupyter
Ian Foster
 
Data vizualisation: d3.js + sinatra + elasticsearch
Mathieu Elie
 
hotdog a TD tool for DD
Treasure Data, Inc.
 
Research Automation for Data-Driven Discovery
Globus
 
HDP2 and YARN operations point
Treasure Data, Inc.
 
Big Data Analytics: Finding diamonds in the rough with Azure
Christos Charmatzis
 
Accelerating your Research with Microsoft Azure (June 2015)
Microsoft Azure for Research
 

What's hot (20)

PDF
Data-Driven Development Era and Its Technologies
SATOSHI TAGOMORI
 
PPTX
A4 r overview deck_1.7
Microsoft Azure for Research
 
PDF
Unifying Events and Logs into the Cloud
Eduardo Silva Pereira
 
PDF
Reproducible Research and the Cloud
Microsoft Azure for Research
 
PPTX
Use cases for cassandra in federal and state government
OpenSource Connections
 
PDF
Doing Research in the Cloud - NIH Workshop Dennis Gannon
Microsoft Azure for Research
 
PDF
Keynote IEEE International Workshop on Cloud Analytics. Dennis Gannon
Microsoft Azure for Research
 
PDF
Why Elastic? @ 50th Vinitaly 2016
Christoph Wurm
 
PDF
Data science apps: beyond notebooks
Natalino Busa
 
PPTX
Indexing big data in the cloud
OpenSource Connections
 
PDF
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Chris Schalk
 
PPTX
Augmenting Mongo DB with treasure data
Treasure Data, Inc.
 
PPTX
OSCON 2015
Charles Smith
 
PDF
Using Elastic to Monitor Everything - Christoph Wurm, Elastic - DevOpsDays Te...
DevOpsDays Tel Aviv
 
PDF
Making it easy to work with data
Charles Smith
 
PPTX
Microservices, Continuous Delivery, and Elasticsearch at Capital One
Noriaki Tatsumi
 
PDF
Treasure Data Mobile SDK
Treasure Data, Inc.
 
PDF
Druid meetup @ Netflix (11/14/2018 )
Jaebin Yoon
 
PDF
Building mobile apps with Realm for React Native
Kenneth Geisshirt
 
PDF
MongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB
 
Data-Driven Development Era and Its Technologies
SATOSHI TAGOMORI
 
A4 r overview deck_1.7
Microsoft Azure for Research
 
Unifying Events and Logs into the Cloud
Eduardo Silva Pereira
 
Reproducible Research and the Cloud
Microsoft Azure for Research
 
Use cases for cassandra in federal and state government
OpenSource Connections
 
Doing Research in the Cloud - NIH Workshop Dennis Gannon
Microsoft Azure for Research
 
Keynote IEEE International Workshop on Cloud Analytics. Dennis Gannon
Microsoft Azure for Research
 
Why Elastic? @ 50th Vinitaly 2016
Christoph Wurm
 
Data science apps: beyond notebooks
Natalino Busa
 
Indexing big data in the cloud
OpenSource Connections
 
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Chris Schalk
 
Augmenting Mongo DB with treasure data
Treasure Data, Inc.
 
OSCON 2015
Charles Smith
 
Using Elastic to Monitor Everything - Christoph Wurm, Elastic - DevOpsDays Te...
DevOpsDays Tel Aviv
 
Making it easy to work with data
Charles Smith
 
Microservices, Continuous Delivery, and Elasticsearch at Capital One
Noriaki Tatsumi
 
Treasure Data Mobile SDK
Treasure Data, Inc.
 
Druid meetup @ Netflix (11/14/2018 )
Jaebin Yoon
 
Building mobile apps with Realm for React Native
Kenneth Geisshirt
 
MongoDB World 2016: The Best IoT Analytics with MongoDB
MongoDB
 
Ad

Viewers also liked (16)

PDF
Clean Code Tutorial maXbox starter24
Max Kleiner
 
PDF
Arduino LED maXbox starter18_3
Max Kleiner
 
PDF
Maxbox starter
Max Kleiner
 
PDF
Maxbox starter19
Max Kleiner
 
PDF
TCP Sockets Tutor maXbox starter26
Max Kleiner
 
PDF
Use of an Oscilloscope - maXbox Starter33
Max Kleiner
 
PDF
Arduino training program
Max Kleiner
 
PDF
Ekon bestof rtl_delphi
Max Kleiner
 
PDF
maXbox Blix the Programmer
Max Kleiner
 
PDF
Arduino Teaching Program
Max Kleiner
 
PDF
maXbox starter 34 GPS Tutorial
Max Kleiner
 
PDF
Tutorial 37 API Coding
Max Kleiner
 
PDF
maXbox starter30 Web of Things
Max Kleiner
 
PDF
CODEsign 2015
Max Kleiner
 
PDF
A 3D printing programming API
Max Kleiner
 
PDF
Arduino C maXbox web of things slide show
Max Kleiner
 
Clean Code Tutorial maXbox starter24
Max Kleiner
 
Arduino LED maXbox starter18_3
Max Kleiner
 
Maxbox starter
Max Kleiner
 
Maxbox starter19
Max Kleiner
 
TCP Sockets Tutor maXbox starter26
Max Kleiner
 
Use of an Oscilloscope - maXbox Starter33
Max Kleiner
 
Arduino training program
Max Kleiner
 
Ekon bestof rtl_delphi
Max Kleiner
 
maXbox Blix the Programmer
Max Kleiner
 
Arduino Teaching Program
Max Kleiner
 
maXbox starter 34 GPS Tutorial
Max Kleiner
 
Tutorial 37 API Coding
Max Kleiner
 
maXbox starter30 Web of Things
Max Kleiner
 
CODEsign 2015
Max Kleiner
 
A 3D printing programming API
Max Kleiner
 
Arduino C maXbox web of things slide show
Max Kleiner
 
Ad

Similar to Web_of_Things_2013 (20)

PDF
The world is the computer and the programmer is you
Davide Carboni
 
PDF
OWF13 - Weio
Paris Open Source Summit
 
PDF
WeIO - Web of Things Platform - OpenWorldForum2013
Frechin Jean louis
 
PDF
Building a Scalable and Open World Wide Web of Things
Vlad Trifa
 
PDF
Building a Web of Things Talk at Lugano
Vlad Trifa
 
PDF
The case for a unified way of speaking to things
Red Hat
 
PDF
WeIO - Web of Things platform
Frechin Jean louis
 
PDF
Service Integration - A Web of Things Perspective
Simon Mayer
 
KEY
Get ready for web3.0! Open up your app!
David Coallier
 
PPTX
The Programmable Internet of Things
Rich Miller
 
PPTX
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
Weijun Qin
 
PDF
Reactive Java Robotics IoT - jPrime 2016
Trayan Iliev
 
ODP
IoT Mashup - Webinos iot-2013-07-23 Raggett
webinos project
 
PDF
Towards application development for the internet of things
Pankesh Patel
 
PDF
Best Practices for Design Hardware APIs
Matt Haines
 
PDF
Reactive robotics io_t_2017
Trayan Iliev
 
PDF
David Cuartielles and Tony Olsson - Going Physical (K3 research seminar)
K3Research
 
PPTX
IOT Unit 3 for engineering second year .pptx
neelamsanjeevkumar
 
PDF
SOFIA - A Smart-M3 lab course: approach and design style to support student p...
Sofia Eu
 
PDF
SRCenabling application development for the internet of things
IEI GSC
 
The world is the computer and the programmer is you
Davide Carboni
 
WeIO - Web of Things Platform - OpenWorldForum2013
Frechin Jean louis
 
Building a Scalable and Open World Wide Web of Things
Vlad Trifa
 
Building a Web of Things Talk at Lugano
Vlad Trifa
 
The case for a unified way of speaking to things
Red Hat
 
WeIO - Web of Things platform
Frechin Jean louis
 
Service Integration - A Web of Things Perspective
Simon Mayer
 
Get ready for web3.0! Open up your app!
David Coallier
 
The Programmable Internet of Things
Rich Miller
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
Weijun Qin
 
Reactive Java Robotics IoT - jPrime 2016
Trayan Iliev
 
IoT Mashup - Webinos iot-2013-07-23 Raggett
webinos project
 
Towards application development for the internet of things
Pankesh Patel
 
Best Practices for Design Hardware APIs
Matt Haines
 
Reactive robotics io_t_2017
Trayan Iliev
 
David Cuartielles and Tony Olsson - Going Physical (K3 research seminar)
K3Research
 
IOT Unit 3 for engineering second year .pptx
neelamsanjeevkumar
 
SOFIA - A Smart-M3 lab course: approach and design style to support student p...
Sofia Eu
 
SRCenabling application development for the internet of things
IEI GSC
 

More from Max Kleiner (20)

PDF
EKON28_ModernRegex_12_Regular_Expressions.pdf
Max Kleiner
 
PDF
EKON28_Maps_API_12_google_openstreetmaps.pdf
Max Kleiner
 
PDF
EKON26_VCL4Python.pdf
Max Kleiner
 
PDF
EKON26_Open_API_Develop2Cloud.pdf
Max Kleiner
 
PDF
maXbox_Starter91_SyntheticData_Implement
Max Kleiner
 
PDF
Ekon 25 Python4Delphi_MX475
Max Kleiner
 
PDF
EKON 25 Python4Delphi_mX4
Max Kleiner
 
PDF
maXbox Starter87
Max Kleiner
 
PDF
maXbox Starter78 PortablePixmap
Max Kleiner
 
PDF
maXbox starter75 object detection
Max Kleiner
 
PDF
BASTA 2020 VS Code Data Visualisation
Max Kleiner
 
PDF
EKON 24 ML_community_edition
Max Kleiner
 
PDF
maxbox starter72 multilanguage coding
Max Kleiner
 
PDF
EKON 23 Code_review_checklist
Max Kleiner
 
PDF
EKON 12 Running OpenLDAP
Max Kleiner
 
PDF
EKON 12 Closures Coding
Max Kleiner
 
PDF
NoGUI maXbox Starter70
Max Kleiner
 
PDF
maXbox starter69 Machine Learning VII
Max Kleiner
 
PDF
maXbox starter68 machine learning VI
Max Kleiner
 
PDF
maXbox starter67 machine learning V
Max Kleiner
 
EKON28_ModernRegex_12_Regular_Expressions.pdf
Max Kleiner
 
EKON28_Maps_API_12_google_openstreetmaps.pdf
Max Kleiner
 
EKON26_VCL4Python.pdf
Max Kleiner
 
EKON26_Open_API_Develop2Cloud.pdf
Max Kleiner
 
maXbox_Starter91_SyntheticData_Implement
Max Kleiner
 
Ekon 25 Python4Delphi_MX475
Max Kleiner
 
EKON 25 Python4Delphi_mX4
Max Kleiner
 
maXbox Starter87
Max Kleiner
 
maXbox Starter78 PortablePixmap
Max Kleiner
 
maXbox starter75 object detection
Max Kleiner
 
BASTA 2020 VS Code Data Visualisation
Max Kleiner
 
EKON 24 ML_community_edition
Max Kleiner
 
maxbox starter72 multilanguage coding
Max Kleiner
 
EKON 23 Code_review_checklist
Max Kleiner
 
EKON 12 Running OpenLDAP
Max Kleiner
 
EKON 12 Closures Coding
Max Kleiner
 
NoGUI maXbox Starter70
Max Kleiner
 
maXbox starter69 Machine Learning VII
Max Kleiner
 
maXbox starter68 machine learning VI
Max Kleiner
 
maXbox starter67 machine learning V
Max Kleiner
 

Recently uploaded (20)

PPTX
Strengthening open access through collaboration: building connections with OP...
Jisc
 
PDF
Electricity-Magnetic-and-Heating-Effects 4th Chapter/8th-science-curiosity.pd...
Sandeep Swamy
 
PDF
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
PPT
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PPTX
IMMUNIZATION PROGRAMME pptx
AneetaSharma15
 
PDF
Sunset Boulevard Student Revision Booklet
jpinnuck
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PDF
3.The-Rise-of-the-Marathas.pdfppt/pdf/8th class social science Exploring Soci...
Sandeep Swamy
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
Sourav Kr Podder
 
PDF
UTS Health Student Promotional Representative_Position Description.pdf
Faculty of Health, University of Technology Sydney
 
PPTX
PREVENTIVE PEDIATRIC. pptx
AneetaSharma15
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PDF
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
PDF
Types of Literary Text: Poetry and Prose
kaelandreabibit
 
PPTX
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
Strengthening open access through collaboration: building connections with OP...
Jisc
 
Electricity-Magnetic-and-Heating-Effects 4th Chapter/8th-science-curiosity.pd...
Sandeep Swamy
 
PG-BPSDMP 2 TAHUN 2025PG-BPSDMP 2 TAHUN 2025.pdf
AshifaRamadhani
 
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
IMMUNIZATION PROGRAMME pptx
AneetaSharma15
 
Sunset Boulevard Student Revision Booklet
jpinnuck
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
3.The-Rise-of-the-Marathas.pdfppt/pdf/8th class social science Exploring Soci...
Sandeep Swamy
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
Open Quiz Monsoon Mind Game Final Set.pptx
Sourav Kr Podder
 
UTS Health Student Promotional Representative_Position Description.pdf
Faculty of Health, University of Technology Sydney
 
PREVENTIVE PEDIATRIC. pptx
AneetaSharma15
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
The Picture of Dorian Gray summary and depiction
opaliyahemel
 
Types of Literary Text: Poetry and Prose
kaelandreabibit
 
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 

Web_of_Things_2013

  • 1. 1 Develop Web of Things Yes, we scan… http://en.wikipedia.org/wiki/Web_of_Things
  • 2. 2 Web of No Things Tricorder… not (A v B) = not A ^ not B push a Session or pull a Service ? Redundant DNA Helix Hertz App or DigiCam UseCase? Build Systems you can count on http://en.wikipedia.org/wiki/Anti-pattern http://en.wikipedia.org/wiki/Wireless_Sens or_Networks
  • 3. 3 Web of Words Fest codiert in der Erden Steht die App, aus Bits gebrannt. Heute muß die Software werden, Frisch, Entwickler! seid zur Hand. maXbox http://en.wikipedia.org/wiki/RFID Chess Roboter Topic – First Web of Things
  • 4. 4 Design & Runtime Technical Requirements User Requirements Q-Requirements Business Model Architectural Pattern Functional Pattern reference, links, esper Packages, Seq, IAD configuration Processing, Rules, GUI Settings, Objects, Options, Profiles Use Case, Activity WoT Code Layers Study, Concept event stream data layer monitoring source code annotations aspects, constraints DB, XML, properties literals, res, values Developer, Admin, User
  • 5. 5 How to start? Do you want to work with “things” that are under your direct control? Things: • Easy to use with a wide community support are Arduino, Raspberry and SunSpot. • Crossbow, Libellium, Sensinode, etc. are also possible solutions but may require more effort. • For very specific solutions you may need to go for hardware design.
  • 6. 6 Programming the Things • Complex and time consuming process • tool chain: IDE, compiler, debugger • microcontroller is programmed and executes the code, radio chip is not programmed but controlled by microcontroller, usually via SPI (Serial Peripheral Interface Bus) which sets/reads registers • compiled code is loaded to the microcontroller using bootloader or JTAG (Joint Test Action Group) • protocol stack may be precompiled and available through API or available as library, operating system (not needed for simple tasks), virtual machine (optional) • http://www.mikrocontroller.net/articles/JTAG
  • 7. 7 Decison Process • Before starting, the following questions should be answered: • What is the scope or application? • •Monitoring measurements? • What is the scenario Use Case? • •A thing with embedded web service? • •A set of things connected through a gateway? • What programming language or IDE? • •Options: C, Pascal, Java, C#, Processing, ADT • What is the publishing infrastructure? • •None, custom, third party.
  • 8. 8 Stream Thinking • procedure letStreamDataWork; • var biglist: TStringList; • begin • biglist:= TStringlist.create; • memo2.setfocus; • repeat • biglist.add('Value for mem[%d] enter : ' • +inttoStr(RandomRange(500,100000000))); • biglist.add(getbigPI+getbigPI+getbigPI+getbigPI) • with TJvMemoryInfos.Create(self) do begin • writeln('Available Mem: '+FreeMemory); • Free; • end; • until isKeypressed; • writeln('elements of biglist '+intToStr(biglist.count)) • writeln('capacity of biglist '+intToStr(biglist.capacity)) • biglist.Free; //destruct • end;
  • 9. 9 About Rules • CA1303: Do not pass literals as localized parameters • public void TimeMethod(int hour, int minute) { if (hour < 0 || hour > 23) { MessageBox.Show( "The valid range is 0 - 23."); //CA1303 fires because the parameter for method Show is Text } • CA1302: Do not hardcode locale specific strings • static void Main() { string string0 = "C:"; • PMD: Avoid duplicate literals (string or numeric)
  • 10. 10 Timeline - Lord of the Things • Description and Technologies • Web 1.0 Static HTML pages (web as we first learned it) HTML, HTTP • Web 1.5 Dynamic HTML content (web as we know it) Client side (JavaScript, DHTML, Flash, …), server side (CGI, PHP, Perl, ASP/.NET, JSP, …) • Web 2.0 Participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web (web of people) weblogs, social bookmarking, social tagging, wikis, podcasts, RSS feeds, many-to-many publishing, web services, … URI, XML, RDF, OWL, SparQL, … • Web 3.0 …definitions vary a lot – from Full Semantic Web to AI • (web as we would need it) http://en.wikipedia.org/wiki/Web_3.0#Web_3.0 • • Web of Things Everyday devices and objects are connected by fully integrating them to the Web. (web as we would like it) Well-accepted and understood standards and blueprints (such as URI, HTTP, REST, Atom, etc.) http://en.wikipedia.org/wiki/Web_of_Things • Singularity Web of Rings (Thanks to Kurzweil)
  • 11. 11 Timeline II •A Short History of Time • 1991 Application Program • 1995 Application • 1998 Applet • 2010 App • 2015 A (Android, Arduino, Apache, ARM)
  • 12. 12 WoT Use Case Motivated by an increased interest of physical computing and embedded in automatic management of large systems • •Power grids • •Transport systems • •Water distribution • •Logistics • •Industrial automation, 3D-Printer • •Health, example Schiller Poster • •Environmental intelligence • •Academic, example maXbox • •Distributed sensing infrastructure
  • 13. 13 Web of Things Environment “Apps and Services glue with Things”. DeviceDevice ToolTool AppApp FrameworkFramework Processing Processing ArchitecturArchitectur LibLib DataData CodeCode Glue Glue Com Com
  • 17. 17 Solution http://www.softwareschule.ch/examples/305_webserver_arduino3.txt 76 with HTTPServer do begin 77 if Active then Free; 78 if not Active then begin 79 bindings.Clear; 80 bindings.Add; 81 bindings.items[0].Port:= APORT; 82 bindings.items[0].IP:= IPADDR; //'127.0.0.1'; 83 Active:= true; 84 onCommandGet:= @HTTPServerGet; 85 PrintF('Listening HTTP on %s:%d.', [Bindings[0].IP,Bindings[0].Port]); 86 end;
  • 18. 18 Solution 361_heartbeat_wave.txt http://en.wikipedia.org/wiki/Household_appliances 54 if uppercase(localcom) = uppercase('/LED') then begin 55 cPort.WriteStr('1') 56 writeln(localcom+ ': LED on'); 57 RespInfo.ContentText:= getHTMLContentString('LED is: ON'); 58 end else 59 if uppercase(localcom) = uppercase('/DEL') then begin 60 cPort.WriteStr('A'); 61 writeln(localcom+ ': LED off'); 62 RespInfo.ContentText:= getHTMLContentString('LED is: OFF') 63 end;
  • 19. 19 Solution Tutorial: http://www.softwareschule.ch/download/maxbox_starter18.pdf void setup() { // initialize digital pin as an output. pinMode(ledPin11, OUTPUT); Serial.begin(9600); void loop () { val = Serial.read(); //read serial port if (val !=-1){ if (val=='1'){ digitalWrite(ledPin1,HIGH); } else if (val=='A'){ digitalWrite(ledPin1,LOW); }
  • 20. 20 The End is Flexibility Personal Dependency Inversion – Programming for Change
  • 21. 21 Thanks! Links to Rights the source is the code http://www.softwareschule.ch/maxbox.htm http://sourceforge.net/projects/maxbox http://sourceforge.net/apps/mediawiki/maxbox/ http://en.wikipedia.org/wiki/Arduino http://www.softwareschule.ch/download/webofthings2013.pdf HTTP://SENSORLAB.IJS.SI http://carolinafortuna.com/web-of-things-tutorial/