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.
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.