SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Making your Washing
Machine Talk with a
Power Plant
@matteocollina
What was the greatest
invention of the Industrial
Revolution?
Washing	

Machines

http://www.flickr.com/photos/gnarlsmonkey/260809150
•

We all need laundry	


•

10% jobs destroyed	


•

Women were freed from
their laundry, and can now
have a job	


•

Watch this awesome TED
talk by Hans Rosling.
What form of energy	

would you choose?

http://www.flickr.com/photos/jalte/1687116108
http://www.flickr.com/photos/mikeweston/1462086624

http://www.flickr.com/photos/tommy-ironic/3437613067
Would you postpone your	

laundry to use a different energy source?

http://500px.com/photo/47496528
How
Let’s connect all the things!
Pidgeons are not a
communication
protocol

See RFC1149

http://500px.com/photo/32895129
A new communication
paradigm

???
Pop-up Dialog

This message come
from the thing!

Cancel

OK

We code a program that
reacts to real-world events
A new communication
paradigm

???
Pop-up Dialog

This message come
from the thing!

Cancel

We want to receive	

live data from the things
OK
A new communication
paradigm
Publi
sh
???
Pop-up Dialog

ish
bl

This message come
from the thing!

Cancel

Pu

OK

!

How can we know 	

which user should be notified?
A new communication
paradigm

Subsc

Tap

ribe

Publish
???
Pop-up Dialog

ish
bl

This message come
from the thing!

Cancel

Pu
OK
Problems
1. Application Protocols	

Developing IoT
applications is hard for
the developer. Why?

2. Data Formats	

3. Device Identification
and Privacy
Problems

Application Open Protocols
Pattern

Live Updates

Format

Transport

HTTP

REST

with custom protocol
over Websocket

textual with
binary support

TCP

CoAP

REST

with observe spec

binary

UDP

MQTT

Pub/Sub

Yes

binary

TCP
.ORG

CoAP

•

Developed by IBM, in
standardization at OASIS	


•

In standardization by the IETF
as Constrained Application
Protocol (CoAP)	

Optional confirmable messages	


•

Various levels of QoS 0, 1, 2	


•

•

Offline support	


•

Partial offline support through
a proxy	


•

Retained Messages

•

Multicast support
.ORG

Client/Server Architecture

CoAP

P2P Architecture
Problems

Data Formats
Encdoding

Tipology

XML

textual

Tree-Based, values as strings

EXI

binary

Tree-Based, different data types

N3/RDF

textual

Graph-Based, values as strings

JSON

textual

Object-Oriented, values as strings

MsgPack

binary

Object-Oriented, different data types

ProtoBuf

binary

Object-Oriented, different data types

Bysant

binary

Object-Oriented, different data types

BSON

binary

Object-Oriented, different data types
Problems

Device Identification & Privacy
•

What devices can a user monitor?	


•

What devices can 'listen' to the state of other devices?	


•

Who can access the devices state?	


•

Is the communication secure?
http://eclipse.org/ponte
We want to bring
developers to the
(real) world.

http://500px.com/photo/26425201
API
http(s)://<your ponte>/resources/<your thing>
!

coap://<your ponte>/r/<your thing>
!

mqtt(s)://<your ponte>/<your thing>

Use retained messages in MQTT
Internals
1. key-value store for latest data lookup	

2. publish-subscribe with wildcards	

3. storing and forwarding offline updates
Data Formats
•

How?

Binary 	


•

Textual	


•

Semantic

Automatic
conversion 	

with semantic
One format to rule them all
JSON-LD
•

Full support for RDF and graph data	


•

Developer friendly	


•

Convertible to XML, MsgPack, Bysant, BSON.	


•

schema.org initiative for the IoT?
ponte’s pillars
•
• Ascoltatori, the pub/sub library for node
backed by every broker out there! npm.im/
ascoltatori	

• Mosca, the multi-transport MQTT broker for
node.js. npm.im/mosca	

• MQTT.js, the MQTT library for node:
npm.im/mqtt	

• Node-CoAP, the CoAP library for node:
npm.im/coap
6000
4000

5000

CoAP.to.MQTT
HTTP.to.MQTT
MQTT.to.MQTT
Mosquitto

3000

milliseconds

4000
3000

0

1000

2000
1000
0

milliseconds

5000

CoAP.to.CoAP
HTTP.to.CoAP
MQTT.to.CoAP

2000

6000

One to 10k clients

0

2000

4000

6000

clients

8000

10000

0

2000

4000

6000

clients

8000

10000
10k clients to One

10000

15000

CoAP.to.MQTT
HTTP.to.MQTT
MQTT.to.MQTT
Mosquitto

0

5000

milliseconds

10000
5000
0

milliseconds

15000

CoAP.to.CoAP
HTTP.to.CoAP
MQTT.to.CoAP

0

2000

4000

