I was surprised to have little knowledge of MQTT before realizing how widespread the technology is. In certain industries it is as well-known or better than HTTP.
Message Querying Telemetry Transport (MQTT) is a prevalent publish/subscribe messaging protocol used in network communications. Recognized versions by both the OASIS and ISO community attest to the wide implementation of MQTT.
Invented in 1999 by Dr. Andy Stanford-Clark and Arlen Nipper, it was originally aimed to be the first open-source SCADA protocol. Initially to solve a communication problem for gas pipelines, and today surpassing HTTP as the most used protocol for IoT devices on the internet.
TCP/IP ports 1883 and 8883 are reserved with IANA for use with MQTT, the latter for using the protocol over SSL. Many products support this protocol, including the following:
- Major Cloud Platforms (Azure, AWS, IBM Cloud)
- Facebook Messenger
- Eclipse Mosquitto
- Sparkplug
- Ignition
An arguably over-simplified architecture includes one or more clients and a broker. The broker acts as the server, which receives information from publishing clients then distributes to subscribing ones. Clients specify a topic to the broker to distinguish relevant messages. One can consider a wide-range of applications to implement this protocol in. From home automation projects to advanced SCADA applications, the options are endless.
Do you want to get started with using MQTT? I’ll plan on providing a few simple demonstrations to help familiarize the topic.
Get the PDF of this article here.