MQTT Client
Virtuelles Gerät MQTT Client
Die IO-Werte eines Revolution Pi-Systems (I/O-Werte) können mit einem MQTT-Broker ausgetauscht werden. Dazu verfügt die RevPi Konfigurationssoftware PiCtory über ein virtuelles MQTT Device. Das Beste: Alles läuft über No-Code. Es ist keine Programmierung erforderlich.
Die I/O-Werte werden zyklisch oder ereignisbasiert an einen MQTT-Broker gesendet. Im zyklischen Modus erfolgt die Übertragung in einem konfigurierten Intervall. Im ereignisbasierten Modus werden Werte gesendet, sobald sie sich ändern.
Die gesendeten Werte werden innerhalb eines definierten MQTT-Themas im MQTT-Broker gespeichert.
Voraussetzungen
- RevPi Basismodul mit RevPi Bullseye Image oder höher
- PiCtory Version 2.3.0 oder höher
- MQTT-Broker mit MQTT-Protokollversion 3.1
- Ihr RevPi Basismodul befindet sich im Netzwerk
Das virtuelle Gerät MQTT Client unterstützt derzeit keine Broker mit MQTT-Protokollversion 5.0.
MQTT Client konfigurieren
▷ Starten Sie PiCtory.
▷ Wählen Sie Ihr RevPi Basismodul aus dem Gerätekatalog und ziehen Sie es in den leeren Slot mit Positionsnummer 0.
▷ Ziehen Sie das virtuelle Gerät MQTT Client aus dem Gerätekatalog auf das Konfigurationsbrett.
▷ Klicken Sie auf das virtuelle Gerät MQTT Client im Konfigurationsbrett, um es hervorzuheben.
❯ Unter dem Konfigurationsbrett erscheinen die Bereiche Gerätedaten und Wert-Editor.
▷ Wenn der MQTT-Broker eine Authentifizierung erfordert, geben Sie die entsprechenden Anmeldedaten für MEM User_name und MEM Password ein.
▷ Wenn die Datenübertragung verschlüsselt werden soll, aktivieren Sie die TLS-Verschlüsselung unter MEM Use_TLS_encryption. Der MQTT-Broker akzeptiert alle Zertifikate.
▷ Wenn mehrere Systeme ihre I/O-Werte über MQTT austauschen, können Sie das MQTT-Thema unter MEM Base_topic umbenennen.
▷ Wählen Sie den Übertragungsmodus unter MEM Sending_behavior: zyklisch (Sende alle X Sekunden) oder ereignisbasiert(Sende bei Änderung).
Nun definieren Sie, welche I/O-Werte für die einzelnen RevPi-Geräte in Ihrem Revolution Pi-System exportiert werden sollen:
▷ Wählen Sie für MEM Shared_IOs entweder Alle bestehenden oder nur Markierte als exportiert I/O-Werte.
▷ Um einzelne I/O-Werte für den Export zu markieren, klicken Sie auf das entsprechende RevPi-Gerät im Konfigurationsbrett.
▷ Aktivieren Sie die gewünschten I/O-Werte für dieses RevPi-Gerät im Wert-Editor in der Spalte Export.
▷ Klicken Sie auf Datei > Als Startkonfiguration speichern, um die Konfiguration zu speichern.
▷ Klicken Sie auf Werkzeuge > Treiber zurücksetzen, um den Treiber neu zu starten.
Abfrage des client_status
Testen Sie die Konfiguration, um sicherzustellen, dass die Datenübertragung fehlerfrei funktioniert. Sie können zum Beispiel den kostenlosen MQTT Explorer verwenden.
Um den Verbindungsstatus zu testen, können Sie den Befehl client_status
in piTest verwenden.
Wert | Funktion |
---|---|
client_status 0 | Verbindung erfolgreich hergestellt |
client_status 1 | Verbindung abgelehnt - falsche Protokollversion |
client_status 2 | Verbindung abgelehnt - ungültige Client-ID |
client_status 3 | Verbindung abgelehnt - Server nicht verfügbar |
client_status 4 | Verbindung abgelehnt - falscher Benutzername oder Passwort |
client_status 5 | Verbindung abgelehnt - nicht autorisiert |
client_status 255 | Keine Verbindungsversuche / Dienst läuft nicht |
Weitere Links
→ Tutorial: MQTT Explorer verwenden
→ Tutorial: RevPiModIO replace_io_file
→ mqtt.org