Your SlideShare is downloading. ×
Exposing M2M to the REST of us
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Exposing M2M to the REST of us

11,774

Published on

In the ”Internet of Things” (IoT) vision the physical world blends with virtual one, while machine-to-machine interaction improve our daily life. Clearly, how these virtual objects are exposed to us …

In the ”Internet of Things” (IoT) vision the physical world blends with virtual one, while machine-to-machine interaction improve our daily life. Clearly, how these virtual objects are exposed to us is critical, so that their user interface must be designed to support the easiness of usage that is driven by the users’ needs, which is different from what machines requires. These two requirements must be solved, and an integrated solution should emerge, if we want to bring the IoT to the 50 billions network that is predicted to became in the next years.

Published in: Technology
1 Comment
22 Likes
Statistics
Notes
  • LOL RFC 1149... the april fools joke which just keeps giving
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
11,774
On Slideshare
0
From Embeds
0
Number of Embeds
32
Actions
Shares
0
Downloads
122
Comments
1
Likes
22
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Exposing M2Mto the REST of us@matteocollina
  • 2. Matteo CollinaPh.D. Student @University of Bologna@matteocollina matteocollina.com
  • 3. http://500px.com/photo/20389019We are #coders
  • 4. http://500px.com/photo/32597639We are no Jedi
  • 5. http://500px.com/photo/20388963We #codeapps
  • 6. Did you seeit cominghttp://www.flickr.com/photos/12738000@N00/360231193/
  • 7. Stevedid.http://www.flickr.com/photos/noppyfoto/6216399465/
  • 8. Thanks.http://www.flickr.com/photos/noppyfoto/6216399465/
  • 9. They didn’t!...
  • 10. We don’t#code forthis phoneanymore!
  • 11. 7:11 PMiPadHow do we #code an App?
  • 12. 7:11 PMiPadWe #code a response tosome kind of user action
  • 13. Pop-up DialogOKThis message comefrom the server!CancelWeb ServerTapWe #code a remoteweb server
  • 14. Web and Mobileapps are based onHTTPREST
  • 15. REpresentationalState Tranfer = REST
  • 16. http://500px.com/photo/20591939Things aredifferent
  • 17. http://500px.com/photo/4766384In the future, this chainwill be connected tothe Internet
  • 18. http://500px.com/photo/26425201We want to #codethe (real) world.
  • 19. Arduino is an opensource microcontrollerthat you can use to hackthingshttp://www.flickr.com/photos/mattrichardson/5029708468/
  • 20. The Internet isour pillar 
  • 21. http://500px.com/photo/20050837we want to monitor theseating of this room?What if
  • 22. http://500px.com/photo/20050837we measure people’semotions?Can
  • 23. When you sit,we can receivean event
  • 24. The world isevent based!
  • 25. Our controlroom is in theCloud 
  • 26. How can we make Things talk?http://www.flickr.com/photos/iboy_daniel/77412822/in/photostream/
  • 27. Pidgeons are not acommunicationprotocolSee RFC1149 http://500px.com/photo/32895129
  • 28. http://www.flickr.com/photos/clearlyambiguous/48185613/HTTP is slow and safe
  • 29. We need afast, binaryprotocolhttp://www.flickr.com/photos/grrphoto/305649629
  • 30. • Binary• Publish/Subscribe• Free• Standard (in a few months)
  • 31. How to useon
  • 32. Download PubSubClient,the library for
  • 33. on Arduino: SetupString server = String("qest.me");PubSubClient client =PubSubClient(server,1883,callback);
  • 34. if (!client.connected()) {client.connect("arduino");}client.loop();char s[10];itoa(get_temperature(), s, 10);client.publish("temp", s);on Arduino: publishing
  • 35. if (!client.connected()) {client.connect("arduino");}client.loop();char s[10];itoa(get_temperature(), s, 10);client.publish("temp", s);This is called a topic,and it is where we publishdata on MQTT.on Arduino: publishing
  • 36. Your app cannot serve twomasters.http://500px.com/photo/35382862
  • 37. QESTA MQTT/REST bridgeqest.me
  • 38. • MQTT broker• REST interface• can be deployed ontop of very pub/subsystems• built in node.jsQESTREST ServerRedisMQTT ServerQESTData LayerHTTP Clients MQTT Clients
  • 39. • Ascoltatori: the pub/sub library for node backed byRedis, MongoDB,AMQP (RabbitMQ), ZeroMQ, MQTT(Mosquitto) or just plain node: https://github.com/mcollina/ascoltatori• Mosca, the multi-transport MQTT broker for node.js.It supports AMQP, Redis, ZeroMQ or just MQTT:https://github.com/mcollina/mosca• MQTT.js, the MQTT library for node: https://github.com/adamvr/MQTT.jsQEST’s pillars
  • 40. Strings are themost commondata format.http://500px.com/photo/28990737
  • 41. Not thesestrings.http://500px.com/photo/28990737
  • 42. Strings are notthe better wayof sending dataWhat else
  • 43. There are LOTsof choices• JSON• MessagePack• BSON• Bysant• ProtobufSize mattersif we pay forevery bytesent!
  • 44. There are LOTsof choices
  • 45. There are LOTsof choicesDevelopers think in Listsand Maps, not in nodesand children.XML will not play a majorrole in the Internet ofThings
  • 46. • What devices can a user monitor?• What devices can listen to the state ofother devices?• Who can access the devices state?• Is the communication secure?Security Issues
  • 47. We need tointerconnect UsersSocial profiles tothe Devices!
  • 48. http://500px.com/photo/31083423We need a Bridge betweenthe REST and the“Things” world
  • 49. http://500px.com/photo/31083423• Multiple communicationprotocols• Data representation• Security and provisioningWe need to address:From an end-userperspective
  • 50. (bridge in Italian)
  • 51. http://eclipse.org/proposals/technology.ponte/
  • 52. The initial contribution is QEST
  • 53. will play well with the others
  • 54. http://www.flickr.com/photos/oneaustin/1261907803DEMO!
  • 55. http://500px.com/photo/26425201Ruby on Railshas drasticallychanged howweb apps arebuiltA 10-minutes blog videochanged everything
  • 56. http://500px.com/photo/26425201We aim to aRails-likeexperience forthe IoTOur goal is to deliver a10-minutes M2M app video
  • 57. Credits• Font Awesome for theIcons.• Flickr and 500px for LOTSof CC images :).• Keynotopia for the iPadmockups
  • 58. Matteo Collina (matteo.collina2@unibo.it)Thank You!@matteocollinahttp://www.flickr.com/photos/axel-d/479627824/
  • 59. http://500px.com/photo/31083423Bridging two worldshttp://eclipse.org/proposals/technology.ponte/

×