MQTT for the Municipal Industry

While many larger municipalities have full blown SCADA systems monitoring their larger sites, there are many smaller sites and many smaller municipalities of under 1000 people that cannot justify or afford the cost of a SCADA system with an HMI computer, radios, and communications infrastructure.

MQTT (Message Queue Telemetry Transport) has opened a whole new world of applications allowing even the smallest hamlets and communities to be able to monitor their lift stations, and pumping stations real time.

One of the methods of reading data from and writing data to the SCADADroid is through MQTT.

The center of any MQTT system is the MQTT broker as shown in the diagram above. SCADADroid has been tested with a variety of brokers including Chariot from Cirrus-link, and the open source Eclipse Mosquito broker.

When a device needs to send data to the broker, it is said to publish data. These devices are typically referred to as Edge devices as they reside at the end of the internet. Clients subscribe to the broker to tell the broker which information they would like to receive when a device publishes it. Most IIoT (Industrial Internet of Things) Edge devices can only publish to a broker. The SCADADroid can both publish and subscribe as illustrated above. This allows the user through one of the clients to both monitor the pressure, as well as to send a pressure setpoint to the SCADADroid, all through MQTT.

The SCADADroid uses configuration tabs and menus to set up the MQTT parameters such as user name and password, and security certificates if required. Tags are scaled and units are assigned in the SCADADroid. The scaled value, and the units (i.e. PSI) will be published to the broker on either change of the pressure by a certain amount or on a periodic interval, all configurable in the SCADADroid. This is one of the strengths of the SCADADroid in that no programming is required, and no software needs to be installed to configure the SCADADroid for MQTT. Further information on the SCADADroid MQTT may be found at

Once published, many services are available to view and collect the data. One of these is the SCADADroid dashboard. This is a cloud based service from Reonix and can be used if a customer wants to use an MQTT broker with no setup or technical expertise. It is used here as an example of what can be done, but some Reonix clients have developed their own MQTT system which they own outright and pay no reoccurring fees to Reonix.

MQTT client programming development tools are widely available for little to no cost. Additionally, new tools make it easy to make one application that can be an app on the Apple Store, Google Store, or used in a web browser on a computer. This is the case with the SCADADroid dashboard.

Connect remotely with the unit

No matter which app or browser is used for the SCADADroid dashboard, upon logging in, users see a map with their stations identified. A blue check mark means that there are no alarms at the station, and the SCADADroid is communication. A black circle with a line through it means the system is offline. A red circle means there is an unacknowledged alarm at the station, and a yellow circle means that there is an acknowledged alarm at the station.

Clicking on the circle will bring you to the data page of the station. It will display the last transmitted tag name, values and units as configured in the SCADADroid.

In this case, the tag MB_1, the value of 150, and the units of psi are automatically picked up from the broker that picks it up from the published information from the SCADADroid. From here, MB_1 can be added to a trend, or a table. Trends and tables are useful because they can display data from multiple stations at once. For instance, you can monitor all the levels across the system for the wetwells in one location and monitor how the levels track through the system.

For each analog value, whether from the analog inputs on the SCADADroid, a Modbus TCP/IP connection from a PLC, or a Modbus RTU Serial device like an ultrasonic level transmitter, the dashboard will calculate the daily minimum, maximum, and average value of the value. This is useful in water systems for monitoring min and max chlorine levels, or maximum turbidity values as an example. If the dashboard finds an analog value that has a rate, as indicated by day, hours, second etc., it will also totalize that analog value. These values show up as a daily record which may then be exported to a CSV file that can be imported into excel.


For discrete values, such as pump run status, the minimum, maximum and average on time is calculated as well as the number of cycles. This is useful for lift stations, and monitoring pump performance. On a two or three pump lift stations, as it shows when pumps are not preforming well as compared to the other pumps.

More information on the SCADADroid dashboard may be found here:

Reonix realizes that budget is always a concern, particularly for municipalities. As such, Reonix has started leasing the SCADADroid along with use of the dashboard for customers on a tight budget. Saving one a few hours a month of operator time, or preventing overtime charges more than pays for the SCADADroid leasing cost. The minimum billing interval is one month. The only cost not covered by this program is for the electrician or technician to install and configure the SCADADroid, or if a higher db antenna then the one with the leasing kit is needed. For further details on the leasing program please visit


If you would like to know more about MQTT, it’s performance and history, please refer to the Reonix white paper:

SCADADroid® Setup – Connecting to ScadaDroid

  • Scroll to Top