Skip to content

Migrating OPC UA PubSub device from RabbitMQ to MindConnect MQTT

Introduction

This guide explains the steps to migrate OPC UA Pub Sub agent to MindConnect MQTT broker. This guide also ensures the continuity in data storage into the same asset.

Migration Architecture

The below image represents the architecture of migration from OPC Pub Sub RabbitMQ to MindConnect MQTT.

Migration Architecture

Procedure

To migrate from OPC UA Pub Sub RabbitMQ to MindConnect MQTT, follow these steps.

1. Offboard the agent

Disconnect the user's Agent from the existing broker(mqtt.eu1.mindsphere.io).

2. Download the MindConnect MQTT Broker certificate

Login to Insights Hub environment and navigate to the "Asset Manager" application. In the "Connectivity" section, Select "Manage MQTT Certificates" and click "Broker Information". "MindConnect MQTT Broker Certificate" is available as shown.

Manage MQTT Certificates

  • Broker URL: mindconnectmqtt.eu1.mindsphere.io:{TCP Port}.
  • Broker ports : use the port number as per the requirement.
Protocol Authentication TCP Port ALPN Protocol
MQTT Client Certificate 8883 N/A
MQTT Client Certificate 443 x-amzn-mqtt-ca

3. Create and Download the Agent credentials

User can authenticate the agent using either one of this two ways.

Note

User can continue to use the existing CA certificate that was uploaded to OPC UA Pub Sub broker when migrating to MindConnect MQTT broker. However the agent certificate has to be created even though the CA certificate did not change. This is because the common name field of the agent certificate needs a change.

An example of downloaded certificate and private key is shown below:

Private key

In the above image,
"dade1" is an example of environment name.
"OPCUATimeseriesDeviceTest" is the certificate name.
"dade1_OPCUATimeseriesDeviceTest" is used as an user clientId.
If the user needs to connect and continue to ingest the data to the existing asset, agent certificate is created with the same name as the existing "core.mcX509" agent. For example, If user has a "core.mcX509" agent with a name of OPCUATimeseriesDeviceTest then the user has to create agent certificate with the respective name OPCUATimeseriesDeviceTest and the clientId is dade1_OPCUATimeseriesDeviceTest.

Note

What is clientId?
To successfully connect, onboard, and communicate with the MQTT broker, each client requires a client id in the following format,
<clientId> = <tenant>_<CertificateName>

4. Install the Agent Credentials

Install certificate and private key in user's agent. Installation depends on the software used in the agent. Refer to the software manual. After Installing the agent credentials the agent is ready to send the Timeseries.

Note

Example of MQTT Client Configuration: MQTT Client Configuration

5. Send Timeseries or Events data

Ingest the Timeseries or Events data over the data topics:

  • c/<clientId>/o/opcua/v3/u/d/t
  • c/<clientId>/o/opcua/v3/u/d/e

Note

  • To ensure the continuity of data stored in the existing asset, avoid ingesting the metadata. Ingesting metadata creates a new asset and the data will be stored in the new asset.
  • After verifying the uploaded data (Time series or Events), delete the previous asset type core.x509 from the Asset Manager in the Insights Hub to maintain the agent quota limit.

Last update: April 4, 2024

Except where otherwise noted, content on this site is licensed under the Development License Agreement.