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


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
  • LOL RFC 1149... the april fools joke which just keeps giving
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Exposing M2Mto the REST of us@matteocollina
  • 2. Matteo CollinaPh.D. Student @University of Bologna@matteocollina
  • 3. are #coders
  • 4. are no Jedi
  • 5. #codeapps
  • 6. Did you seeit coming
  • 7. Stevedid.
  • 8. Thanks.
  • 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. aredifferent
  • 17. the future, this chainwill be connected tothe Internet
  • 18. want to #codethe (real) world.
  • 19. Arduino is an opensource microcontrollerthat you can use to hackthings
  • 20. The Internet isour pillar 
  • 21. want to monitor theseating of this room?What if
  • 22. 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?
  • 27. Pidgeons are not acommunicationprotocolSee RFC1149
  • 28. is slow and safe
  • 29. We need afast, binaryprotocol
  • 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("");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.
  • 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:• Mosca, the multi-transport MQTT broker for node.js.It supports AMQP, Redis, ZeroMQ or just MQTT:• MQTT.js, the MQTT library for node:’s pillars
  • 40. Strings are themost commondata format.
  • 41. Not thesestrings.
  • 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. need a Bridge betweenthe REST and the“Things” world
  • 49.• Multiple communicationprotocols• Data representation• Security and provisioningWe need to address:From an end-userperspective
  • 50. (bridge in Italian)
  • 51.
  • 52. The initial contribution is QEST
  • 53. will play well with the others
  • 54.!
  • 55. on Railshas drasticallychanged howweb apps arebuiltA 10-minutes blog videochanged everything
  • 56. 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 ( You!@matteocollina
  • 59. two worlds