Volttron liest BACnet zeigt auf Nachrichtenbus
Ich richte einen Raspel-Pi auf einem Prüfstand mit einem MSTP-BACnet-Controller mit 2 Temperatursensoren ein. Wie kann ich diese Sensorwerte kontinuierlich auf dem VOLTTRON-Nachrichtenbus lesen / veröffentlichen?
RPi-> Ethernet-> Router-> mstpdevice
Ich glaube, ich vermisse einen ersten Schritt zum Anzeigen der VOLTTRON-Protokolldatei im pi-Terminal. Ist es möglich, über SSH das pi-Terminal und das Ende des VOLTTRON .log / message-Busses anzuzeigen?
Ich habe Volttron eingerichtet und laufe auf dem Pi. Beim Laufen python3 bacnet_scan.py
kann ich meinen BACnet-Router und MSTP-Controller mit den Temperatursensoren sehen:
Device Address = <Address 192.168.0.190>
Device Id = 0
maxAPDULengthAccepted = 1476
segmentationSupported = noSegmentation
vendorID = 245
Device Address = <RemoteStation 12345:2>
Device Id = 201201
maxAPDULengthAccepted = 286
segmentationSupported = noSegmentation
vendorID = 11
Laufen, python3 grab_bacnet_config.py 201201 --driver-out-file uhl.csv
bis nano
ich diese Datei sehen kann:
{
"driver_config": {
"device_address": "12345:2",
"device_id": 201201
},
"driver_type": "bacnet",
"registry_config": "config://registry_configs/<stdout>"
}
Ist es möglich, Sensorwerte (fortlaufende BACnet-Lesevorgänge) auf dem Nachrichtenbus von analogInput 1
und anzuzeigen analogInput 2
?
Vielen Dank!
BEARBEITEN
Sehen Sie sich dieses youTUBE-Video an!
Antworten
Die BACnet-Kommunikation in VOLTTRON umfasst mindestens einen zusätzlichen Schritt gegenüber einigen anderen Treibern, nämlich das Konfigurieren und Installieren des BACnet-Proxy-Agenten. Ich würde vorschlagen, die Dokumentation zu lesen , aber sie kann wie jeder andere Agent installiert werden. In vielen Fällen müssen Sie nur die Adresse ändern, dh die Adresse, die das virtuelle BACnet-Gerät vom Proxy erstellt hat sollte an binden (häufig Ihre lokale IP mit Standard-BACnet-Port).
Zusätzlich benötigen Treiber in VOLTTRON zwei Konfigurationsdateien: die Treiberkonfiguration und die Registrierungskonfiguration. 'uhl.csv' (wirklich eine JSON-Datei), die Sie oben erstellt haben, ist die Treiberkonfiguration, die dem Haupttreiber mitteilt, wie der Treiber gesteuert werden soll. Die Registrierungskonfiguration ist eine CSV (eigentlich eine CSV), die dem Treiber sagt, wie er das Gerät lesen soll (weitere Informationen hier ). Mit demselben Dienstprogramm-Skript, mit dem Ihre Treiberkonfiguration erstellt wurde, können beide Konfigurationen erstellt werden:
python3 grab_bacnet_config.py 201201 --driver-out-file uhl.json --registry-out-file uhl.csv
Wenn beide Dateien erstellt wurden, sollten sie mit dem Unterbefehl config store von VOLTTRON-Control in den Konfigurationsspeicher geladen werden ( dieses Handbuch zeigt die Schritte für einen gefälschten Treiber, die Schritte sind die gleichen, die Besonderheiten des Treibers unterscheiden sich).
In Bezug auf SSH und die Anzeige Ihrer Umgebung verbindet Sie SSH (Secure Shell) mit einer einzelnen Shell-Instanz. Es gibt Dienstprogramme wie tmux, mit denen Sie mehrere Shells in einer einzigen SSH-Verbindung haben können. Anstatt jedoch zu lernen, wie man tmux verwendet, stelle ich im Allgemeinen mehrere SSH-Verbindungen her (es gibt wahrscheinlich auch andere Optionen, dies ist nur meine eigene Methode).