how do ‘things’ talk? - an overview of the iot/m2m protocol landscape at iot expo 2014 in london
DESCRIPTION
Analysts predict that by 2020, 50 billion devices will be connected to the Internet. Together with the fact that more and more of these “things” are connected over cellular networks, new challenges are introduced to the communication of Internet of Things (IoT) and machine-to-machine (M2M) scenarios. There are a lot of protocols which claim to be ideal for these use cases, for example MQTT and CoAP. In this session you will get an overview of commonly used protocols and their underlying architectural styles. We will also look at advantages/disadvantages, use cases and the ecosystem around them.TRANSCRIPT
![Page 1: How Do ‘Things’ Talk? - An Overview of the IoT/M2M Protocol Landscape at IoT Expo 2014 in London](https://reader037.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/reader037/viewer/2022110113/540dd0238d7f72747e8b4b76/html5/thumbnails/57.jpg)
Thanks! IoT Expo 2014