IotMqttSampleIbmWatsonIoT
Beispiel zur MQTT Kommunikation mit IBM Watson IoT
In diesem Beispiel wird die Kommunikation mit IBM Watson IoT gezeigt.
![]() | Topic-Struktur Die Topic-Struktur beim Senden und Empfangen von Nachrichten ist fest vom IBM Watson IoT Message Broker vorgegeben. |
Es werden sowohl Nachrichten an IBM Watson IoT versendet als auch von dort empfangen. Da dieses Beispiel somit im Wesentlichen auf dem Beispiel IotMqttSampleUsingQueue basiert, werden in diesem Abschnitt nur die relevanten Teile zur Verbindungsherstellung erklärt.
Parameter für Verbindungsaufbau
Das folgende Code Snippet zeigt die notwendigen Parameter für einen Verbindungsaufbau mit IBM Watson IoT. Im Wesentlichen handelt es sich hierbei um statische Parameter. Diese können auch im Deklarationsteil bei der Instanziierung des MQTT Client angegeben werden.
IF bSetParameter THEN
bSetParameter := FALSE;
fbMqttClient.sHostName := 'orgid.messaging.internetofthings.ibmcloud.com';
fbMqttClient.nHostPort := 1883;
fbMqttClient.sClientId := 'd:orgid:IPC:deviceId';
fbMqttClient.sUserName := 'use-token-auth';
fbMqttClient.sUserPassword := '12342y?c12Gfq_8r12';
END_IF
Die Topics für den Publish und das Subscribe sind fest von IBM Watson IoT vorgegeben. Der Platzhalter „orgId“ muss mit der Organisations-ID des IBM Watson Accounts ersetzt werden. Der Platzhalter „deviceId“ wird durch die Device-ID ersetzt, so wie sie auf IBM Watson angelegt wurde.
Publish
Beim Publishen von Daten IBM Watson IoT muss das Topic in folgender Form angegeben werden:
iot-2 / evt / eventId / fmt / json
Die EventId entspricht hierbei der Event-ID, so wie sie in IBM Watson IoT konfiguriert wurde und erwartet wird. Im Falle der Nutzung eines IBM Watson Dashboards wird die Event-ID dynamisch erzeugt und kann auf der IBM Watson IoT mit einem Chart verknüpft werden.
Subscribe
Beim Subscribe auf Kommandos von IBM Watson IoT muss das Topic in folgender Form angegeben werden:
iot-2 / cmd / cmdId / fmt / json
Die CmdId entspricht hierbei die Command-ID des über IBM Watson IoT abgeschickten Kommandos an das Gerät.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4022.0 | IPC oder CX (x86, x64, ARM) | Tc3_IotBase, |