Data Adapters

Data adapters connect manufacturing equipment and external data sources to the Digital Data Backbone (DDB). Each adapter handles a specific protocol or interface, translating incoming data into DDB’s standardized format for streaming via MQTT.

Available Adapters

Adapter

Description

Recommended Topic Family

gRPC

Connects to gRPC services to stream data

historian

Key-Value Store

Publishes key-value payload messages (project, user, tp-tag, data) into DDB

kv

Local Files

Watches local directories for new files and publishes them as file blobs

blob

MQTT

Subscribes to MQTT topics and relays into DDB

historian

MTConnect

Interfaces with MTConnect-enabled CNC machines

historian

ROS

Subscribes to ROS1 topics for real-time data streaming

historian

ROS2

Subscribes to ROS2 topics using rclpy for data streaming

historian

ROS Files

Captures Image and PointCloud2 messages as file blobs

blob

Links

How Data Adapters Work

All data adapters inherit from the BaseDataAdapter class and share common behaviors:

  1. Configuration — Each adapter accepts a YAML/JSON configuration defining connection parameters, source topics, and output format.

  2. Data Collection — Adapters either poll for data (get_data()) or receive it via callbacks (e.g., ROS subscribers).

  3. Publishing — Collected data is published to the MQTT broker under the DDB topic structure based on the adapter’s recommended topic_family.

Configuration Reference

Each adapter defines:

  • CONFIG_HELP — A dictionary describing all configuration parameters, their types, and descriptions.

  • CONFIG_EXAMPLE — A complete example configuration for quick setup.

  • RECOMMENDED_TOPIC_FAMILY — The default topic family (kv, historian, or blob) this adapter produces data in.