INSTAR Deutschland GmbH

Hausautomatisierung mit Node-RED und OpenHAB auf einem Raspberry Pi



Live Video Stream

Der folgende Screenshot zeigt die Benutzeroberfläche, die wir mithilfe von Node-RED und dem Node-RED Dashboard erstellen werden. Wir möchten einen JPG-Stream von Bildern aus dem Live-Video im Node-RED Dashboard anzeigen können.


OpenHAB2


Wir werden das node-red-contrib-mjpgcamera Plugin verwenden, das über das Menü Manage Palette in unserem Node-RED Admin-Panel installiert werden. Das Plugin greift einzelne Bilder aus einem der 3 MJPEG-Streams, die unsere Kamera anbietet, auf und speichert sie, mit gleichbleibenden Namen, im öffentlichen Verzeichnis, das wir bereits erstellt hatten. Wir verwenden dann einen Watch Node, um das Bild jedes Mal zu laden, wenn die Datei aktualisiert wurde, einen Zeitstempel zu seinem Namen hinzuzufügen - dies ist notwendig, um den Browser Cache zu überlisten, der sich weigern würde ein, scheinbar, unverändertes Bild erneut zu laden - und laden es in unserem Node-RED-Dashboard.


Node-RED Flow




Bonus :: OpenHAB Integration

Aufbauend auf unser OpenHAB-Tutorial werden wir nun den Node-RED-Flow in unserer OpenHAB 2 Basic UI konsumieren.


OpenHAB2


Image url="http://localhost:1880/352snap.jpg" label="Camera Video Snapshot" refresh=30000


Die Aktualisierungsrate (in Millisekunden) kann an Ihre Bedürfnisse angepasst werden. Wir haben das MJEPG-Plugin in unserem Node-RED-Fluss eingestellt, um alle 20s einen neuen Frame aus dem 352p-Stream zu speichern, der im Node-RED-Dashboard angezeigt wird. Der Aktualisierungswert in der oberen Zeile aktualisiert das Bild in der OpenHAB-Benutzeroberfläche alle 30s.