SlideShare a Scribd company logo
Exposing M2M
to the REST of us
@matteocollina
Matteo Collina
Ph.D. Student @
University of Bologna
@matteocollina matteocollina.com
http://500px.com/photo/20389019
We are #coders
http://500px.com/photo/32597639
We are no Jedi
http://500px.com/photo/20388963
We #code
apps
Did you see
it coming
http://www.flickr.com/photos/12738000@N00/360231193/
Steve
did.
http://www.flickr.com/photos/noppyfoto/6216399465/
Thanks.
http://www.flickr.com/photos/noppyfoto/6216399465/
They didn’t!
...
We don’t
#code for
this phone
anymore!
7:11 PMiPad
How do we #code an App?
7:11 PMiPad
We #code a response to
some kind of user action
Pop-up Dialog
OK
This message come
from the server!
Cancel
Web ServerTap
We #code a remote
web server
Web and Mobile
apps are based on
HTTP
REST
REpresentational
State Tranfer = REST
http://500px.com/photo/20591939
Things are
different
http://500px.com/photo/4766384
In the future, this chain
will be connected to
the Internet
http://500px.com/photo/26425201
We want to #code
the (real) world.
Arduino is an open
source microcontroller
that you can use to hack
things
http://www.flickr.com/photos/mattrichardson/5029708468/
The Internet is
our pillar 
http://500px.com/photo/20050837
we want to monitor the
seating of this room?
What if
http://500px.com/photo/20050837
we measure people’s
emotions?
Can
When you sit,
we can receive
an event
The world is
event based!
Our control
room is in the
Cloud 
How can we make Things talk?
http://www.flickr.com/photos/iboy_daniel/77412822/in/photostream/
Pidgeons are not a
communication
protocol
See RFC1149 http://500px.com/photo/32895129
http://www.flickr.com/photos/clearlyambiguous/48185613/
HTTP is slow and safe
We need a
fast, binary
protocol
http://www.flickr.com/photos/grrphoto/305649629
Exposing M2M to the REST of us
• Binary
• Publish/Subscribe
• Free
• Standard (in a few months)
How to use
on
Download PubSubClient,
the library for
on Arduino: Setup
String 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 publish
data on MQTT.
on Arduino: publishing
Your app cannot serve two
masters.
http://500px.com/photo/35382862
QEST
A MQTT/REST bridge
qest.me
• MQTT broker
• REST interface
• can be deployed on
top of very pub/sub
systems
• built in node.js
QEST
REST Server
Redis
MQTT Server
QEST
Data Layer
HTTP Clients MQTT Clients
• Ascoltatori: the pub/sub library for node backed by
Redis, 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.js
QEST’s pillars
Strings are the
most common
data format.
http://500px.com/photo/28990737
Not these
strings.
http://500px.com/photo/28990737
Strings are not
the better way
of sending data
What else
There are LOTs
of choices
• JSON
• MessagePack
• BSON
• Bysant
• Protobuf
Size matters
if we pay for
every byte
sent!
There are LOTs
of choices
There are LOTs
of choices
Developers think in Lists
and Maps, not in nodes
and children.
XML will not play a major
role in the Internet of
Things
• 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?
Security Issues
We need to
interconnect Users
Social profiles to
the Devices!
http://500px.com/photo/31083423
We need a Bridge between
the REST and the
“Things” world
http://500px.com/photo/31083423
• Multiple communication
protocols
• Data representation
• Security and provisioning
We need to address:
From an end-user
perspective
(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/1261907803
DEMO!
http://500px.com/photo/26425201
Ruby on Rails
has drastically
changed how
web apps are
built
A 10-minutes blog video
changed everything
http://500px.com/photo/26425201
We aim to a
Rails-like
experience for
the IoT
Our goal is to deliver a
10-minutes M2M app video
Credits
• Font Awesome for the
Icons.
• Flickr and 500px for LOTS
of CC images :).
• Keynotopia for the iPad
mockups
Matteo Collina (matteo.collina2@unibo.it)
Thank You!
@matteocollina
http://www.flickr.com/photos/axel-d/479627824/
http://500px.com/photo/31083423
Bridging two worlds
http://eclipse.org/proposals/technology.ponte/

More Related Content

Viewers also liked (20)

PDF
Introduction to CoAP the REST protocol for M2M
Julien Vermillard
 
KEY
Building a-self-sufficient-team
Filippo De Santis
 
PDF
Server side data sync for mobile apps with silex
Michele Orselli
 
PDF
Symfony e micro (non così tanto) services
Michele Orselli
 
PPTX
Star Guide Delivery Performance (2.2)
ddodd
 
KEY
Enter the app era with ruby on rails (rubyday)
Matteo Collina
 
PDF
Enter the app era with ruby on rails
Matteo Collina
 
PDF
Crea il TUO database con LevelDB e Node.js
Matteo Collina
 
