MQTT is an acronym for Message Queuing Telemetry Transport. It is a lightweight, publish-subscribe, machine to machine network protocol for message queue / message queuing service1. It is designed for connections with remote locations that have devices with resource constraints or limited network bandwidth, such as in the Internet of Things (IoT) .
MQTT was created by Andy Stanford-Clark (IBM) and Arlen Nipper (then working for Eurotech, Inc.) in 1999. It was used to monitor oil pipelines within the SCADA industrial control system 1. The goal was to have a protocol that is bandwidth-efficient, lightweight and uses little battery power, because the devices were connected via satellite link which, at that time, was extremely expensive.
MQTT is based on a client-server architecture, where a message broker acts as a server that receives all messages from the clients and then routes the messages to the appropriate destination clients . MQTT uses a publish-subscribe model, where clients can subscribe to topics and receive messages published by other clients on those topics. MQTT also supports quality of service levels, which determine how reliable the message delivery is .
MQTT is an open OASIS standard and an ISO recommendation (ISO/IEC 20922). The current version of MQTT is 5.0, which was released on March 7, 2019. It added several new features, such as enhanced authentication, shared subscriptions, request/response pattern and negative acknowledgements .
MQTT-SN (MQTT for Sensor Networks) is a variation of the main protocol aimed at battery-powered embedded devices on non-TCP/IP networks, such as Zigbee .
Comments
Post a Comment