The industrial automation world is just buzzing with internet of things (IoT) news and industrial internet of things (IIoT). SCADA software, polling drivers, field Ethernet to serial gateways and just about everyone else is taking advantage of the new buzzwords. One of the new primary protocols for IIoT devices is MQTT.
Last month I attended the Well Site Automation conference in Houston where they talked much about the promise of MQTT for industrial devices. There were only a few details about the protocol available in the sessions at the conference so I had to do some more research afterwards and what I found is really interesting. MQTT is a publish/subscribe protocol that uses a middle-man server (the broker) to distribute data from remote devices to data consumers. Remote devices or an intermediary communication gateway send data using MQTT up to the broker as needed or on schedule. This broker then distributes any data to its subscribers, which could be other remote devices, your SCADA host, or a business intelligence system.
So how does that help our clients and end users? Well probably not much in the short term. Most industrial devices in oil and gas have no idea what MQTT is, much less how to send data using it. To get into the game you would need some intermediate gateway hardware that talks traditional industrial protocols to MQTT messages that can be published to a broker.
So far a few SCADA software packages are getting on board. Ignition from Inductive Automation is really pushing it as a next generation protocol. Driver suites are also catching up too. Kepware has started including an IoT Gateway in their driver suite which can publish polled tag data direct to an MQTT broker.
As far as I can tell MQTT is not going away any time soon.
Here are some links to resources about MQTT.
- Cirrus Link Homepage (co-developed MQTT with IBM) – http://www.cirrus-link.com/
- Inductive Automation Ignition IIoT – https://inductiveautomation.com/ignition-iiot
- Kepware 6 with IoT Gateway – https://www.kepware.com/en-us/products/kepserverex/version-6/
- HyveMQ Information about MQTT – http://www.hivemq.com/mqtt-essentials/
- Mosquitto Open Source MQTT Broker – https://github.com/eclipse/mosquitto
- MQTT Specification on Oasis Open – http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html
- MQTT.org website (looks defunct though… no updates since late 2014) – http://mqtt.org/
- Facebook Developer Note Indicating use of MQTT for Facebook Messenger – https://www.facebook.com/notes/facebook-engineering/building-facebook-messenger/10150259350998920/