Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Connect to a MQTT broker and map points.

TutorialsDevices| Tutorial | How-to Guide | Reference


This Tutorial Teaches how to:

Configure MQTT client connection for IoT devices, cloud platforms, or inter-system communication using the lightweight publish/subscribe protocol.

What You'll Learn

  • Configure MQTT client
  • Subscribe to topics
  • Publish tag values using Sparkplug B
  • Map topics to tags

Prerequisites:

Table of Contents
maxLevel2
minLevel2
indent10px
excludeTutorial
stylenone


1. Set Up the MQTT Broker and Simulator

Start the Built-in Broker

  1. Navigate to Data Explorer → MQTT Tools
  2. Click Run Local Built-in Broker to start the broker
  3. Connect to the broker (connection will show as established)

Run the MQTT Publisher Simulator

  1. Start the MQTT Publisher Simulator
  2. Verify data is publishing - you'll see:
    • Cities (e.g., Barcelona)
    • Solar panels with properties:
      • Name
      • Power
      • Temperature
      • Real-time changing values

2. Configure MQTT Client

  1. Navigate to Devices → Protocols
  2. Select MQTT Message Queuing Telemetry Transport 
  3. Create channel:
    • Name: MQTTClient
    • Protocol: MQTT Client
  4. Go to Device → Nodes
    1. Name: IoT_Sensors
  5. Open PrimaryStation and configure:
    1. BrokerURL: 127.0.0.1
    2. Port: 502
    3. ClientID: FrameworX



3. Create Points

  • MQTT broker available (or use public test broker)
  • Basic understanding of MQTT topics

Step 1: Configure MQTT Client

  1. Navigate to Devices → Channels
  2. Create channel:
    • Name: MQTTClient
    • Protocol: MQTT Client
    • Settings:
      • Broker URL: test.mosquitto.org (or your broker)
      • Port: 1883 (or 8883 for SSL)
      • Client ID: FrameworX_001
      • Keep Alive: 60 seconds

Step 2: Set Authentication (if required)

For secured brokers:

  • Username: Your username
  • Password: Your password
  • SSL/TLS: Enable if using port 8883
  • Certificates: Browse to certificate files

Step 3: Subscribe to Topics

  1. Go to Devices → Nodes
  2. Create subscription node:
    • Name: IoT_Sensors
    • Channel: MQTTClient
    • Subscribe Topic: sensors/+/temperature
    • QoS: 1

The '+' wildcard subscribes to all sensors.

Step 4: Create Points for Subscribed Data

  1. Navigate to Devices → Points
  2. Add points for each expected topic:

Temperature Tank 1 Sensor:

  • Name: Sensor1_TagName: TankFarm/Tank1/Temp
  • Node: IoT_Sensors
  • Topic: sensorsTankFarm/sensor1Tank1/temperature
  • Data TypeAccessType: Double
  • JSON Path: $.value (if JSON payload)
Humidity
  • Read

Temperature Tank 2 Sensor:

  • Name: Sensor1_Humidity TankFarm/Tank2/Temp
  • Node: IoT_Sensors
  • Topic: sensorsTankFarm/sensor1Tank2/humiditytemperatureData Type
  • AccessType:
  • Double

Step 5: Publish Tag Values

  1. Create publish node:
    • Name: SCADA_Publisher
    • Channel: MQTTClient
    • Publish Mode: On Change
  2. Configure published points:
    • Tag: Select tag to publish
    • Topic: scada/line1/production
    • QoS: 1
    • Retain: True (optional)

Step 6: JSON Payload Handling

For complex JSON:

json

{
  "deviceId": "sensor1",
  "temperature": 22.5,
  "humidity": 45,
  "timestamp": "2024-01-01T12:00:00Z"
}

Configure point:

  • JSON Path for temperature: $.temperature
  • JSON Path for humidity: $.humidity
  • JSON Path for timestamp: $.timestamp
  • Read

Temperature Tank 3 Sensor (write):

  • Name: TankFarm/Tank3/Temp
  • Node: IoT_Sensors
  • Topic: TankFarm/Tank3/temperature
  • AccessType: Write



4.

Step 7:

Test Connection

  1. Start Runtime
  2. Open Devices → Devices Monitor
  3. Use MQTT client tool (like MQTT Explorer) to:
    • Publish test messages
    • Verify FrameworX publishes

Sparkplug B Configuration

For industrial MQTT:

  1. Select Protocol: MQTT SparkplugB
  2. Configure:
    • Group ID: Plant1
    • Edge Node ID: Line1
    • Device ID: PLC1

Best Practices

  • Use meaningful topic hierarchies
  • Set appropriate QoS levels
  • Enable retain for configuration data
  • Implement Last Will and Testament
  • Use SSL/TLS in production

Next Steps

  • [AWS IoT Core Connector] - Cloud integration
  • [Enrich Data & Scripts] - Process MQTT data
  • [Secure & Deploy] - Production security

    In this section...

    Page Tree
    root@parent
    spaces93DRAF