MQTT Data Receiver

Prev Next

The mqtt data receiver retrieves data by subscribing to topics. Also includes support for sparkplug.

MQTT Example:

{
  "data_receiver_name": "my_mqtt_receiver",
  "protocol": "mqtt",
  "connections": [
    {
      "host": "some-host.local",
      "port": 1883,
      "username": "some_user",
      "password": "some_pass",
      "default_topic": "<insert topic name here. Used if stream topics undefined>"
    }
  ],
  "streams": [
    {
      "asset": "asset",
      "stream_type": "stream_type",
      "topic": "<insert topic name here>"
    }
  ]
}

Configuration:

Required and optional properties that can be configured for an Iot Hub receiver:

  • connections: How to connect to the MQTT server. A connection has the following configurable settings:
    • host: MQTT broker hostname (e.g. broker.emqx.io)
    • port: MQTT connection port (Defaults to 1883)
    • client_id: Some unique string identifying the client to the MQTT server. Must be unique across all connections to the MQTT server.
    • username: Username to connect to the server
    • password: Password to connect to the server
    • version: The MQTT protocol version to use (Default is 3.1.1)
    • default_topic: Name of topic(s) to subscribe to. To subscribe to multiple topics, you can also use MQTT wildcards (‘+’, ‘#’)
    • plugin: MQTT provides additional protocols like sparkplug. The only option available here is “sparkplug” for the Sparkplug B format.
  • streams: Each input stream has the following configurable settings:
    • asset: Asset identifier
    • stream_type: Type of data stream
    • topic: Name of topic(s) to subscribe to. To subscribe to multiple topics, you can also use MQTT wildcards (‘+’, ‘#’) This option overrides default_topic if it is already configured.