PDF
Making things that works with us codemotion
Matteo Collina
 
PDF
Making things that works with us
Matteo Collina
 
PDF
CI-18n
Matteo Collina
 
PDF
No. la sottile arte di trovare il tempo dove non esite.
Matteo Collina
 
PDF
The usability of open data
Matteo Collina
 
PDF
E così vuoi sviluppare un'app
Matteo Collina
 
PDF
E così vuoi sviluppare un'app (ci servono le APi!)
Matteo Collina
 
PPTX
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Matteo Collina
 
PDF
Building a multi protocol broker for the internet of things using nodejs
Matteo Collina
 
PDF
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Matteo Collina
 
PDF
L'universo dietro alle App
Matteo Collina
 
PDF
MQTT - REST Bridge using the Smart Object API
Michael Koster
 
Introduction to CoAP the REST protocol for M2M
Julien Vermillard
 
Building a-self-sufficient-team
Filippo De Santis
 
Server side data sync for mobile apps with silex
Michele Orselli
 
Symfony e micro (non così tanto) services
Michele Orselli
 
Star Guide Delivery Performance (2.2)
ddodd
 
Enter the app era with ruby on rails (rubyday)
Matteo Collina
 
Enter the app era with ruby on rails
Matteo Collina
 
Crea il TUO database con LevelDB e Node.js
Matteo Collina
 
Making things that works with us codemotion
Matteo Collina
 
Making things that works with us
Matteo Collina
 
No. la sottile arte di trovare il tempo dove non esite.
Matteo Collina
 
The usability of open data
Matteo Collina
 
E così vuoi sviluppare un'app
Matteo Collina
 
E così vuoi sviluppare un'app (ci servono le APi!)
Matteo Collina
 
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Matteo Collina
 
Building a multi protocol broker for the internet of things using nodejs
Matteo Collina
 
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Matteo Collina
 
L'universo dietro alle App
Matteo Collina
 
MQTT - REST Bridge using the Smart Object API
Michael Koster
 

Similar to Exposing M2M to the REST of us (20)

PDF
Internet ALL the Things - a walking tour of MQTT
Andy Piper
 
PDF
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
Dominik Obermaier
 
PDF
Oracle Code One San Francisco - Monolith to microservices
Alberto Salazar
 
PDF
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
Amir Zmora
 
PDF
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Benjamin Cabé
 
PDF
Groundbreakers tour Nowadays Architecture Trends, from Monolith to Microservi...
Alberto Salazar
 
PDF
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
Alberto Salazar
 
PDF
Oracle Code Javaday Sao Paulo Monolith_to Microservices
Alberto Salazar
 
PDF
WebRTC Reborn SignalConf 2016
Dan Jenkins
 
PDF
Twilio Signal 2016 WebRTC Reborn
Twilio Inc
 
PDF
#JavadayEcuador Monolith to Microservices
Alberto Salazar
 
PDF
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Alberto Salazar
 
ODP
Node Js Websocket Js Meetup Slides
Makoto Inoue
 
KEY
Phonegap for Engineers
Brian LeRoux
 
PDF
JAX 2014 - M2M for Java Developers with MQTT
Dominik Obermaier
 
PDF
Building application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Thoughtworks
 
PDF
Oracle Developer Tour Latam Nowadays Architecture Trends, from Monolith to Mi...
Alberto Salazar
 
PPTX
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB
 
PDF
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Thoughtworks
 
PPTX
SignalR + Mobile Possibilities
Sam Basu
 
Internet ALL the Things - a walking tour of MQTT
Andy Piper
 
M2M for Java Developers: MQTT with Eclipse Paho - Eclipsecon Europe 2013
Dominik Obermaier
 
Oracle Code One San Francisco - Monolith to microservices
Alberto Salazar
 
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
Amir Zmora
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Benjamin Cabé
 
Groundbreakers tour Nowadays Architecture Trends, from Monolith to Microservi...
Alberto Salazar
 
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
Alberto Salazar
 
Oracle Code Javaday Sao Paulo Monolith_to Microservices
Alberto Salazar
 
WebRTC Reborn SignalConf 2016
Dan Jenkins
 
Twilio Signal 2016 WebRTC Reborn
Twilio Inc
 
#JavadayEcuador Monolith to Microservices
Alberto Salazar
 
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Alberto Salazar
 
Node Js Websocket Js Meetup Slides
Makoto Inoue
 
Phonegap for Engineers
Brian LeRoux
 
JAX 2014 - M2M for Java Developers with MQTT
Dominik Obermaier
 
Building application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Thoughtworks
 
Oracle Developer Tour Latam Nowadays Architecture Trends, from Monolith to Mi...
Alberto Salazar
 
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB
 
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Thoughtworks
 
SignalR + Mobile Possibilities
Sam Basu
 
Ad

Recently uploaded (20)

PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Ad

Exposing M2M to the REST of us