Zum Hauptinhalt springen

Virtual Device MQTT Client

Die Input- und Output-Werte eines Revolution Pi Systems (I/O-Werte) können mit einem MQTT-Broker ausgetauscht werden. Die Web-Applikation PiCtory kann eine virtuelle Komponente als MQTT-Client konfigurieren. Es ist keine Programmierung nötig.

Die I/O-Werte werden zyklisch oder eventbasiert an einen MQTT-Broker gesendet. Im zyklischen Modus erfolgt die Übertragung in einem konfigurierten Intervall. Im eventbasierten Modus werden Werte gesendet, sobald sie sich verändern.

Die gesendeten Werte werden innerhalb eines definierten MQTT-Topics im MQTT-Broker abgelegt.

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

✓ Dein RevPi Basismodul befindet sich in Deinem Netzwerk

HINWEIS

Das Virtual Device MQTT Client unterstützt aktuell keine Broker mit MQTT-Protokollversion 5.0.

MQTT Client konfigurieren

▷ Starte PiCtory.

▷ Wähle Dein RevPi Basismodul aus dem Device Catalog und ziehe es per Drag-and-drop auf den leeren Slot mit der Positionsnummer 0.

▷ Ziehe das Virtual Device MQTT Client aus dem Device Catalog per Drag-and-drop auf das Configuration Board.

▷ Klicke im Configuration Board auf das Virtual Device MQTT Client, um es zu markieren.

     ❯ Unter dem Configuration Board erscheinen die Konfigurationsbereiche Device Data und Value Editor.

▷ Falls der MQTT-Broker eine Authentifizierung fordert, trage für MEM User_name und MEM Password die entsprechenden Authentifizierungsdaten ein.

▷ Falls die Datenübertragung verschlüsselt werden soll, aktiviere unter MEM Use_TLS_encryption die TLS-Verschlüsselung. Der MQTT-Broker akzeptiert alle Zertifikate.

▷ Falls mehrere Systeme ihre I/O-Werte über MQTT austauschen, kannst Du das MQTT-Topic unter MEM Base_topic anpassen.

▷ Wähle unter MEM Sending_behavior den Übertragungsmodus: zyklisch (Send every X Seconds) oder eventbasiert (Send on change).

Definiere nun für die einzelnen RevPi Geräte in Deinem Revolution Pi System, welche I/O-Werte exportiert werden sollen:

▷ Wähle für MEM Shared_IOs, ob alle I/O-Werte (All existing) oder nur zum Export markierte I/O-Werte (Marked as exported) ausgetauscht werden sollen.

▷ Um einzelne I/O-Werte für den Export zu markieren, klicke im Configuration Board auf das entsprechende RevPi Gerät.

▷ Aktiviere für dieses RevPi Gerät im Value Editor die gewünschten I/O-Werte in der Spalte Export.

▷ Klicke File > Save as Start Config, um die Konfiguration zu speichern.

▷ Klicke Tools > Reset Driver, um den Treiber neu zu starten.

Client_status abfragen

Teste die Konfiguration, um sicherzustellen, dass die Datenübertragung fehlerfrei funktioniert. Du kannst dazu z. B. den kostenlosen MQTT Explorer verwenden.

Um den Verbindungsstatus zu testen, kannst Du in piTest den Befehlt client_status verwenden.

WertBedeutung
client_status 0Verbindung erfolgreich aufgebaut
client_status 1Connection refused - incorrect protocol version
client_status 2Connection refused - invalid client identifier
client_status 3Connection refused - server unavailable
client_status 4Connection refused - bad username or password
client_status 5Connection refused - not authorised
client_status 255Kein Verbindungsversuch / Dienst läuft nicht

→ Tutorial: MQTT Explorer verwenden

→ Tutorial: RevPiModIO replace_io_file

mqtt.org

mqtt-explorer.com

thin-edge.io