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