Skip to main content

Konfiguration der Verbindungsparameter

Nachdem Sie das Event Grid als auch das CODESYS-Projekt vorbereitet haben, können Sie die Verbindung parametrisieren und die Verbindung zum Broker aufbauen.

Fingerabdruck in Client-Identität ergänzen

Der im Kapitel Fingerabdruck auslesen ausgelesene Fingerabdruck des Gerätezertifikats muss als primärer Fingerabdruck (Primary Thumbprint) für die angelegte Client-Identiät eingetragen werden.

  1. Navigieren Sie dazu im Azure Portal zur Client-Übersicht und klicken Sie dort auf die passende Client-Identität.

    Das Eigenschaftsformular ähnelt dem Formular bei der Erstellung des MQTT-Clients.

  2. Setzen Sie den Fingerabdruck in das Feld Primary Thumbprint ein und speichern Sie die Änderungen mit der Schaltfläche Save.

Beispielprojekt starten

  • Laden Sie die Beispiel-Applikation auf Ihre Steuerung und starten Sie sie.

    Die folgende Visualisierungalisierung erscheint.

    _example_img_azure_7.png

Verbindung zwischen MQTTClient und Broker aufbauen

  1. Tragen Sie im Bereich Connection Settings Ihre Verbindungsparameter ein:

    Parameter

    Wert

    Beschreibung

    Server / IP / URL

    <MQTT Hostname>

    Der MQTT Hostname den Sie im TLS-Kontext eingesetzt haben.

    Server Port

    8883

    Für die gesicherte MQTT-Kommunikation wird standardmäßig der Port 8883 genutzt und wird daher vom Event Grid Broker erwartet.

    Use TLS

    True

    Die Checkbox Use TLS muss gesetzt (angehakt) sein, damit der konfigurierte TLS-Kontext genutzt wird.

    Wichtig

    Diese Checkbox hat nichts mit dem veralteten (deprecated) Flag xUseTLS des Funktionsbausteins MQTTClient zu tun.

    Dieses Flag sollte nicht mehr verwendet werden.

    Username

    my-auth-name

    Als Nutzername (Username) muss der bei der Client-Identitätserstellung angegebene Authentifizierungsname angegeben werden. Im Falle des Beispiels ist das my-auth-name.

    Für weitere Informationen siehe Erzeugen eines MQTT Clients entsprechender Teil in Abschnitt 2.4.

    Client Id

    MyClient1

    Beliebiger Name

  2. Aktivieren Sie den Funktionsbaustein MQTTClient mittels des Schalter Connect to Broker im Bereich Last Will Settings.

    Die Lampe darunter schält auf grün, sobald der Client mit dem Broker verbunden ist.

Kommunikation testen

Um die Kommunikation zu testen, soll der Client eine Nachricht auf ein Topic senden und die gesendete Nachricht selbst wieder empfangen.

Subscriber einrichten

  1. Tragen Sie im Bereich Subscriber 1 der Visualisierung folgende Parameter ein:

    Parameter

    Wert

    Beschreibung

    Topic Filter

    permitted/#

    Empfängt alle Nachrichten deren Topic Root permitted entspricht.

    Beim Anlegen eines Topic Spaces wurde das Topic Template permitted/# verwendet, auf dessen Basis die Berechtigungen vergeben wurden. Wird hier ein Topic verwendet, das nicht mit der Wurzel permitted beginnt, so hat der Client keine Berechtigung diesen Kanal zu abonnieren, was in einem Fehlerzustand resultiert.

    Für weitere Informationen siehe Erzeugen eines Topic Spaces und Definition von Berechtigungen

  2. Aktivieren Sie den Funktionsbaustein MQTTSubscribe mittels des Schalters Subscibe.

    Die Lampe darunter schaltet wie beim Verbindungsaufbau zum Broker auf gün, wenn die Aktion erfolgreich abgeschlossen wurde.

Publisher einrichten

  • Tragen Sie im Bereich Publisher 1 der Visualisierung folgende Parameter ein:

    Parameter

    Wert

    Beschreibung

    Topic

    permitted/test

    Sendet eine Nachricht auf dem Topic / Kanal permitted/test. Da der Subscriber alle Kanäle unterhalb der permitted-Wurzel abhorcht, wird er diese Nachricht empfangen.

    Beim Anlegen eines Topic Spaces wurde das Topic Template permitted/# verwendet, auf dessen Basis die Berechtigungen vergeben wurden. Wird hier ein Topic verwendet, das nicht mit der Wurzel permitted beginnt, so hat der Client keine Berechtigung, etwas auf diesem Kanal zu veröffentlichen/senden, was in einem Fehlerzustand resultiert.

    Für weitere Informationen siehe Erzeugen eines Topic Spaces und Definition von Berechtigungen

    Message

    <Text>

    Eine beliebige zu versendende Nachricht.

Datenübertragung starten und Daten empfangen

  • Klicken Sie auf die große Schaltfläche Publish im Bereich Publisher 1 auf der Visualisierung, um die definierte Nachricht auf dem Topic permitted/test zu versenden.

    Im Bereich Subscriber 1 sollten Sie die versendete Nachricht und das Topic, auf dem sie empfangen wurde, nun sehen können.

    _example_img_azure_8.png

Der CODESYS-MQTTClient kommuniziert erfolgreich über den MQTT Broker des Azure Event Grid Namespaces.