IotMqttv5LastWillSample
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 LastWill 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 hierbei dem Sample IotMqttv5Sample.
- Beim Verbindungsaufbau wird eine LastWill Nachricht spezifiziert, sowie einige Properties für die LastWill Nachricht gesetzt. Der LastWill wird dann beim Connect mit dem Message Broker an diesen übertragen und im Falle eines Disconnects an interessierte Clients übermittelt.
Das folgende Code Snippet zeigt noch einmal den relevanten Teil zur Spezifizierung der LastWill Nachricht, sowie der damit einhergehenden Properties. Diese Codestelle wird bei der (nur einmalig erfolgenden) Initialisierung der Verbindungsparameter verwendet.
fbMqttClient.stWill.sTopic := 'MyLastWillTopic';
fbMqttClient.stWill.sContentType := 'MyContentType';
fbMqttClient.stWill.eQoS := TcIotMqttQoS.ExactlyOnceDelivery;
fbMqttClient.stWill.fbPayload.SetData(ADR(sLastWillMsg), SIZEOF(sLastWillMsg));
fbMqttClient.stWill.fbUserProperties.AddUserProperty('MyFirst', 'UserProperty');
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4026.0 | IPC oder CX (x86, x64, ARM) | Tc3_IotBase (>= v3.4.2.0), |