A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols:...
Transcript of A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols:...
![Page 1: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/1.jpg)
A Gentle Introduction to IoTProtocols: MQTT, CoAP, HTTP &
WebSocketsAntonio Almeida and Jaime González-Arintero
June 14, 2017
![Page 2: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/2.jpg)
Warning: we'll go fast!
![Page 3: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/3.jpg)
Visionaries>_ On-line Man-Computer Communication, 1962
![Page 4: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/4.jpg)
Visionaries>_ The Computer as a Communication Device,1968
![Page 5: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/5.jpg)
Arpanet
![Page 6: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/6.jpg)
Why more protocols?
![Page 7: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/7.jpg)
-MIT Technology Review, 2014
Connected devices>_ Some figures...
![Page 8: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/8.jpg)
Connected devices>_ Some figures...
14 bn connected devices | Bosch SI
50 bn connected devices | Cisco
309 bn IoT supplier revenue | Gartner
1.9 tn IoT economic value add | Gartner
7.1 tn IoT solutions revenue | IDC
By 2020, component costs will have come down to thepoint that connectivity will become standard feature,even for processors costing less than $1.- Peter Middleton, Gartner
![Page 9: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/9.jpg)
Constrained devices
IETF Definition:tools.ietf.org/html/rfc7228
Limited processing power
Unreliable networking
Low power (so they can run on batteries)
![Page 10: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/10.jpg)
Internet: A definition
"A computer network consisting of a worldwide networkof computer networks that use the TCP/IP networkprotocols to facilitate data transmission and exchange."
![Page 11: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/11.jpg)
Several types of networks &protocols — industrial
![Page 12: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/12.jpg)
Other protocols — buildingmanagement
![Page 13: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/13.jpg)
Edge has devices — Cloud has servers
![Page 14: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/14.jpg)
Edge
devices != gateways
Devices talk to other devices northbound andsouthbound
Gateways talk to the cloud northbound anddevices southbound
Device to device (D2D)
Device to cloud (D2C)
![Page 15: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/15.jpg)
![Page 16: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/16.jpg)
MQTT: BasicsMessage Queue Telemetry Transport
"Publish-subscribe-based "lightweight" messaging protocol,for use on top of the TCP/IP protocol."
Publish-subscribe
A message broker is required
Standard: ISO/IEC PRF 20922
Small code footprint
Limited network bandwidth / constrainedenvironments
Developed in 1999 (and released royalty free in2010)
Data agnostic
![Page 17: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/17.jpg)
MQTT: Publish-subscribe model
![Page 18: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/18.jpg)
MQTT: Connecting to the broker
![Page 19: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/19.jpg)
MQTT: Publishing to a topic
![Page 20: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/20.jpg)
MQTT: Subscribing to a topic>_ Example topics
Topic #1:home/groundfloor/kitchen/temperature
Topic #2:office/conferenceroom/luminance
>_ Wild cards
Single-level:home/groundfloor/+/temperature
(to subscribe to all the temperature readingsin all the rooms of the ground floor)
Multi-level: home/groundfloor/#(to subscribe to all the readings in all therooms of the ground floor, not only thetemperature)
![Page 21: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/21.jpg)
MQTT: Quality of Service>_ QoS can be 0, 1, or 2
0: The broker/client will deliver the messageonce, with no confirmation.
1: The broker/client will deliver the message atleast once, with confirmation required.
2: The broker/client will deliver the messageexactly once by using a four step handshake.
![Page 22: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/22.jpg)
MQTT: Last will and testament
![Page 23: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/23.jpg)
MQTT: Learn moreThere are client libraries and wrappers for practically alllanguages used in M2M setups, as well as di!erentbrokers/servers.
Learn more: mqtt.org
So"ware: mqtt.org/so!ware
Recommended broker (C): Mosquitto(mosquitto.org)
Lots of good tutorials out there
![Page 24: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/24.jpg)
![Page 25: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/25.jpg)
CoAP: BasicsConstrained Application Protocol
"A specialized web transfer protocol for use with constrainednodes and constrained networks in the Internet of Things."
CoRE, IETF group
Proposed standard: RFC 7252
CoAP ~ lightweight fast HTTP
Designed for manipulation of simple resourceson constrained node networks
![Page 26: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/26.jpg)
CoAP: RESTful environment
![Page 27: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/27.jpg)
CoAP: Inspired by HTTP
![Page 28: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/28.jpg)
CoAP <---> Proxy <---> HTTP
![Page 29: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/29.jpg)
CoAP: HTTP vs CoAP
![Page 30: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/30.jpg)
CoAP: Functionalities
URI
GET / POST / PUT / DELETE
Content-type support (XML, JSON, CBOR,...)
Built-in discovery — .well-known/core
Multicast support
Asynchronous message exchanges
Designed to be extensible
![Page 31: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/31.jpg)
CoAP: Client / Server
![Page 32: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/32.jpg)
CoAP: Message format
![Page 33: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/33.jpg)
CoAP: Confirmable
MQTTCoAPIoT Protocols inIndustryA glimpse intothe future
![Page 34: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/34.jpg)
CoAP: Non-confirmable
![Page 35: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/35.jpg)
CoAP: Reset
![Page 36: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/36.jpg)
CoAP: Reliability
Message reliability is handled at theapplication layer (UDP)
Congestion control (retransmits increaseexponentially up to 247 s) — furtherimprovements coming
These features can be disabled, if speed is thegoal
![Page 37: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/37.jpg)
CoAP: Reliability
![Page 38: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/38.jpg)
CoAP: Observing resources I
Protocol extension for CoAP: RFC 7641
Client interested in a resource over period oftime
Observer pattern
Server ~ Client (constrained device acts as aserver)
![Page 39: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/39.jpg)
CoAP: Observing resources II
![Page 40: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/40.jpg)
CoAP: Observing resources III
Extension added later to the CoAP spec
It transfers larger resource representationsthan can be usually accommodated inconstrained networks
Response is split in blocks
Both sides have a say in the block size thatactually will used
CoAP over TCP being dra"ed
Authentication & authorization inspired byOAUTH and JWT
![Page 41: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/41.jpg)
CoAP: Learn more
General info: coap.technology
Proposed standard:tools.ietf.org/html/rfc7252
Copper (CoAP user-agent as a Firefox add-on):github.com/mkovatsc/Copper
Several tutorials and cool features to discover
![Page 42: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/42.jpg)
![Page 43: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/43.jpg)
![Page 44: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/44.jpg)
What's a Fieldbus?"Industrial, digital bus used for real-time distributed control."
Mainly used in manufacturing (assemblylines, process control, etc.)
Connects instruments in the shop-floor
Allows di!erent topologies (daisy-chain, tree,etc.)
Controllers where originally connectedthrough serial (just picture the cable salads); afieldbus solves that issue
Cost-e!ective (less cables, easiermaintenance)
![Page 45: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/45.jpg)
Fieldbuses, fieldbuses all the way...
![Page 46: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/46.jpg)
Fieldbus and Industrial Ethernetstandards
Modbus RTU (serial) (published in 1979!)
Modbus TCP (Ethernet)
Profibus (serial)
Profinet
CAN (a vehicle bus, in reality)
Bitbus
EtherCAT
DeviceNET
BACnet (Although I wouldn't call it a fielbus...)
And many, many more...
![Page 47: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/47.jpg)
Just a normal PLC
![Page 48: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/48.jpg)
What's a PFC? (with an F!) I>_ Programmable Fieldbus Controller
Not to be confused with a PLC (ProgrammableLogic Controller)
They o"en support di!erent fieldbuses bydefault
Easily expandable (new I/O modules can beattached, motor drivers, etc.)
Most of them run an OS (and it's possible tocreate custom images)
![Page 49: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/49.jpg)
What's a PFC? (with an F!) II>_ Programmable Fieldbus Controller
Manufacturers provide SDKs in di"erentlanguages
Connectivity (at least 2x network interfaces,WiFi, 3G/LTE failover, serial, etc.)
More and more have built-in HTTP APIs
Most of them integrate web servers forconfiguration, HMIs or SCADA functionalities
They may replace the proprietary automationso"ware suites
![Page 50: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/50.jpg)
What's a PFC?
![Page 51: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/51.jpg)
IO-Link: State of the art"IO-Link is the first standardised IO technology worldwide (IEC61131-9) for the communication with sensors and actuators.IO-Link is no fieldbus but the further development of theexisting, tried-and-tested connection technology."
3-wire connections
Smart sensors: they work out-of-the-box, andthey "identify" themselves
Descriptive files that include information ofthe manufacturer, the type, and thecalibration
Sensors can be replaced, and the calibrationand specs file updated remotely
IO-Link masters support di!erent fieldbus andIndustrial Ethernet standards
![Page 52: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/52.jpg)
IO-Link: Topology example
![Page 53: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/53.jpg)
IO-Link: Master / sensor aggregator
![Page 54: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/54.jpg)
And now ... subtle productplacement
![Page 55: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/55.jpg)
![Page 56: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/56.jpg)
![Page 57: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/57.jpg)
Information Centric Networking(ICN) vs Host Centric Networking(HCN)
HCN: Conversation between hosts — who totalk to.
ICN: Spreads data objects — what to say
![Page 58: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/58.jpg)
Data Distribution Service (DDS)
![Page 59: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/59.jpg)
DDS in a nutshellHas been around for some time — DDS 1.0(2005).
Main entities:
Domain Participant
Data Writer
Publisher
Data Reader
Subscriber
Topic
All networking is abstracted. Usuallyimplemented on top of raw sockets
Anycasting and Multicasting
![Page 60: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/60.jpg)
ICN in a nutshell IShares packet forwarding with IP mostly
Outline of request - response
Consumer requests named data:Interest
Interest is forwarded to a place (orplaces) where named data exists
Forwarder records the interface onwhich the Interest was received
Data is returned in a Contentmessage
Data in Content is signed to avoidtampering
A lot of caching strategies possible — see theweb
![Page 61: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/61.jpg)
ICN in a nutshell IICommunication between consumers andnamed data
Forwarders interact with messages andmaintain a state per-message (!== IP)
Data name instead of IP address
Anycasting and Multicasting
Consumer can roam — easy mobility
![Page 62: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/62.jpg)
ICN in a nutshell IIIIs a research topic
Many open questions:
Routing
Congestion control
Push (event) also, not only polling
Multiple research projects: US, Europe
Watch this space
![Page 63: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/63.jpg)
ConclusionsThere are many type of networks
The protocol to use depends on what part ofwhich network you are
Opinionated Cheatsheet:
MQTT: D2C or C2C
CoAP: D2D
HTTP/1.1: C2C
HTTP/2: C2C — possibly D2C
DDS: C2C & D2C — claims of D2Dseem exagerated
WebSockets: C2C
Operational Technology (OT) will be aroundfor a long time
No silver bullet
![Page 64: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/64.jpg)
About us>_ Antonio
GitHub
>_ Jaime
GitHub
>_ This presentation
tinyurl.com/gotoams2017-iot
![Page 65: A Gentle Introduction to IoT Protocols: MQTT, CoAP, … · A Gentle Introduction to IoT Protocols: MQTT, CoAP, HTTP & WebSockets Antonio Almeida and Jaime González-Arintero June](https://reader034.fdocuments.net/reader034/viewer/2022042506/5aeb63297f8b9a90318cf1df/html5/thumbnails/65.jpg)
Questions?