MQTT Integration
RUSEON Core uses Eclipse Paho MQTT to publish AI metadata and system telemetry to external brokers.
Architecture
- Buffering: Uses a
LockFreeRingBufferwith a capacity of1024messages. This ensures that a slow MQTT broker cannot block the core video processing pipeline. - QoS: Messages are published with QoS 0 (At most once delivery) and are not retained.
- Delivery: Fire-and-forget. The publisher does not block waiting for acks.
- Reconnection: Handled natively by Paho, with a 5-second retry interval.
Topics and Payloads
The MQTT publisher primarily broadcasts the MetadataRequest JSON payload (originally received via gRPC).
Example Payload:
json
{
"camera_id": "cam-01",
"pts": 16918234000,
"objects": [
{
"label": "person",
"confidence": 0.95,
"x": 0.1,
"y": 0.2,
"width": 0.15,
"height": 0.4
}
]
}Performance Note
Due to the LockFreeRingBuffer limit of 1024, if the MQTT broker goes down or connection speed is extremely low, older metadata will be dropped (drop-newest policy) to keep the system responsive.