Exposing M2M to the REST of us
Upcoming SlideShare
Loading in...5

Exposing M2M to the REST of 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 ...

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.



Total Views
Views on SlideShare
Embed Views



27 Embeds 6,060

http://eclipse.org 3106
http://www.matteocollina.com 2489
http://www.eclipse.org 229
https://twitter.com 88
http://adieu30s.tistory.com 34
http://www.linkedin.com 20
http://www.collina.me 19
http://www.google.com 16
http://hi-tech.leonardo.it 11
http://mbedlab.tistory.com 9
http://wiznxt.tistory.com 8
http://testing.ifontys.nl 6
https://www.google.co.jp 4
http://translate.googleusercontent.com 4
https://www.linkedin.com 4
http://www.pulse.me 2
http://techcafe.tistory.com 1
http://www.google.it 1
http://www.google.fr 1
http://www.google.com.vn 1
https://www.google.fr 1
http://plus.url.google.com 1
http://localhost 1
http://pulse.me&_=1370866557522 HTTP 1
http://kred.com 1
http://www.onlydoo.com 1
http://bthinkr.tistory.com 1



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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • LOL RFC 1149... the april fools joke which just keeps giving
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Exposing M2M to the REST of us Exposing M2M to the REST of us Presentation Transcript

  • Exposing M2Mto the REST of us@matteocollina
  • Matteo CollinaPh.D. Student @University of Bologna@matteocollina matteocollina.com
  • http://500px.com/photo/20389019We are #coders
  • http://500px.com/photo/32597639We are no Jedi
  • http://500px.com/photo/20388963We #codeapps
  • Did you seeit cominghttp://www.flickr.com/photos/12738000@N00/360231193/
  • Stevedid.http://www.flickr.com/photos/noppyfoto/6216399465/
  • Thanks.http://www.flickr.com/photos/noppyfoto/6216399465/
  • They didn’t!...
  • We don’t#code forthis phoneanymore!
  • 7:11 PMiPadHow do we #code an App?
  • 7:11 PMiPadWe #code a response tosome kind of user action
  • Pop-up DialogOKThis message comefrom the server!CancelWeb ServerTapWe #code a remoteweb server
  • Web and Mobileapps are based onHTTPREST
  • REpresentationalState Tranfer = REST
  • http://500px.com/photo/20591939Things aredifferent
  • http://500px.com/photo/4766384In the future, this chainwill be connected tothe Internet
  • http://500px.com/photo/26425201We want to #codethe (real) world.
  • Arduino is an opensource microcontrollerthat you can use to hackthingshttp://www.flickr.com/photos/mattrichardson/5029708468/
  • The Internet isour pillar 
  • http://500px.com/photo/20050837we want to monitor theseating of this room?What if
  • http://500px.com/photo/20050837we measure people’semotions?Can
  • When you sit,we can receivean event
  • The world isevent based!
  • Our controlroom is in theCloud 
  • How can we make Things talk?http://www.flickr.com/photos/iboy_daniel/77412822/in/photostream/
  • Pidgeons are not acommunicationprotocolSee RFC1149 http://500px.com/photo/32895129
  • http://www.flickr.com/photos/clearlyambiguous/48185613/HTTP is slow and safe
  • We need afast, binaryprotocolhttp://www.flickr.com/photos/grrphoto/305649629
  • • Binary• Publish/Subscribe• Free• Standard (in a few months)
  • How to useon
  • Download PubSubClient,the library for
  • on Arduino: SetupString server = String("qest.me");PubSubClient client =PubSubClient(server,1883,callback);
  • if (!client.connected()) {client.connect("arduino");}client.loop();char s[10];itoa(get_temperature(), s, 10);client.publish("temp", s);on Arduino: publishing
  • 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
  • Your app cannot serve twomasters.http://500px.com/photo/35382862
  • QESTA MQTT/REST bridgeqest.me
  • • MQTT broker• REST interface• can be deployed ontop of very pub/subsystems• built in node.jsQESTREST ServerRedisMQTT ServerQESTData LayerHTTP Clients MQTT Clients
  • • 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
  • Strings are themost commondata format.http://500px.com/photo/28990737
  • Not thesestrings.http://500px.com/photo/28990737
  • Strings are notthe better wayof sending dataWhat else
  • There are LOTsof choices• JSON• MessagePack• BSON• Bysant• ProtobufSize mattersif we pay forevery bytesent!
  • There are LOTsof choices
  • There are LOTsof choicesDevelopers think in Listsand Maps, not in nodesand children.XML will not play a majorrole in the Internet ofThings
  • • 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
  • We need tointerconnect UsersSocial profiles tothe Devices!
  • http://500px.com/photo/31083423We need a Bridge betweenthe REST and the“Things” world
  • http://500px.com/photo/31083423• Multiple communicationprotocols• Data representation• Security and provisioningWe need to address:From an end-userperspective
  • (bridge in Italian)
  • http://eclipse.org/proposals/technology.ponte/
  • The initial contribution is QEST
  • will play well with the others
  • http://www.flickr.com/photos/oneaustin/1261907803DEMO!
  • http://500px.com/photo/26425201Ruby on Railshas drasticallychanged howweb apps arebuiltA 10-minutes blog videochanged everything
  • http://500px.com/photo/26425201We aim to aRails-likeexperience forthe IoTOur goal is to deliver a10-minutes M2M app video
  • Credits• Font Awesome for theIcons.• Flickr and 500px for LOTSof CC images :).• Keynotopia for the iPadmockups
  • Matteo Collina (matteo.collina2@unibo.it)Thank You!@matteocollinahttp://www.flickr.com/photos/axel-d/479627824/
  • http://500px.com/photo/31083423Bridging two worldshttp://eclipse.org/proposals/technology.ponte/