MQTT-iconMQTT 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.


Let’s use a simple example of a remote site where you want to know if someone entered a building in some cases you would have an application that polled the remote sensor to determine when a change in state occurs. Let’s say once a second.

So the device at the remote location has to have enough power to constantly respond to your requests every second and your network connection has to be able to provide you with unlimited data usage. But if you have a remote location that does not have power lines or a cable/DSL or other hardwired internet connection this way of getting data becomes very expensive.

This is one situation where MQTT shines. Now you have a low cost simple device that uses very little power. It could be powered by a battery. Using a satellite or cellular connection the device can update its status when the sensor changes state. The broker then notifies the client application of this state change.

Connecting to MQTT

MQTT-conceptThe 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.

To learn more about MQTT  & other integrated systems, contact your OAS Sales Representative toll free in the US on 1-800-533-4994 or for international enquiries call 1-303-679-0898.

Download a Fully Functional 30-Day Trial of the Open Automation Software Platform