Alle Node-RED Tutorials
- Alexa Sprachkontrolle ohne Cloud-Anbindung
- Node-RED Alarm Ereigniszeitstrahl
- Node-RED und IFTTT
- Node-RED und MQTT
- Node-RED und Alarmserver Queries
- Node-RED und der INSTAR Cloud Webhook
- Node-RED und SQL-Logging
- Node-RED und ONVIF
- Node-RED Dashboard Live Video
- Node-RED in Docker
- Node-RED unter Android
- INSTAR MQTT - Node-RED
Alle Node-RED FAQs
Ausführen eines INSTAR Node-RED Dashboards in Docker
- Docker Installieren unter Ubuntu 20.04
- Node-RED Konfiguration herunterladen
- Node-RED im Docker ausführen
- Konfigurieren Ihres Dashboards
Docker ist eine Anwendung, die die Verwaltung von Prozessen in Containern vereinfacht. Mit Containern können Sie Ihre Anwendungen in ressourcenisolierten Prozessen ausführen. Sie ähneln virtuellen Maschinen, aber Container sind portabler, ressourcenfreundlicher und stärker vom Host-Betriebssystem abhängig.
Docker Installieren unter Ubuntu 20.04
Aktualisieren Sie zunächst Ihre bestehende Paketliste:
sudo apt update
Installieren Sie als nächstes ein paar erforderliche Pakete:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Fügen Sie dann den GPG-Schlüssel für das offizielle Docker-Repository hinzu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Fügen Sie das Docker-Repository zu den APT-Quellen hinzu:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Aktualisieren Sie nun die Paketdatenbank mit den Docker-Paketen:
sudo apt update
Installieren Sie schließlich Docker:
sudo apt install docker-ce
Docker sollte nun installiert sein, der Hintergrundprozess gestartet und aktiviert sein, um beim Booten automatisch gestartet zu werden. Sie können jetzt prüfen ob alles läuft:
sudo systemctl status docker
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running)
Wenn Sie die Eingabe von sudo
vermeiden wollen, wenn Sie den docker
Befehl ausführen, fügen Sie Ihren Benutzernamen der docker
Gruppe hinzu:
sudo usermod -aG docker ${USER}
Um die neue Gruppenmitgliedschaft anzuwenden, melden Sie sich vom Server ab und wieder an, oder geben Sie Folgendes ein:
su - ${USER}
Testen Sie nun, ob alles eingerichtet ist, indem Sie folgendes eingeben:
docker info
Node-RED Konfiguration herunterladen
Wir brauchen jetzt einen Ordner, den der Node-RED-Container verwenden kann, um seine Daten zu persistieren. Klonen Sie dafür dieses Repository oder laden Sie diese Zip Datei herunter und unzippen Sie sie und speichern Sie alles im /opt
Verzeichnis. Stellen Sie sicher, dass der Docker-Benutzer Zugriff auf dieses Verzeichnis hat und in dieses Verzeichnis schreiben darf:
chown -R nodered:nodered /opt/nodered/*
chmod -R 777 /opt/nodered
Node-RED im Docker ausführen
Laden Sie danach das offizielle Node-RED Image vom Docker Hub:
docker pull nodered/node-red:latest
Führen Sie nun den Container Node-RED mit folgendem Befehl aus:
docker run -d --rm --privileged --net=host -v /opt/nodered/data:/data --name nodered nodered/node-red:latest
-d | Lassen Sie den Container abgekoppelten vom Terminal im Hintergrund laufen |
-rm | Wenn Sie den Container stoppen, soll er entfernt werden |
--privileged | Das ist vergleichbar damit, als würde man den Prozess mit sudo laufen lassen und verhindert, dass man auf LINUX-Sicherheitseinschränkungen stößt. Sie können dieses Flagge entfernen. Wenn Ihre Berechtigungen korrekt gesetzt sind, sollte der Container auch ohne laufen. |
--net=host | Üblicherweise werden Docker-Container in einem virtuellen Netzwerk ausgeführt. Um auf einen Dienst außerhalb von localhost zugreifen zu können, müssen Sie die notwendigen Ports öffnen - Sie können dieses Flagge durch -p 1880:1880 ersetzen, um nur den Port zu öffnen, den das Node-RED UI benötigt. Wenn Sie zusätzliche Dienste in Node-RED installieren, die andere Ports benötigen, müssen Sie diese alle im RUN Befehl hinzufügen. Das Setzen des Netzwerks auf host ist nur eine Abkürzung für die lokale Entwicklung. |
-v /opt/Node-RED/data:/data | Dadurch wird der Ordner, den Sie erstellt haben, in den Container eingebunden. Alle Daten, die von Node-RED innerhalb des Containers gespeichert werden, bleiben in diesem Ordner erhalten. |
--name nodered | Geben Sie Ihrem Container einen Namen, damit Sie ihn mit diesem Namen ansprechen können, anstatt seine ID zu kennen zu müssen. |
nodered/node-red:latest | Dies ist das Image, aus dem Sie in den Container aufbauen wollen |
Konfigurieren Ihres Dashboards
Verwendete Node-RED Nodes:
- node-red-contrib-ui-state-trail
- node-red-contrib-onvif (Optional - es gibt andere Möglichkeiten, das Live-Video einzubetten)
- node-red-contrib-momentnode-red-contrib-alasql
- node-red-node-base64
Um Ihre INSTAR Full HD-Kamera anzuschließen, müssen Sie:
- Doppelklicken Sie auf den ONVIF-Knoten und fügen Sie die IP-Adresse, ONVIF-Port und Admin-Anmeldung Ihrer Kamera hinzu.
- Doppelklicken Sie auf den GET Snap HTTP-Knoten und fügen Sie die Snapshot-URL Ihre Kamera hinzu:
- JPG Pfad 1:
http://192.168.x.x/tmpfs/snap.jpg?usr=usernam&pwd=password
- JPG Pfad 2:
http://192.168.x.x/tmpfs/auto.jpg?usr=usernam&pwd=password
- JPG Pfad 3:
http://192.168.x.x/tmpfs/auto2.jpg?usr=usernam&pwd=password
- JPG Pfad 1:
- Doppelklicken Sie auf den Alarmserver MQTT IN Knoten und klicken Sie um den Server (Broker) zu bearbeiten. Jetzt können Sie die MQTT-Broker-Konfiguration Ihrer Kamera hinzufügen. Dies ist dann der Broker, der von allen MQTT-Knoten verwendet wird - Sie müssen ihn also nur an einer Stelle ändern. Hinweis: Wenn Sie einen externen MQTT-Broker verwenden und Ihre Kamera als Client angeschlossen ist, können Sie hier Ihre Brokerkonfiguration verwenden. Aber Sie müssen die MQTT-Topics in ALLEN MQTT-Knoten von den lokalen Topics auf das kameraspezifische Topics unter Verwendung der MQTT-ID Ihrer Kamera abzuändern.