mqtt in the internet of things | loop by litmus automation

32
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

Upload: litmusautomation

Post on 06-May-2015

2.449 views

Category:

Internet


3 download

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

Page 1: MQTT in the Internet of Things | Loop by Litmus Automation

MQTT in the Internet of ThingsVatsal Shah | Founder & CEO, Litmus Automation

Internet of Things WorldJune 16th-18th, 2014 | Palo Alto, USA

@vatsal1212 @LAutomation

Page 2: MQTT in the Internet of Things | Loop by Litmus Automation

Founder | CEO of Litmus Automation

Vatsal Shah

Loves IoTIndustrial Automation guy

@vatsal1212 [email protected]

OSS supporter

Page 3: MQTT in the Internet of Things | Loop by Litmus Automation

MQTT as an IoT Protocol.

Features of MQTT.

MQTT: Myths vs. Reality.

MQTT: Practical Implementations.

Agenda

Page 4: MQTT in the Internet of Things | Loop by Litmus Automation

What is the talk of the town?

Page 5: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 6: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 7: MQTT in the Internet of Things | Loop by Litmus Automation

The Battlefield of Protocols.Cluttered & No Single Direction

HTTP | AMQP | MQTT | XMPP | Others

Page 8: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 9: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 10: MQTT in the Internet of Things | Loop by Litmus Automation

Lightweight (network)Binary Protocol | Minimum Overhead | 2 bytes

Page 11: MQTT in the Internet of Things | Loop by Litmus Automation

Low bandwidth | Copes with Slow N/WMade for Unreliable Networks

Page 12: MQTT in the Internet of Things | Loop by Litmus Automation

Lightweight (CPU)Large & Small devices | Many languages

Page 13: MQTT in the Internet of Things | Loop by Litmus Automation

Quality of Service Levels

Publisher SubscriberPublish Publish

Delete Message

QoS 0: At most onceFire and Forget

Loop Broker

Publish

Page 14: MQTT in the Internet of Things | Loop by Litmus Automation

Quality of Service Levels

Publisher SubscriberPublish Publish

Delete Message

QoS 1: At least onceReliable mode

Loop Broker

Publish + PubAck

Store MessageStore

Delete

Page 15: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 16: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 17: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 18: MQTT in the Internet of Things | Loop by Litmus Automation

Last Will and TestamentBroker caches & publishes on death

Page 19: MQTT in the Internet of Things | Loop by Litmus Automation

MQTT: Myths vs. Reality

Page 20: MQTT in the Internet of Things | Loop by Litmus Automation

Broker is the Single Point of FailureBroker Cluster | Replication of states | Failover

Myth1

Page 21: MQTT in the Internet of Things | Loop by Litmus Automation

Security in MQTT is difficultSSL / TLS | Application layer | Privacy policies

Made for devices

Myth2

Page 22: MQTT in the Internet of Things | Loop by Litmus Automation

MQTT Payload Agnostic is an issueBig advantage for devices | Adaptability

Myth3

Page 23: MQTT in the Internet of Things | Loop by Litmus Automation

MQTT is not Scalable`

Myth4

Horizontal | Vertical | Across Datacenters

Page 24: MQTT in the Internet of Things | Loop by Litmus Automation

Getting off the ground: MQTT Use CasesImmobile: Factory Floor | Mobile: Container

Page 25: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 26: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 27: MQTT in the Internet of Things | Loop by Litmus Automation

Factory Floor

MQTT Broker

Machine 1

Machine 2

Modbus /RS485

CPU

Modbus /RS485

CPU

PubSub

PubSub

ProtocolMapping

ProtocolMapping

Page 28: MQTT in the Internet of Things | Loop by Litmus Automation

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

Page 29: MQTT in the Internet of Things | Loop by Litmus Automation

Perishable goods tracking

MQTT Broker

SCM System

Goods health logic

Android application

Real-time dashboard

(LoopBoards)

Cassandra Database

2G / 3G

Page 30: MQTT in the Internet of Things | Loop by Litmus Automation

Perishable goods tracking

MQTT Broker

Truck 1

CANBusmapping

CPU

2G / 3GTemperatureHumidity

Precise Location

Data Storage

Page 31: MQTT in the Internet of Things | Loop by Litmus Automation

Let’s choose the best for them.Things

We didn’t have a choice to customize our language.

Page 32: MQTT in the Internet of Things | Loop by Litmus Automation

Lets get Looped!

litmusautomation.com

@litmusautomation

@LAutomation

@Litmus Automation

Thank You

(It’s Free!)