Difference between revisions of "File-based MQTT emulation"

From OPC Labs Knowledge Base
Jump to navigation Jump to search
Line 36: Line 36:
  
 
== Example ==
 
== Example ==
You can instruct the UADemoPublisher utility to produce JSON messages for MQTT and store them into a directory/file structure using the following command:
+
You can instruct the UADemoPublisher utility to produce JSON messages for MQTT and store them into a directory/file structure under "C:\MqttRoot" using the following command:
  
 
  publish --MqttJsonTcp --ConnectionProperty {http://opclabs.com/OpcUA/PubSub}MessageChannel!=[String]OpcLabs.BaseLib.Communication.Mqtt.FileMqttMessageChannel,OpcLabs.BaseLib
 
  publish --MqttJsonTcp --ConnectionProperty {http://opclabs.com/OpcUA/PubSub}MessageChannel!=[String]OpcLabs.BaseLib.Communication.Mqtt.FileMqttMessageChannel,OpcLabs.BaseLib

Revision as of 10:32, 18 April 2021

This communication package emulates a function of an MQTT broker by storing the messages in form of files in directories of a file system.

See Using communication packages for instructions on how to select the communication package, and configure it.

The file-based MQTT emulation is only in the MQTT client role only.

The type name of the message channel object is: OpcLabs.BaseLib.Communication.Mqtt.FileMqttMessageChannel,OpcLabs.BaseLib .

Opening the channel

URL string

The URL string, if provided by the host software, is ignored.

Interface name

The interface name, if provided by the host software, is ignored.

Configuration

The table below lists the available properties, their types, and descriptions.

Property Type Description
ClearRootDirectory System.Boolean Determines whether the root directory will be cleared (recursively) when the message channel starts. Default is 'false'.
CreatePhysicalRootDirectory System.Boolean Determines whether the physical root directory will be created automatically (if it does not exist) when the message channel starts. Default is 'true'.
PhysicalFileProviderRoot System.String The directory path in the physical file system where the root topic will reside. Default is "/MqttRoot".

Example

You can instruct the UADemoPublisher utility to produce JSON messages for MQTT and store them into a directory/file structure under "C:\MqttRoot" using the following command:

publish --MqttJsonTcp --ConnectionProperty {http://opclabs.com/OpcUA/PubSub}MessageChannel!=[String]OpcLabs.BaseLib.Communication.Mqtt.FileMqttMessageChannel,OpcLabs.BaseLib