IotMqttSampleIbmWatsonIoT

Beispiel zur MQTT Kommunikation mit IBM Watson IoT

In diesem Beispiel wird die Kommunikation mit IBM Watson IoT gezeigt.

IotMqttSampleIbmWatsonIoT 1:

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,
Tc2_Utilities (>= v3.3.19.0)