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 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
|
Note
|
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 Gerätekatalog und ziehe es per Drag-and-drop auf den leeren Slot mit der Positionsnummer 0.
▷ Ziehe das Virtual Device MQTT Client aus dem Gerätekatalog per Drag-and-drop in den Konfigurationsbereich.
▷ Klicke im Konfigurationsbereich auf das Virtual Device MQTT Client, um es zu markieren.
❯ Unter dem Konfigurationsbereich erscheinen die Bereiche Gerätedaten und Werte-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 × 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 Konfigurationsbereich auf das entsprechende RevPi Gerät.
▷ Aktiviere für dieses RevPi Gerät im Werte-Editor die gewünschten I/O-Werte in der Spalte Export.
▷ Wähle File > Save as Start Config, um die Konfiguration zu speichern.
▷ Wähle 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 Befehl client_status verwenden.
| Wert | Bedeutung |
|---|---|
|
Verbindung erfolgreich aufgebaut |
|
Connection refused - incorrect protocol version |
|
Connection refused - invalid client identifier |
|
Connection refused - server unavailable |
|
Connection refused - bad username or password |
|
Connection refused - not authorised |
|
Kein Verbindungsversuch / Dienst läuft nicht |
Weitere Ressourcen #
-
RevPiModIO replace_io_file – ersetze I/O-Namen in einem Projekt, ohne den gesamten Code manuell anpassen zu müssen.