MQTT Client

Navigation:  Konfiguration > Komponenten > Einzelne Komponenten >

MQTT Client

Previous pageReturn to chapter overviewNext page

Mit der MQTT Client-Komponente kann eine Verbindung zu einem MQTT-Broker eingerichtet werden, um Sensordaten zu übermitteln. Es können sowohl interne Broker der MST Systemtechnik AG / MST System Solutions GmbH, als auch externe Broker von Drittanbietern genutzt werden. Bei letzteren ist die einige Bedingung, dass diese im öffentlichen Netz erreichbar sind.

 

MQTT selber steht für Message Queuing Telemetry Transport und ist ein Netzwerkprotokoll, welches sich in den letzten Jahren insbesondere im IoT (Internet of Things) und damit auch in Zusammenhang mit LoRa/LoRaWAN (Long Range Wide Area Network) stark verbreitet hat.

 

Nebst den üblichen Feldern, welche jede Komponente besitzt (Name, AKS, Eltern-Komponenten usw.), ist insbesondere der Abschnitt "MQTT-Broker" wichtig. Hier werden die Verbindungsoptionen zum MQTT-Broker definiert.

 

mqtt_komponente

 

Protokoll

Als Protokoll kann entweder MQTT oder MQTTs ausgewählt werden. Während MQTT die unverschlüsselte Variante darstellt, verschlüsselt MQTTs die übertragenen Daten mit TLS. Es sollte wenn möglich immer das verschlüsselte MQTTs verwendet werden.

 

Host

Unter "Host" ist die Domain oder die IP-Adresse anzugeben. Es sollte wenn möglich immer die Domain verwendet werden.

 

Port

Als Port wird standardmässig 1883 für MQTT und 8883 für MQTTs verwendet. Falls der MQTT-Broker vom Standard abweichende Ports nutzt, ist dies hier anzupassen.

 

Keep-Alive

Das Keep-Alive definiert das maximale Zeitintervall in Sekunden, in welchem der MQTT-Client ein PINGREQ sendet, um die Verbindung offen zu halten, während gerade keine Daten gesendet/empfangen werden.

 

Quality of Service (QoS)

Die Übermittlungsqualität kann bei MQTT definiert werden.

0 => eine Nachricht wird einmalig übermittelt, ohne zu Überprüfen ob sie empfangen wurde.

1 => eine Nachricht wird bei Nichterhalt auch mehrfach übermittelt. Es kann sein, dass die gleiche Nachricht mehrfach übermittelt wird.

2 => eine Nachricht wird genau ein Mal übermittelt und der Erhalt überprüft.

 

Benutzername

Falls sich der Client am MQTT-Broker anmelden muss, sind hier die gültigen Zugangsdaten einzutragen. Bei der Verwendung eines "Client-Key"-Zertifikats dieses Feld leer lassen.

 

Passwort

Falls sich der Client am MQTT-Broker anmelden muss, sind hier die gültigen Zugangsdaten einzutragen. Bei der Verwendung eines "Client-Key"-Zertifikats dieses Feld leer lassen.

 

Verbinden

Ist der Schalter deaktiviert, wird keine Verbindung zum MQTT-Broker aufgebaut und somit keine Daten übermittelt. Sobald der Schalter aktiviert wird, werden Daten übertragen.

 

CA-Zertifikat

Falls der MQTT-Broker über ein selbst ausgestelltes SSL/TLS-Zertifikat verfügt, muss das Zertifikat der Zertifizierungsstelle (Certification Authority), welche das Zertifikat für den MQTT-Broker ausgestellt hat, hier eingetragen werden.

 

Client-Zertifikat

Ein Client kann beim Verbindungsaufbau ebenfalls ein SSL/TLS-Zertifikat mitsenden. Anhand diesem kann der MQTT-Broker die Identität eines Clients eindeutig ermitteln.

 

Client-Key

Anstelle von Benutzername und Passwort kann sich ein Client auch mit einem Client-Key authentifizieren. Die Felder Benutzername und Passwort können bei der Verwendung eines Client-Keys leer gelassen werden.

 

 

Topics subscriben/abonnieren

Die Topics werden auf dem konfigurierten MQTT-Broker automatisch subscribed/abonniert, sobald (gemessene) Sensoren angelegt werden, welche die entsprechende MQTT-Client-Komponente als Datenquelle nutzen. Mehr über die Definition des Topics ist unter Sensor einfügen im Punkt "Maschinen-ID" beschrieben.

 

 

 

Status und Fehlermeldungen

Nachdem die MQTT-Client-Komponente erstellt wurde, ist unter "Konfiguration" --> "Systemstatus" ein neues Tab "MQTT-Client-Service Status" sichtbar. Dort werden die aktuellen Verbindungen und eventuell auftretende Fehler aufgelistet. Somit können Verbindungsunterbrüche genauer analysiert und das Problem entweder beim entsprechenden MQTT-Broker oder in den Einstellungen der MQTT-Client-Komponente im EDL-Portal behoben werden.

 

mqtt_client_status