Versions Compared

Key

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

...

Info
iconfalse

Quick video tutorial: MQTT Broker Without Sparkplug TMQTT Broker And SparkplugMQTT With Mosquitto Broker (no audio)

Introduction

MQTT

As defined in http://mqtt.org/:

...

The TMQTTBroker can be connected to a runtime project, and it will make all of the project's namespaces and properties available. When connected like this, the project information will be available following the SparkplugB specification. 

...


...

TMQTTBroker.exe.config

Before running TMQTTBroker.exe, the file TMQTTBroker.exe.config must be configured with the desired configuration. TMQTTBroker.exe.config is in the product installation folder, and you can open it in any text editor. It is very important that the file name and extension (.exe.config) remain the same.

...

  • Backlog: Sets the number of connections to keep a backlog. The default is 100. 
  • DisableRetainedFile: The broker stores the last retained message and the corresponding QoS for that topic. The valid value is true or false. The default is false.

  • ClientID: This parameter enables limitations for specific MQTT clients. To configure more than one MQTT client, you need to create a whole new line and change the last number of the ClientID to the next sequence sequential number.


    Code Block
    add key="ClientID1" value="<MQTTClientID>; Topic1=<Topic>, Subscribe1=<True or False>, Publish1=<True or False>" />


    There are 4 internal parameters:

  • value: Sets the MQTT Client ID
  • Topic: Specific topic that will set the limitation
  • Subscribe: Flag (true or false) that allows the client to subscribe to a topic (can receive messages)
  • Publish: Flag (true or false) that allows the client to publish a topic (can write messages) 

    Code Block
    <add  key="ClientID1"  value="MQTTClientTest;Topic1=*,Subscribe1=True,  Publish1=True"/>
    
    <add  key="ClientID2"  value="32443fsa6546fa;Topic1=*,Subscribe1=True,  Publish1=False"/>
    
    <add  key="ClientID3"  value="7323rt304343r4;Topic1=*,Subscribe1=False,Publish1=True"/>


...

  • Group Id: is the name that is configured in the .config
  • Message Type: The following Message Type elements are defined for the Sparkplug specification. For most clients that support SparkplugB, the message type will automatically be set. 
  • NBIRTH – Birth certificate for MQTT EoN
  • NDEATH – Death certificate for MQTT EoN
  • DBIRTH – Birth certificate for devices
  • DDEATH – Death certificate for devices
  • NDATA – Node data
  • DDATA – Device data
  • NCMD – Node command
  • DCMD – Device command
  • STATE – Critical application state
  • Project Name: is the same name configured in the .config
  • MQTT Device Name: it can be a namespace or an object from the runtime project. Individual However, individual objects should be avoided and uses the namespaces for . Use a namespace for better performance


Examples of namespaces: Tag, Script, Device, Info, Script, Server, Security, Alarm, Historian DataSets, TemplatesName and MainTag for arrays.

...