The Messaging and Data Exchange Protocol of the IoT - MQTT

The Messaging and Data Exchange Protocol of the IoT - MQTT

MQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth. MQTT today is used in a wide variety of industries, such as automotive, manufacturing, telecommunications, oil and gas, etc.

Why MQTT

  • Lightweight and Efficient
    MQTT clients are very small, require minimal resources so can be used on small microcontrollers. MQTT message headers are small to optimize network bandwidth.
  • Bi-directional Communications
    MQTT allows for messaging between device to cloud and cloud to device. This makes for easy broadcasting messages to groups of things.
  • Scale to Millions of Things
    MQTT can scale to connect with millions of IoT devices.
  • Reliable Message Delivery
    Reliability of message delivery is important for many IoT use cases. This is why MQTT has 3 defined quality of service levels: 0 - at most once, 1- at least once, 2 - exactly once
  • Support for Unreliable Networks
    Many IoT devices connect over unreliable cellular networks. MQTT’s support for persistent sessions reduces the time to reconnect the client with the broker.
  • Security Enabled
    MQTT makes it easy to encrypt messages using TLS and authenticate clients using modern authentication protocols, such as OAuth.

 MQTT Publish / Subscribe Architecture 

mqtt-publish-subscribe.png (1024×320)