We are excited to announce the release of a brand new how-to video series on implementing MQTT in Ignition. We created this series as an easy-to-follow guide that will explain how this messaging protocol works, why it’s an ideal solution for SCADA, and help you get your IIoT project off to a smooth start.
And who better to talk about MQTT than the president of Cirrus Link Solutions and co-inventor of MQTT, Arlen Nipper, along with Travis Cox, the Co-Director of Sales Engineering here at Inductive Automation.
Together, Travis and Arlen cover MQTT modules, setting up MQTT architectures, Sparkplug specification, and configuring MQTT modules. They also provide demos on setting up Transport Layer Security (TLS), allowing outbound tag writes, turning data into usable tags, and more.
“We made the MQTT videos to help customers understand MQTT and the benefits of using MQTT. The videos will help customers get off the ground and running using MQTT, especially with setting up TLS and store-and-forward.” – Travis Cox
MQTT was created to collect data from devices and then transport that data to the IT infrastructure. It is lightweight, and therefore ideal for remote monitoring, especially in connections that require a small code footprint or where network bandwidth is limited.
“MQTT has emerged as one of the dominant OT transport protocols in use today” – Arlen Nipper
To kick off the series, Arlen takes us through the genesis of MQTT, why it was invented, the problems it was invented to solve, the design goals, how it was built, where it got started, and where it’s being utilized today.
What You’ll Learn in the Series:
1. What is MQTT?
Arlen Nipper discusses the invention of MQTT and how it became the simple and lightweight publish/subscribe messaging protocol we know today. Arlen covers MQTT specifications, messaging standards, and where MQTT is being used.
2. How MQTT Works
To really understand how MQTT works, the first step is to understand the definitions and components of MQTT architectures, including publish-and-subscribe, publishing on a topic, topic namespace, payload, MQTT brokers, and MQTT clients.
3. MQTT Sparkplug Specification
Sparkplug is a specification that defines how to use MQTT in a mission-critical, real-time environment. Arlen walks you through what Sparkplug can do in terms of operational data, advancing from legacy register/value information to a single source of truth at the edge. Arlen breaks down MQTT Sparkplug architecture, failover, redundancy, and scale.
4. MQTT in Ignition
Arlen discusses Ignition in digital transformation, looking at using a different architecture for OT infrastructures and demonstrating a superior solution. Arlen goes over legacy approaches, poll/response protocols, MQTT modules, middleware, and Sparkplug benefits.
5. MQTT Distributor Module
We see Travis download, install, and configure the MQTT Distributor Module for Ignition. The module enables MQTT clients and applications to securely connect, publish, and subscribe to data, supplying data to both operational and business applications throughout the enterprise.
6. MQTT Transmission Module
Travis installs and configures the MQTT Transmission Module for Ignition. This module allows you to publish any configured tag in Ignition such as OPC, memory, and more to an MQTT server so that applications can subscribe to that data.
7. Using the MQTT Transmission Module to Publish Data
Travis takes a deeper dive into the MQTT Transmission Module, covering the different ways you can publish data to a single MQTT server or to multiple MQTT servers in parallel. Travis also goes into how to configure service sets and transmitters inside a transmission to accomplish different tasks.
8. MQTT Engine Module
Travis installs and configures the MQTT Engine Module for Ignition. The module allows us to connect to an MQTT server and subscribe to data. It will automatically discover all the data that’s there and turn that data into usable tags in Ignition that you can add configuration to.
9. Allow Outbound Tag Writes
By default, when you install the MQTT Engine Module, there’s a setting that blocks the device tag writes. Travis shows how to allow outbound tag writes using the MQTT Engine Module so you can write down to a tag in the PLC on the other side.
10. Primary Host ID Setting
Travis discusses the primary host ID setting for the MQTT Engine and MQTT Transmission Module. The primary host ID identifies the main application that is receiving the MQTT data to guarantee that data doesn’t get lost and gets delivered to the desired application.
11. How to Set Up Transport Layer Security
Travis demonstrates how to set up Transport Layer Security (TLS) in the MQTT Distributor, Engine, and Transmission Modules. This is critical for secure and cryptic communication.
12. Set Up Store-and-Forward System
Travis shows how to set up the store-and-forward system in both the MQTT Engine Module and the MQTT Transmission Module. Store-and-forward is very critical to applications because if you lose connection to either side, you lose data. This demo is a pure MQTT solution, meaning it will work with third-party edge nodes or applications. Travis also shows how to buffer data locally when a connection is down and bring that data back to the historian once the connection is restored.
Where to Watch the Videos:
There are a few different places you can watch our “Implementing MQTT in Ignition” videos. The first way is on our Resources page, where we host our articles, case studies, videos, podcasts, webinars, and more. Look for the How-To’s tab under the filter. The second way is to watch them on our YouTube channel. Remember to sign up for our weekly News Feed so that you receive the latest updates and content from Inductive Automation.
Tags /IIoT SCADA Sparkplug Distributor Module Transmission Module Engine Module Host ID Store-and-Forward Ignition