MQTT is a light weight protocol that implements a client/broker architecture. Originally developed as a machine to machine protocol by IBM and is now an open protocol.
Due to the Client/Server nature and its small footprint this protocol is well suited for small devices with limited power or network connectivity.
What is MQTT used for?
A common application is to use this protocol on hundreds or thousands of remote devices that may have battery or solar power and be utilizing cellular or other limited or expensive communications.
Because of the small packet size the overall bandwidth usage is low compared to other common protocols. Even with limited connectivity the Client/Broker architecture is an excellent choice.
The remote device connects to the broker when possible and publishes its topics. The broker then notifies any client that has subscribed to that topic. This eliminates the need to constantly poll the device for changes thus reducing the network usage.
Connecting to MQTT
The MQTT Protocol is well supported by numerous devices. For example you can download MQTT Client apps for Windows, Android, Apple operating systems and be connected to MQTT data in a matter of minutes.
The Protocol is also supported in a number of programming languages and it is very easy to implement a MQTT Client application in just about any programming language.
Open Automation Software is an MQTT Client able to both subscribe and publish to MQTT Brokers. This makes it easy to take remote device data and View, Historize, Alarm, Trend and Notify via Web, .Net, Email, Voice and SMS.
It also makes it easy to take non MQTT data and share it with MQTT device and clients. For example take data that is coming from a PLC, Database, Excel Spread Sheet,.Net or Web User Interface or other non MQTT devices and publish that data to one or more MQTT Brokers.