6000

messages

8000

10000

0

2000

4000

6000

messages

8000

10000
Todo List
•

Develop a multiprocol broker
and bridge	


•

Official Eclipse Release	


•

JSON-LD based data format	


•

Device Identification & Privacy
DEMO!

http://www.flickr.com/photos/oneaustin/1261907803
http://eclipse.org/ponte
Install it:	

!

$ npm install ponte bunyan -g
Run it:	

!

$ ponte -v | bunyan
…but why?
IoT development
happens in silos

http://www.flickr.com/photos/10775233@N00/4370646/
Build a Ponte between them!
(Ponte means Bridge in Italian :))

http://500px.com/photo/31083423
Making your washing machine talk with a power plant
Making your washing machine talk with a power plant
Making your washing machine talk with a power plant

Weitere ähnliche Inhalte

Was ist angesagt?

Dependencias linux rpm
Dependencias linux rpmDependencias linux rpm
Dependencias linux rpm
James Jara
 

Was ist angesagt? (9)

Immersive realities to the web
Immersive realities to the webImmersive realities to the web
Immersive realities to the web
 
Build an App with JavaScript and jQuery (DTLA, 06/21)
Build an App with JavaScript and jQuery (DTLA, 06/21)Build an App with JavaScript and jQuery (DTLA, 06/21)
Build an App with JavaScript and jQuery (DTLA, 06/21)
 
Dependencias linux rpm
Dependencias linux rpmDependencias linux rpm
Dependencias linux rpm
 
Cloud Native Progressive Web Applications - Denver JUG 2016
Cloud Native Progressive Web Applications - Denver JUG 2016Cloud Native Progressive Web Applications - Denver JUG 2016
Cloud Native Progressive Web Applications - Denver JUG 2016
 
Build Nodejs APIs using Serverless
Build Nodejs APIs using ServerlessBuild Nodejs APIs using Serverless
Build Nodejs APIs using Serverless
 
RiotJS - an overview
RiotJS - an overview RiotJS - an overview
RiotJS - an overview
 
Common mistake in nodejs
Common mistake in nodejsCommon mistake in nodejs
Common mistake in nodejs
 
Single page apps and the web of tomorrow
Single page apps and the web of tomorrowSingle page apps and the web of tomorrow
Single page apps and the web of tomorrow
 
Build an App with JavaScript and jQuery - LA - July 18 Pasadena
Build an App with JavaScript and jQuery - LA - July 18 PasadenaBuild an App with JavaScript and jQuery - LA - July 18 Pasadena
Build an App with JavaScript and jQuery - LA - July 18 Pasadena
 

Andere mochten auch

The internet of things - Rails Girls Galway
The internet of things - Rails Girls GalwayThe internet of things - Rails Girls Galway
The internet of things - Rails Girls Galway
Matteo Collina
 
Operational transformation
Operational transformationOperational transformation
Operational transformation
Matteo Collina
 
E così vuoi sviluppare un'app (ci servono le APi!)
E così vuoi sviluppare un'app (ci servono le APi!)E così vuoi sviluppare un'app (ci servono le APi!)
E così vuoi sviluppare un'app (ci servono le APi!)
Matteo Collina
 
Enter the app era with ruby on rails
Enter the app era with ruby on railsEnter the app era with ruby on rails
Enter the app era with ruby on rails
Matteo Collina
 
Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)
Matteo Collina
 
The usability of open data
The usability of open dataThe usability of open data
The usability of open data
Matteo Collina
 
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Matteo Collina
 
Mobile benchmarking-and-profiling
Mobile benchmarking-and-profilingMobile benchmarking-and-profiling
Mobile benchmarking-and-profiling
Giorgio Natili
 

Andere mochten auch (20)

No. la sottile arte di trovare il tempo dove non esite - codemotion 2015
No. la sottile arte di trovare il tempo dove non esite - codemotion 2015No. la sottile arte di trovare il tempo dove non esite - codemotion 2015
No. la sottile arte di trovare il tempo dove non esite - codemotion 2015
 
The internet of things - Rails Girls Galway
The internet of things - Rails Girls GalwayThe internet of things - Rails Girls Galway
The internet of things - Rails Girls Galway
 
Building a multi protocol broker for the internet of things using nodejs
Building a multi protocol broker for the internet of things using nodejsBuilding a multi protocol broker for the internet of things using nodejs
Building a multi protocol broker for the internet of things using nodejs
 
Operational transformation
Operational transformationOperational transformation
Operational transformation
 
How to build own IoT Platform
How to build own IoT PlatformHow to build own IoT Platform
How to build own IoT Platform
 
Star Guide Delivery Performance (2.2)
Star Guide Delivery Performance (2.2)Star Guide Delivery Performance (2.2)
Star Guide Delivery Performance (2.2)
 
