Internet of things refers to uniquely identifiable objects and the representation of these physical objects in a virtual form in an Internet like structure. The number of things that get added to the network are increasing day by day. These connected devices are bound to reach 50 billion by 2020. MQTT or Message Queue Telemetry Transport is an Internet Of Things protocol for machine to machine communication. The protocol was invented by Andy Stanford-Clark of IBM, and Arlen Nipper of Cirrus Link Solutions.
As per MQTT V3.1 Protocol Specification, “MQ Telemetry Transport (MQTT) is a lightweight broker-based publish/subscribe messaging protocol designed to be open, simple, lightweight and easy to implement.” MQTT runs over TCP/IP. It enables transfer of telemetry style data which is nothing but sensor and actuator data. The sensors and actuators communicate with applications through MQTT message broker. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. For example: Usage in health clinics where doctors can remotely monitor patients at their home.
MQTT core components consists of clients, servers or brokers, sessions, subscriptions and topics The publish/subscribe messaging model consists of a number of publishers and subscribers connected to a broker. Publishers send (publish) messages to the broker on a specific "topic". Subscribers register (subscribe) their interest in certain topics with the broker. The broker manages the connections to the publishers and subscribers and distributes the messages it receives from the publishers to the subscribers according to their subscribed topics. Thus the publishers and subscribers are nothing but the clients.
Topics allow clients to exchange information with defined semantics. All communication between a server and clients happens through a session. The spec also defines the messages and their structures.
MQTT runs over TCP/IP. In addition to TCP/IP’s guaranteed delivery, MQTT adds 3 more QoS layers on top of TCP, at-most once delivery, at-least-once delivery and exactly once delivery.
HTTP protocol is a request – response protocol and is not suitable for telemetry type communication.
Advantages of MQTT include
- Fast throughput and response time.
- Less usage of bandwidth
- Multiple message subscription multiplexed over a single connection etc..
This seminar will cover:
- A brief introduction to Internet of Things or IoT.
- What is telemetry data and the need for IoT protocols.
- What is MQTT, MQTT specification 3.1 and the history behind it.
- Features and characteristics of MQTT.
- Model and components of MQTT
- MQTT messages and message formats: CONNECT, DISCONNECT, PUBLISH SUBSCRIBE etc..
- QoS support provided by MQTT and examples for each of them
- Message flow in MQTT:
- CONNECT and SUBSCRIBE sequence.
- PUBLISH message flows based on each QoS level.
- MQTT will message
- MQTT Topics and topic wildcards
- Brief introduction to MQTT for sensors or MQTT-S
- Real world applications of MQTT for eg: facebook, Smart Lab, FloodNet etc..
- Comparison of MQTT with HTTP.
- Comparison with other IoT protocols.