Skip to main content
What is MQTT?

MQTT

Juan Carlos González avatar
Written by Juan Carlos González
Updated over a year ago

MQTT is a 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. Today is used in a wide variety of industries, such as automotive, manufacturing, telecommunications, oil and gas, etc.

MQTT stands for Message Queuing Telemetry Transport. The protocol is a set of rules that defines how IoT devices can publish and subscribe to data over the Internet. It is used for messaging and data exchange between IoT and industrial IoT (IIoT) devices, such as embedded devices, sensors, industrial PLCs, etc.

The protocol is event driven and connects devices using the publish /subscribe (Pub/Sub) pattern. The sender (Publisher) and the receiver (Subscriber) communicate via topics and are decoupled from each other. The connection between them is handled by the MQTT broker. The broker filters all incoming messages and distributes them correctly to the Subscribers.

It is a very light weight and binary protocol, and due to its minimal packet overhead, MQTT excels when transferring data over the wire in comparison to protocols like HTTP. Another important aspect of the protocol is that MQTT is extremely easy to implement on the client side. Ease of use was a key concern in the development of MQTT and makes it a perfect fit for constrained devices with limited resources today.

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. This is an important feature when you have to deal with huge amounts of items, like fleets, farming, etc.

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. These levels define how messages are delivered to the subscriber.

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 runs on top of TCP/IP using a PUSH/SUBSCRIBE topology. In MQTT architecture, there are two types of systems: clients and brokers. A broker is the server that the clients communicate with. The broker receives communications from clients and sends those communications on to other clients.

MQTT: publish / subscribe architecture

MQTT is based on asynchronous messaging that follows the publish-subscribe paradigm: Senders and receivers are decoupled from one another in synchronicity, time, and space and one-to-many relationships are possible.

If you want to know more, you can visit MQTT Official Site or ask our technical support service so they can study your specific case at neuron@plexo.cloud.

Did this answer your question?