Skip to content

IT-OT Convergence With HiveMQ Edge: A Getting Started Guide

by Kudzai Manditereza
25 min read

The pursuit of data-driven operations to drive efficiency and innovation in manufacturing through advanced data analytics has really ramped up over the last few years, and it doesn’t seem to be stopping. However, integrating IT technologies with existing OT edge systems presents many challenges that can impede the transition toward a data-driven approach. 

This is a hands-on guide on using HiveMQ Edge to unlock data at the industrial edge for seamless IT-OT integration with MQTT. But first, let’s take a look at the challenges.

Challenges of IT-OT Convergence

The Cost of Connectivity

A significant obstacle is the expense involved in connecting edge systems. The challenge arises from the data being locked within proprietary interfaces, necessitating the use of specialized connectors or converters to manage these unique formats. Moreover, this situation requires professionals with specific expertise. As a result, not only does the initial investment increase, but the complexity of integration efforts also grows. This complexity hinders the ability to create a seamless, interconnected manufacturing environment.

Data Infrastructure Replication

In addition, each data use case often requires its own setup. This means replicating data infrastructure across different parts of the manufacturing process, which is both inefficient and costly. Imagine having to build a new data connectivity infrastructure for every data use case, rather than utilizing a unified data infrastructure that serves all use cases. This redundancy slows down innovation and increases operational costs.

Inconsistency in the Medium of Data Exchange

Another significant challenge is the lack of consistency in the medium of exchanging data at the edge. This inconsistency often leads to integration difficulties, as different systems and devices may use incompatible methods to communicate. 

Inconsistency in the Structure of Data

Additionally, manufacturers face the challenge of integrating with legacy systems that often lack consistency in the language and structure of data. This makes it difficult to aggregate and analyze data across different systems, hindering their ability to gain insights and make informed decisions. 

The Challenge of Deriving Value

Deriving value from data is a cornerstone of smart manufacturing. However, the lack of standardized, unified, contextualized, and easily accessible data makes this incredibly challenging. Without these elements, data remains siloed and underutilized, significantly diminishing its potential value to smart manufacturing strategies.

The Lack of Semantic Representation

Lastly, the lack of semantic representation poses a challenge in identifying the source of data. Without a clear way to understand where data comes from, its context, and its significance, data-driven decisions become difficult.

Introducing HiveMQ Edge: A Novel Solution for IT-OT Interoperability

OT-IT Convergenve with HiveMQ Edge

HiveMQ Edge is a connectivity solution that was designed to address these challenges of integrating data from Operations Technology with Information Technology. It is a lightweight open-source MQTT gateway optimized for edge deployment.

HiveMQ Edge enables interoperability between OT and IT systems by translating diverse industrial device protocols into MQTT for streamlined communication. It helps standardize and unify data and make it easily accessible across your manufacturing organization, creating a foundational data infrastructure from which all data use cases could be addressed.

This guide will introduce participants to the core concepts of how HiveMQ Edge enables Industry 4.0 and illustrate how they can use HiveMQ Edge to integrate data from OT devices with IT systems, consolidating and democratizing data across diverse industrial landscapes.

Key HiveMQ Edge Features 

Let’s take a look at the key features of HiveMQ Edge.

HiveMQ Edge Features

Protocol Adapters

Protocol adapters are at the core of HiveMQ Edge. They enable users to connect to and collect data from industrial devices using various communication protocols, subsequently publishing this data to your MQTT network.

HiveMQ Edge currently provides the following protocol adapters:

  • The Siemens S7 protocol adapter allows you to integrate data from Siemens S7-300, S7-400, S7-1200, S7-1500 & LOGO Programmable Logic Controllers.

  • The Modbus TCP protocol adapter allows you to integrate data from Modbus TCP devices. 

  • The OPC UA protocol adapter allows you to integrate data from OPC UA Servers. 

  • The EthernetIP protocol adapter integrates data from Rockwell / Allen-Bradley ControlLogix and CompactLogix devices supporting Ethernet IP.

  • The Beckhoff ADS protocol adapter allows you to integrate data from PLC devices supporting ADS.

  • The HTTP(s) protocol adapter allows you to integrate structured JSON or plain data from arbitrary web endpoint URLs via HTTP(s).

HiveMQ Edge will include protocol adapters for Allen-Bradley/Rockwell devices and BACnet devices in the upcoming versions. 

In addition, HiveMQ Edge provides a template that allows users to create their own protocol adapters. 

MQTT Broker and MQTT-SN Gateway

Next, HiveMQ Edge features a fully compliant MQTT broker that adheres to MQTT versions 3.1, 3.1.1, and 5. This integrated MQTT broker facilitates the publication of data received through protocol adapters and external MQTT clients. It also allows for the forwarding of this data to cloud-based or enterprise MQTT brokers.

Moreover, HiveMQ Edge includes a built-in gateway for MQTT for Sensor Networks, MQTT-SN, a protocol tailored for Wireless Sensor Networks. In HiveMQ Edge, MQTT-SN uses UDP for communication. The MQTT-SN functionality is optional and can be activated as needed.

MQTT Bridging

