Making your washing machine talk with a power plant
Upcoming SlideShare
Loading in...5
×
 

Making your washing machine talk with a power plant

on

  • 5,575 views

 

Statistics

Views

Total Views
5,575
Views on SlideShare
1,824
Embed Views
3,751

Actions

Likes
7
Downloads
33
Comments
0

10 Embeds 3,751

http://www.matteocollina.com 2824
http://localhost 640
http://192.168.1.184 207
http://fiocco.matteocollina.com 35
https://twitter.com 18
http://www.collina.me 15
http://192.168.59.103 6
http://www.linkedin.com 4
http://www.google.fr 1
http://www.google.it 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Making your washing machine talk with a power plant Making your washing machine talk with a power plant Presentation Transcript

  • 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