MQTT Topics (GA-AIM)

Introduction

GA-AIM makes use of MQTT to exchange data among applications and equipment in the GA-AIM ecosystem. To enhance the interoperability of MQTT, GA-AIM makes use of concepts defined in the Sparkplug specification. This document provides an overview of how to define MQTT topics using Sparkplug at GA-AIM.

The Sparkplug spec requires that the following MQTT topic structure be followed:

namespace/group_id/message_type/edge_node_id/device_id

GA-AIM extends the Sparkplug topic structure as follows:

namespace/group_id/message_type/edge_node_id/device_id/metric

Where,
namespace = “spBv1.0” for all messages
group_id = a unique value provided by the GA-AIM data architecture group
message_type = “DDATA” per the Sparkplug spec for most messages
edge_node_id = the name of the gateway or edge device
device_id = a unique value provided by the GA-AIM data architecture group
metric = the type of data being published, same as dataItemId in MTConnect

Here’s an example of an MQTT topic using the GA-AIM extensions:

spBv1.0/project-efficiency/DDATA/controller/Okuma001/spindle_speed