Moving on, HiveMQ Edge includes MQTT Bridging capability, which is a feature that allows users to establish and manage bidirectional communication between a HiveMQ Edge node and remote or cloud-based MQTT brokers, thereby facilitating MQTT data exchange across distributed environments.

Offline Buffering 

To ensure zero data loss in case of connection failure, HiveMQ Edge provides the Offline Buffering feature, which enables the queuing and publishing of messages when the connection is restored. This is otherwise known as store-and-forward.

Data Hub on HiveMQ Edge 

DataHub on HiveMQ Edge is a feature that enables users to validate and manipulate data at the edge, ensuring the publication of only clean and reliable data to downstream IT applications.

HiveMQ Data Hub Capabilities include:

  1. Schema Definition: This enables users to define schemas for how data should be formatted and use them to validate MQTT payloads. Both JSON and Protobuf formats are currently supported.  

  2. Data Validation: This enables users to define and enforce policies for how bad data should be treated, for example, logging, transforming, or rerouting the data.

  3. Data Transformation: This enables users to convert or manipulate raw or structured data into the desired format as it moves through the MQTT broker. For example, converting units of temperature measurement from Fahrenheit to Celsius

  4. Client Behavior Enforcement: This enables users to define and enforce policies that dictate agreed-upon behaviors for how devices should work with the MQTT broker.

  5. Rest API - Data Hub feature also exposes a REST API interface for applications to interact programmatically with it.

Unified Namespace (UNS)

Lastly, HiveMQ Edge also has a facility to prefix your MQTT topics with a custom semantic hierarchy that adheres to the ISA-95 standard.

In the next section, I’m going to show you how to install and run HiveMQ Edge

Installing HiveMQ Edge 

System Requirements

Before I show you how to download and install HiveMQ Edge, let’s take a quick look at the system requirements for the software. 

HiveMQ edge is designed to run on constrained / embedded hardware. This includes devices such as the Raspberry Pi, Industrial IoT Gateways, and some Programmable Logic Controllers.

To cater for various deployment scenarios, HiveMQ Edge supports Linux, Windows, and Mac OS X operating systems.

To run HiveMQ Edge in a production environment, it is essential to have the Java Runtime Engine (OpenJDK JRE 11) version 11 or newer installed. 

For developers working on HiveMQ Edge, it is recommended to use the Java Development Kit (OpenJDK JDK 11) version 11 or newer. 

Downloading and Running HiveMQ Edge

Now, I'll walk you through how to download, install, and run HiveMQ Edge.

In this example, I’ll demonstrate how to run HiveMQ Edge with Docker on Windows 11. However, you can optionally run it manually or as a service.

First, open your preferred web browser and navigate to the official HiveMQ Edge GitHub page. 

HiveMQ Edge GitHub RepoOnce you're on the page, scroll down to the Quick Start Section. You'll find the Run with Docker instructions under the How to Use section. 

To execute this image, copy the Docker command, open your Windows command prompt, and run the command.

The Docker command to download HiveMQ EdgeAfter the installation is complete, you can open Docker Desktop to see that the HiveMQ Edge container is running. 

This means that you can now use a web browser to access its user interface at port 8080, and you can connect MQTT clients to the MQTT broker at port 1883. 

HiveMQ Edge on Docker Instance

To login, you can use the default login credentials; admin for user, and hivemq as password.

Sign-in to HiveMQ Edge

Navigating the User Interface

Homepage

When you log into HiveMQ Edge, you're greeted with the homepage, which serves as your starting point. Here, direct links are available to start using Protocol Adapters and creating MQTT bridge connections to connect HiveMQ Edge to an enterprise or cloud-based MQTT broker.

Setting-up HiveMQ Edge

You'll find the navigation bar on the left-hand side of your screen, allowing you to move between different areas of your application.

Workspace Page

By selecting the workspace option, you land on a page that provides a real-time overview of all active client and bridge connections and a graphical representation of your HiveMQ Edge network topology.

Connecting HiveMQ Bridge with OPCUA servers on HiveMQ Edge

MQTT Bridges Page

The MQTT Bridges section is dedicated to setting up and managing bidirectional MQTT connections between your local HiveMQ Edge node and remote MQTT brokers.

MQTT Bridge Setup on HiveMQ Edge

Protocol Adapters Page

In the Protocol Adapters area, you connect to and aggregate data from industrial devices using various protocols, subsequently publishing this data to your MQTT network.

Protocol Adapters on HiveMQ Edge

Event Logs Page

The Event Logs section provides a historical view of all the significant events and activities within your HiveMQ Edge deployment.

Event log on HiveMQ Edge

Data Hub

The Data Hub section provides a Policy Designer, a visual tool to help you effortlessly build policies, schemas, and scripts all from a single view. Users can easily open the designer via the menu, as depicted in the screenshot below.

Data Hub on Edge

The Policy Designer also provides an easy-to-use JavaScript editor with syntax highlight shown in the screenshot below directly editable via a browser.

Data Hub on Edge

Unified Namespace

The Unified Namespace section allows you to prefix your MQTT topics with a custom semantic hierarchy.

ISA-95 Unified Namespace on HiveMQ Edge

