Ausführen eines INSTAR Node-RED Dashboards in Docker

Mike Polinowski
INSTAR MQTT
Firmware Update
Full HD Serie
INSTAR Deutschland GmbH
INSTAR MQTT

Machen Sie Ihrer Kamera zum Herzstück Ihres Smarthomes

INSTAR MQTT Support

Mithilfe der MQTT Schnittstelle Ihrer INSTAR Full HD Kameras können Sie diese zu einem bestehenden Smarthome-System (Home Assistant, OpenHAB, Node-RED, Athom Homey, Homematic, ioBroker, Loxone, homee) hinzufügen kann. Oder auch zum Haupt-Broker für Ihre MQTT Sensoren machen. MQTT ermöglicht es Ihnen ALLE Funktionen Ihrer Kamera zu automatisieren und mit anderen Diensten in Ihrem Smarthome zu verknüpfen.

Mike Polinowski
IFTTT Applets
Firmware Update
Full HD Serie
INSTAR Cloud
INSTAR Deutschland GmbH
INSTAR IFTTT Applets

Kontrollieren Sie Ihre Kamera über den IFTTT Online Dienst

INSTAR IFTTT Support

Auf der IFTTT-Plattform stellten wir einen Dienst namens INSTAR zur Verfügung. Die INSTAR Applets bieten Ihnen die Möglichkeit, einige Einstellungen Ihrer INSTAR Kamera oder INSTAR Cloud mit IFTTT zu steuern. Sie können INSTAR mit Auslösern für Ort (Geo Location) und Datum & Zeit verbinden, Benachrichtigungen versenden und vieles mehr. Zum Beispiel können Sie die INSTAR Applets mit dem IFTTT-Ortungsdienst verbinden und automatisch den Alarm deaktivieren lassen, wenn Sie zu Hause ankommen. Sie können die INSTAR-Applets auch verwenden, um Ihre eigene Automatisierung zu erstellen und sie mit anderen Applets von Drittanbietern zu verbinden.

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.

Ausführen eines INSTAR Node-RED Dashboards in Docker

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
-dLassen Sie den Container abgekoppelten vom Terminal im Hintergrund laufen
-rmWenn Sie den Container stoppen, soll er entfernt werden
--privilegedDas 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:/dataDadurch 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 noderedGeben 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:latestDies ist das Image, aus dem Sie in den Container aufbauen wollen

Konfigurieren Ihres Dashboards

Verwendete Node-RED Nodes:

Ausführen eines INSTAR Node-RED Dashboards in Docker

Um Ihre INSTAR Full HD-Kamera anzuschließen, müssen Sie:

  1. Doppelklicken Sie auf den ONVIF-Knoten und fügen Sie die IP-Adresse, ONVIF-Port und Admin-Anmeldung Ihrer Kamera hinzu.
  2. 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
  3. 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.

Ausführen eines INSTAR Node-RED Dashboards in Docker