mqtt in the internet of things | loop by litmus automation
DESCRIPTION
This presentation throws some light on MQTT as an Internet of Things protocol, its significant features and shifts the paradigm with the reality check. Featured use-cases magnify its simplicity of implementation. Loop by Litmus Automation is an end-to-end cloud platform for IoT, www.litmusautomation.com.TRANSCRIPT
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!)