External Resources

At the bottom, additional resources, such as Documentation, offer further support and information.

Integrating OPC UA Data into MQTT with HiveMQ Edge

In this section, I'll show you how to integrate data from industrial devices into an MQTT network. As an example, we'll use the OPC UA protocol adapter to integrate data from Groov Rio industrial device by Opto 22. The device setup provides a temperature data point through its OPC UA server interface. We will collect this temperature data using HiveMQ Edge and publish it to an MQTT topic. 

Configuring OPC UA Protocol Adapter

First, select 'Protocol Adapters' from the sidebar to see a list of all available adapters. Then, under the OPC UA to MQTT protocol adapter section, click on 'Create New Connection.' 

HiveMQ Edge Protocol Adapters

Next, you'll need to enter a unique identifier for your adapter instance and the endpoint URI of your OPC UA server. To find this URI for your PLC or device, refer to its documentation. 

Protocol Adapters on HiveMQ Edge

Once this is set, go to the 'Subscription' tab, click on 'Add Item,' and enter the Node ID of your OPC UA data point and the destination MQTT topic where you want the data to be sent.

Protocol Adapters on HiveMQ Edge

Moving on to the security settings, in my demo setup, the PLC allows an anonymous OPC UA server connection, so I'll select 'None' under the OPC UA security policy. However, in a production environment, ensure you use appropriate security measures.

Protocol Adapter on HiveMQ Edge

If your OPC UA server requires authentication, switch to the 'Authentication' tab. Here, enter your username and password or enable X.509 authentication if you're using it.

After filling in all the necessary details for your OPC UA protocol adapter instance, click the 'Create' button. A 'Connected' status should appear next to your adapter instance, indicating it's properly set up. 

To verify the data transfer, use an MQTT client like MQTT.fx. Connect to the HiveMQ Edge broker with this client and subscribe to the MQTT topic where your data is being published. You should start receiving the temperature values under the topic 'DischargeTemperature.'

Testing MQTT Connection on MQTT.fx

Edge-to-Cloud MQTT Connectivity with HiveMQ Edge

In this section, I'll show you how to use HiveMQ Edge MQTT bridging functionality to connect a HiveMQ Edge node to a remote MQTT broker like HiveMQ Cloud

Configuring MQTT Bridge

I've created a free MQTT broker cluster on HiveMQ Cloud. So I'll copy the connection details here that we're going to use on HiveMQ Edge platform.

HiveMQ CloudTo establish an MQTT bridge between your HiveMQ Edge node and HiveMQ Cloud MQTT broker, select 'MQTT bridges' from the side panel. This will display any existing MQTT bridge configurations.

MQTT Bridges on Hivemq EdgeTo set up a new bridge connection, click on 'Add Bridge Connection' and assign a unique name for your bridge. Next, input the connection details of your remote MQTT broker, starting with the hostname, which I've previously copied from HiveMQ Cloud.

MQTT BridgeSet the port to 8883 to enable a TLS connection and then input the access credentials that you established on HiveMQ Cloud. 

Following this, specify which MQTT topics from your HiveMQ Edge node you want to forward to the remote MQTT broker.

MQTT Bridges in HiveMQ EdgeFor instance, I configured an OPC UA protocol adapter from a previous setup to monitor temperature and publish it to an MQTT topic called 'DischargeTemperature.' I intend to forward this topic to the HiveMQ Cloud broker. 

Under the destination section, specify the destination topic in the remote broker. I'll retain the original topic name by using the provided expression.

In the advanced configuration settings, I'll leave the quality of service at zero and set the retain flag to true. Proceed to the broker configuration tab and keep the default settings unless you need specific adjustments.

Next, navigate to the security settings and toggle the Transport Layer Security switch on. 

Enable TLS on HiveMQ EdgeOnce you have entered all required details, click on 'Create the Bridge.' A successful connection will display a 'Connected' status.

MQTT BridgeThis confirms that we are successfully forwarding all temperature data points read from the OPC UA server to the HiveMQ Cloud MQTT broker. 

To verify this, return to the HiveMQ Cloud portal, click on 'Web Client', and connect using generated credentials. Subscribe to all topics to see the data moving from the edge to the cloud using HiveMQ Edge.

MQTT Connection

Conclusion

HiveMQ Edge solves several challenges IIoT manufacturers face when it comes to integrating industrial data from OT to IT. It enables OT and IT interoperability by translating diverse protocols into the standardized MQTT format, thereby modernizing IIoT infrastructure and making seamless edge-to-cloud integration a reality.

Get HiveMQ Edge FREE

Kudzai Manditereza

Kudzai is a tech influencer and electronic engineer based in Germany. As a Developer Advocate at HiveMQ, he helps developers and architects adopt MQTT and HiveMQ for their IIoT projects. Kudzai runs a popular YouTube channel focused on IIoT and Smart Manufacturing technologies and he has been recognized as one of the Top 100 global influencers talking about Industry 4.0 online.

  • Kudzai Manditereza on LinkedIn
  • Contact Kudzai Manditereza via e-mail
HiveMQ logo
Review HiveMQ on G2