IotMqttv5UserPropsSample
Beispiel zur Verwendung von MQTTv5 UserProperties
In diesem Beispiel wird die Kommunikation zu einem MQTT Broker unter Verwendung von MQTTv5 dargestelt. Hierbei wird insbesondere der UserProperties Mechanismus von MQTTv5 demonstriert. Als Voraussetzung muss der verwendete Message Broker MQTTv5 unterstützen. Der grundlegende Ablauf des Samples stellt sich wie folgt dar:
- Es gibt ein SPS-Projekt, welches auf Basis von MQTTv5 eine Verbindung zu einem lokalen Message Broker herstellt und Nachrichten an diesen published. Gleichzeitig subscribed sich die Applikation auf dasselbe Topic um die gesendeten Nachrichten wieder zu empfangen.
- Der Aufbau des Programms entspricht dem Sample IotMqttv5Sample. Die Nachrichten enthalten neben dem eigentlichen Payload auch UserProperties, deren Handhabung sowohl beim Nachrichtenversand als auch -empfang demonstriert wird.
Das folgende Code Snippet zeigt noch einmal den relevanten Teil zur Spezifizierung der User Properties an einer zu versendenden Nachricht.
fbPubProps.sContentType := sContentType;
fbPubProps.nMsgExpiryInterval := 7;
fbPubProps.bPayloadUtf8 := TRUE;
fbPubProps.ClearUserProperties();
FOR m:=1 TO 10 DO
hrPropSet := fbPubProps.AddUserProperty(aUserName[m], aUserValue[m]);
IF FAILED(hrPropSet) THEN
EXIT;
END_IF
END_FOR
In diesem Beispiel werden somit 10 User Properties, deren Key/Value-Werte aus den Array aUserName und aUserValue entnommen werden, zu einer zu versendenden Nachricht hinzugefügt. Die Übergabe der User Properties an die zu versendende Nachricht erfolgt dann als Eingabeparameter an der Publish() Methode.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4026.0 | IPC oder CX (x86, x64, ARM) | Tc3_IotBase (>= v3.4.2.0), |