E così vuoi sviluppare un'app (ci servono le APi!)
E così vuoi sviluppare un'app (ci servono le APi!)E così vuoi sviluppare un'app (ci servono le APi!)
E così vuoi sviluppare un'app (ci servono le APi!)
 
Crea il TUO database con LevelDB e Node.js
Crea il TUO database con LevelDB e Node.jsCrea il TUO database con LevelDB e Node.js
Crea il TUO database con LevelDB e Node.js
 
Enter the app era with ruby on rails
Enter the app era with ruby on railsEnter the app era with ruby on rails
Enter the app era with ruby on rails
 
CI-18n
CI-18nCI-18n
CI-18n
 
No. la sottile arte di trovare il tempo dove non esite.
No. la sottile arte di trovare il tempo dove non esite.No. la sottile arte di trovare il tempo dove non esite.
No. la sottile arte di trovare il tempo dove non esite.
 
E così vuoi sviluppare un'app
E così vuoi sviluppare un'appE così vuoi sviluppare un'app
E così vuoi sviluppare un'app
 
Making things that works with us codemotion
Making things that works with us   codemotionMaking things that works with us   codemotion
Making things that works with us codemotion
 
Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)
 
The usability of open data
The usability of open dataThe usability of open data
The usability of open data
 
Making things that works with us
Making things that works with usMaking things that works with us
Making things that works with us
 
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...Designing and developing mobile web applications with Mockup, Sencha Touch an...
Designing and developing mobile web applications with Mockup, Sencha Touch an...
 
The Little Shop of TDD Horrors
The Little Shop of TDD HorrorsThe Little Shop of TDD Horrors
The Little Shop of TDD Horrors
 
I beacon mobile_tea
I beacon mobile_teaI beacon mobile_tea
I beacon mobile_tea
 
Mobile benchmarking-and-profiling
Mobile benchmarking-and-profilingMobile benchmarking-and-profiling
Mobile benchmarking-and-profiling
 

Ähnlich wie Making your washing machine talk with a power plant

Semantic Web: In Quest for the Next Generation Killer Apps
Semantic Web: In Quest for the Next Generation Killer AppsSemantic Web: In Quest for the Next Generation Killer Apps
Semantic Web: In Quest for the Next Generation Killer Apps
Jie Bao
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
Simen Sommerfeldt
 
Tingenes internett for finn.no tech day
Tingenes internett for finn.no tech day Tingenes internett for finn.no tech day
Tingenes internett for finn.no tech day
Simen Sommerfeldt
 
iMinds The Conference: Danny Hughes
iMinds The Conference: Danny HughesiMinds The Conference: Danny Hughes
iMinds The Conference: Danny Hughes
imec
 

Ähnlich wie Making your washing machine talk with a power plant (20)

IoT overview 2014
IoT overview 2014IoT overview 2014
IoT overview 2014
 
Semantic Web: In Quest for the Next Generation Killer Apps
Semantic Web: In Quest for the Next Generation Killer AppsSemantic Web: In Quest for the Next Generation Killer Apps
Semantic Web: In Quest for the Next Generation Killer Apps
 
Going Cloud Native with Cloud Foundry
Going Cloud Native with Cloud FoundryGoing Cloud Native with Cloud Foundry
Going Cloud Native with Cloud Foundry
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
 
Web 2.0 EOS
Web 2.0 EOSWeb 2.0 EOS
Web 2.0 EOS
 
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
 
My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things
My Minecraft-Smart-Home: Prototyping the Internet of Uncanny ThingsMy Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things
My Minecraft-Smart-Home: Prototyping the Internet of Uncanny Things
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
Microservices for the Masses with Spring Boot and JHipster - Chicago JUG 2018
 
Tingenes internett for finn.no tech day
Tingenes internett for finn.no tech day Tingenes internett for finn.no tech day
Tingenes internett for finn.no tech day
 
Project Report on Smart Dustbin
Project Report on Smart Dustbin Project Report on Smart Dustbin
Project Report on Smart Dustbin
 
Some thoughts on IoT, HKNOG 4.0
Some thoughts on IoT, HKNOG 4.0Some thoughts on IoT, HKNOG 4.0
Some thoughts on IoT, HKNOG 4.0
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
How to build a Distributed Serverless Polyglot Microservices IoT Platform us...
 
Python PPT
Python PPTPython PPT
Python PPT
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data Analytics
 
AdhearsionConf 2013 Keynote
AdhearsionConf 2013 KeynoteAdhearsionConf 2013 Keynote
AdhearsionConf 2013 Keynote
 
Short on cycles, long on storage
Short on cycles, long on storageShort on cycles, long on storage
Short on cycles, long on storage
 
iMinds The Conference: Danny Hughes
iMinds The Conference: Danny HughesiMinds The Conference: Danny Hughes
iMinds The Conference: Danny Hughes
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Making your washing machine talk with a power plant