Download - How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London
![Page 1: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/1.jpg)
How do Things talk ?
Christian Götz, dc-square
3rd June 2014IoT Application Protocols
![Page 2: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/2.jpg)
![Page 3: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/3.jpg)
GPSGPS
GPSGPS
GPSGPS
GPS
Detected: Traffic Jam!
GPS
GPS
GPS
![Page 4: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/4.jpg)
...but wait …who’s talking here ??
![Page 5: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/5.jpg)
CEO & Founder of dc-square
We do IoT communication at scale
I talk and write about IoT and MQTT
I love to build new things
Christian Götz dc-square
goetzchr
![Page 6: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/6.jpg)
20,000,000,000 devices
250 new devices every second
every person owns ≈ 7 devices
2020
http://blogs.cisco.com/news/cisco-connections-counter/ http://www.cisco.com/web/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf
![Page 7: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/7.jpg)
Language of the IoT?
![Page 8: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/8.jpg)
![Page 9: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/9.jpg)
Widely Known and Used
Polling
One way communication
Detailed Header
HTTP suitable for IOT ?
![Page 10: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/10.jpg)
Challenges
![Page 11: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/11.jpg)
Scalability
Security
Constrained Devices
Mobile
IoT challenges
“Real time” Data
![Page 12: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/12.jpg)
HTTP is too verbose
![Page 13: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/13.jpg)
HTTPCoAP
![Page 14: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/14.jpg)
0 1 2 3!0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!|Ver| T | TKL | Code | Message ID |!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!| Token (if any, TKL bytes) ...!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!| Options (if any) ...!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!|1 1 1 1 1 1 1 1| Payload (if any) ...!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
CoAP no more headers
![Page 15: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/15.jpg)
CoAP RESTful
coap://host:port/path?param=value !
coap://localhost:5683/temp!
coap://server/temp/critical?above=42
![Page 16: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/16.jpg)
CoAP
UDP
6LoWPan
HTTP
TCP
IP
CoAP vs HTTP
![Page 17: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/17.jpg)
Client Server
Request
Response
Non-Confirmable Message
1/2
CoAP Message Flow
![Page 18: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/18.jpg)
Client Server
Request
Response
Ack
Ack
Confirmable Message2/2
CoAP Message Flow
![Page 19: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/19.jpg)
Server
Client
http://tools.ietf.org/html/draft-ietf-core-observe-13
Get O
pt O
bser
ve Response
Response
Response
Response
10 ℃ 8 ℃ 7 ℃ 5 ℃ 4 ℃
10 ℃ 8 ℃ 7 ℃ 4 ℃
lost
Response
5 ℃
CoAP Observe
![Page 20: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/20.jpg)
CoAP RESTful
Discovery of Resources /.well-known/core
Multicast
Content-Negotiation
Proxy CoAP-HTTP and HTTP-CoAP
DTLS
![Page 21: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/21.jpg)
CoAP Tools & Implementations
Californium and Copper Logo from http://people.inf.ethz.ch/mkovatsc/
Californium & Copper
+ More Implementations
http://en.wikipedia.org/wiki/Constrained_Application_Protocol#Implementations
![Page 22: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/22.jpg)
XMPP
![Page 23: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/23.jpg)
developed for chat
based on XML
extensible
decentral / inter-server
TLS and SASL
XMPP at a glance
XMPP
![Page 24: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/24.jpg)
XMPP
TCP
IP
XMPP stack
![Page 25: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/25.jpg)
XMPP flow
<iq type =’get’!
from =’[email protected]’!
to =‘[email protected]’!
id =’S0001’>!
<req xmlns =’urn:xmpp:iot:sensordata’ seqnr =’1’ momentary =’true’ >!
</iq>
1/3
![Page 26: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/26.jpg)
XMPP flow
<iq type =’result’!
from =’[email protected]’!
to =‘[email protected]’!
id =’S0001’>!
<accepted xmlns =’urn:xmpp:iot:sensordata’ seqnr =’1’/ >!
</iq>
2/3
![Page 27: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/27.jpg)
XMPP flow<message from =’...’ to =’...’> <fields xmlns=’urn:xmpp:iot:sensordata’ seqnr =’1’ done =’true’> <node nodeId =’Device01’> <timestamp value=‘2013-03-07T16:24:30’>"
<numeric name =’Temperature’ momentary =‘true’ automaticReadout =’true’ "
value =’23.4’ unit =’°C’ >"
</timestamp>"
</node></fields></message>
3/3
![Page 28: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/28.jpg)
From chat to IoT - status quo
![Page 29: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/29.jpg)
Who’s a friend ?
![Page 30: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/30.jpg)
Description...
Description...
Description...
Description...
Source: Wikipedia
implementations
![Page 31: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/31.jpg)
323 Sensor Data experimental 04/2014324 Provisioning experimental 03/2014325 Control experimental 04/2014326 Concentrators experimental 03/2014347 Discovery experimental 04/2014??? Interoperability not approved??? Pub/Sub IoT not existent
Source: http://xmpp.org/xmpp-protocols/xmpp-extensions/
XMPP extensions
![Page 32: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/32.jpg)
It’s still XML
![Page 33: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/33.jpg)
XMPP Tool
Clients !
http://xmpp.org/xmpp-software/libraries/ !
Server !
http://xmpp.org/xmpp-software/servers/
![Page 34: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/34.jpg)
![Page 35: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/35.jpg)
![Page 36: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/36.jpg)
Subscribe
![Page 37: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/37.jpg)
Publish
![Page 38: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/38.jpg)
Temperature Sensor MQTT-Broker
Laptop
Smart Phone
publish: “21°C“publish: “21°C“
publish: “21°C“
subscribe
subscribe
![Page 39: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/39.jpg)
Topics
lightweight
QoS Levels
Retained / LWT
MQTT over Websockets
Bridging
SSL
MQTT at a glance
![Page 40: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/40.jpg)
London
BigBen
London Eye
people
temp
people
temp
/
/
MQTT topics 101
/
![Page 41: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/41.jpg)
London
BigBen
London Eye
people
temp
people
temp
/
/
MQTT topics 101
/
The temperature of Big Ben London/BigBen/temp
![Page 42: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/42.jpg)
London
BigBen
London Eye
people
temp
people
temp
/
/
MQTT topics 101
All temperature values London/+/temp
/
![Page 43: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/43.jpg)
London
BigBen
London Eye
people
temp
people
temp
/
/
MQTT topics 101
All from the London Eye London/LondonEye/#
/
![Page 44: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/44.jpg)
London
BigBen
London Eye
people
temp
people
temp
/
/
MQTT topics 101
All messages #
/
![Page 45: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/45.jpg)
MQTT Broker
central communication point different implementations additional features
+ othershttp://mqtt.org/wiki/doku.php/brokers
![Page 46: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/46.jpg)
MQTT for WSN
utilizes UDP
Gateway to MQTT
Topic Preregistration
Sleeping Clients
MQTT at a glance
-SN
![Page 47: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/47.jpg)
Description...
Description...
Description...
MQTT-SN
UDP
6LoWPan
MQTT
TCP
IP
MQTT and MQTT-SN
![Page 48: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/48.jpg)
REVAMPED REVAMPED
MQTT (with SSL) vs HTTPS
less battery
- Establishing 1st Connection(compensated after 5,5 min)
+ Reconnect
+ Maintaining Connection
+ Receiving Messages
+ Sending Messages
better throughput
+ Less Overhead
+ Persistent Sessions
+ Pub/Sub Architecture
Source: http://stephendnicholas.com/archives/1217
![Page 49: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/49.jpg)
Description...
MQTT real world usage
https://www.facebook.com/notes/facebook-engineering/building-facebook-messenger/
10150259350998920
![Page 50: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/50.jpg)
MQTT tools
Public Broker http://mqttdashboard.com
Java-Broker with Plugin SDK
Client Lib
![Page 51: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/51.jpg)
CoAP
HTTP+ Others
![Page 52: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/52.jpg)
protocol war
![Page 53: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/53.jpg)
You Mean the One and Unique Solutions
For All Problems !
DOES NOT EXIST?
![Page 54: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/54.jpg)
coexistence
![Page 55: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/55.jpg)
How to choose a protocol?
How constrained are the devices?
Reliable/unreliable network?
What is the message rate?
How is the data processed further?
Push or Pull ?
![Page 56: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/56.jpg)
15 NEW STORES
Description...
How to choose a protocol?
![Page 57: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocuments.mx/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/57.jpg)
Thanks! IoT Expo 2014