MQTT in the Internet of Things Vatsal Shah | Founder & CEO, Litmus Automation Internet of Things World June 16th - 18th, 2014 | Palo Alto, USA @vatsal1212 @ LAutomation
May 06, 2015
MQTT in the Internet of ThingsVatsal Shah | Founder & CEO, Litmus Automation
Internet of Things WorldJune 16th-18th, 2014 | Palo Alto, USA
@vatsal1212 @LAutomation
Founder | CEO of Litmus Automation
Vatsal Shah
Loves IoTIndustrial Automation guy
@vatsal1212 [email protected]
OSS supporter
MQTT as an IoT Protocol.
Features of MQTT.
MQTT: Myths vs. Reality.
MQTT: Practical Implementations.
Agenda
What is the talk of the town?
3,000,000,000 User Interfacesby 2022.
14,000,000,000 ConnectedDevices.Billion
Fourth Industrial RevolutionSources: Bosch Blog 2014, Machina Research, 2014 and Cisco VNI Mobile Forecast Highlights 2012-2017
Lets look at how things TALK.Their Language = Protocol
Speak/listen only when neededAble to communicate with allAvoid getting drained by talking
Ideal Communication
Able to talk in all situations
The Battlefield of Protocols.Cluttered & No Single Direction
HTTP | AMQP | MQTT | XMPP | Others
Foundation and Community.
Late 1990s
Aug 2010
Nov 2011
Feb 2013
Invented by IBM and Eurotech
Protocol spec published royalty-free
Joined hands with Eclipse M2M group
Proposed as an OASIS standard
MQTTMessage Queuing Telemetry Transport
Publish Subscribe
MQTT Broker
Simple, Asynchronous (“push”) delivery of messages through Pub/Sub Architecture
Mob Apps
Dashboard System
Other devices
Data Storage
Enterprise Applications
Different Devices
and Applications
1-1 , 1 - N or N – 1 flexible Pub/Sub structure
Lightweight (network)Binary Protocol | Minimum Overhead | 2 bytes
Low bandwidth | Copes with Slow N/WMade for Unreliable Networks
Lightweight (CPU)Large & Small devices | Many languages
Quality of Service Levels
Publisher SubscriberPublish Publish
Delete Message
QoS 0: At most onceFire and Forget
Loop Broker
Publish
Quality of Service Levels
Publisher SubscriberPublish Publish
Delete Message
QoS 1: At least onceReliable mode
Loop Broker
Publish + PubAck
Store MessageStore
Delete
Quality of Service Levels
Publisher SubscriberPublish Publish
Delete Message
QoS 2: Exactly onceSafest but slowest
Loop Broker
Publish + PubRec + PubRel + PubComp
Store MessageStore
Delete
Pub Complete
1 {2 mqtt.connect();3 mqtt.publish();4 mqtt.subscribe();5 mqtt.unsubscribe();6 mqtt.disconnect();7 }89 Simple
Simple to implement | No SDK nightmares
Wildcard Subscription
Plant 1
Machine 1 Machine 2
Plant 1
Machine 1 Machine 2
Plant 1 / # Plant 1 / Machine 1 / +Plant 1 / + / Database
Plant 1
Machine 1 Machine 2
Multiple subscriptions | Easy client design
Last Will and TestamentBroker caches & publishes on death
MQTT: Myths vs. Reality
Broker is the Single Point of FailureBroker Cluster | Replication of states | Failover
Myth1
Security in MQTT is difficultSSL / TLS | Application layer | Privacy policies
Made for devices
Myth2
MQTT Payload Agnostic is an issueBig advantage for devices | Adaptability
Myth3
MQTT is not Scalable`
Myth4
Horizontal | Vertical | Across Datacenters
Getting off the ground: MQTT Use CasesImmobile: Factory Floor | Mobile: Container
Challenges
Immobile: Factory Floor• Robust communication• Existing standards / Retrofitting• Large data chunk• Security is the primary concern
Mobile: Container• Bandwidth , bandwidth , bandwidth• Small session length• Inaccuracy in sensor readings• Power
Factory Floor
MQTT Broker
Machine 1
Machine 2
Machine 3
Weather Station
ERP System
Inventory Mgt System
LED Boards
SCADA
HMI
MongoDBDatabase
WiFi
Ethernet
2G
WiFi
Factory Floor
MQTT Broker
Machine 1
Machine 2
Modbus /RS485
CPU
Modbus /RS485
CPU
PubSub
PubSub
ProtocolMapping
ProtocolMapping
Factory Floor: Machine 1
Temperature Plant / Machine 1 / Temp_serial#
Counter Plant / Machine 1 / Counter_serial#Counter Set Plant / Machine 1 / Counter_control_Serial#Stop Plant / Machine 1 / Stop_serial#Logs Plant / Machine 1 / Logs_serial#Consumption Plant / Machine 1 / Consumption_serial#Power Plant / Machine 1 / Power_serial#
QoS 1
QoS 2
QoS 2
Sensor to Topic mapping (Existing Modbus)
QoS 0
QoS 1
QoS 1
QoS 2
Perishable goods tracking
MQTT Broker
SCM System
Goods health logic
Android application
Real-time dashboard
(LoopBoards)
Cassandra Database
2G / 3G
Perishable goods tracking
MQTT Broker
Truck 1
CANBusmapping
CPU
2G / 3GTemperatureHumidity
Precise Location
Data Storage
Let’s choose the best for them.Things
We didn’t have a choice to customize our language.
Lets get Looped!
litmusautomation.com
@litmusautomation
@LAutomation
@Litmus Automation
Thank You
(It’s Free!)