Our digital world is growing rapidly and we have more devices connected to the internet than ever. On top of that each second 80 new devices are added, which introduces new challenges to communication between these devices. MQTT is a lightweight and scalable protocol that shifts the request/response paradigm of the web as it is today to an event-driven publish and subscribe architecture, which is a perfect fit for Internet of Things and M2M use cases. This talk answers the following three questions: Why do we need a paradigm shift, HTTP has been proven to be a good fit for the web? What is MQTT and how does it help to overcome the challenges we have today? How can everybody build their own MQTT application with the implementation that are available for Java developers ? In the last part we will dive into Eclipse Paho and the FuseSource client library and round up the talk with an live demonstration.
3. M2M
IoT
IoE
WoT
Web of Things
Internet of Things
Internet of Everything
Machine to Machine
communication
Ubicomp
Ubiquitous computing
CPS
Cyper Physical Systems Pervasive
Computing
35. MQTT features Last Will and Testament
B
Connect
LWT
device123/status: „offline“
B
dropped
device123/status: „offline“
36. MQTT features w/o Retained Messages
B
device1/temp: „23,0“
device1
every 5 min
device2
device1/temp: „23,0“
Delay <= 5min
37. MQTT features Retained Messages
B
device1/temp: „23,0“ R
device1
every 5 min
device2
device1/temp: „23,0“ R
No Delay!
38. MQTT features Persistent Sessions
B
Connect
Subscribe
device/+/status
device/12/status: „1“
1st
B
Re-Connect
device/12/status: „1“
2nd
39. MQTT-SN Overview
Gateway MQTT-Broker
MQTT-SN MQTT / -SN
• UDP instead of TCP
• Topic is just an ID (Preregister/Register)
• Sleeping Clients
• Different types of Gateways
• Discovery Mechanisms
Devices
B
44. MQTT Broker HiveMQ
High performance broker
Open Plugin System for Java Clustering
Bridging Scalable to > 100.000
connections
Native Websocket support