MQTT stands for Message Queuing Telemetry Transport. It is an open standard both under OASIS and ISO. MQTT uses the PubSub model usually over TCP/IP, but it can also work with other transport protocols.
As the name suggests, MQTT's design goals are a low-code footprint and the possibility of running in low-bandwidth locations. There is a separate specification called MQTT-SN, which stands for MQTT for Sensor Networks. It focuses on battery-powered embedded devices without the TCP/IP stack.
MQTT uses a message broker that receives all the messages from the client and routes those messages to their destinations. QoS is provided on three levels:
- At most once delivery (no guarantee)
- At least once delivery (acknowledged delivery)
- Exactly once delivery (assured delivery)
It should be no surprise that MQTT is especially popular with various IoT applications. It's supported by OpenHAB, Node-RED, Pimatic, Microsoft Azure IoT Hub, and Amazon IoT. It's also popular with instant...