INSTAR MQTT Server mit HiveMQ

Docker unter Linux installieren

Wir werde in diesem Tutorial Docker auf einem Arch-Linux-System installieren. Für andere Betriebssysteme schauen Sie bitte in die offizielle Docker-Dokumentation.

Aktivieren des Loop-Moduls

Prüfen Sie zunächst, ob das Loop Module bereits auf Ihrem System geladen ist:

lsmod | grep loop

Wenn das Loop-Modul geladen ist, können Sie die folgenden Schritte überspringen. Andernfalls führen Sie die folgenden beiden Befehle aus:

tee /etc/modules-load.d/loop.conf <<< 'loop'
modprobe loop

Führen Sie lsmod | grep loop erneut aus, um zu überprüfen, ob das Loop-Modul jetzt läuft.

Docker installieren

Jetzt können wir Docker über das Community-Repository installieren:

pacman -S docker

Sobald Docker installiert ist, fahren Sie mit dem Starten des Dienstes fort und aktivieren Sie ihn, damit er beim Systemstart ausgeführt werden kann.

Starten und Aktivieren des Dockers

systemctl start docker
sytemctl enable docker
sudo docker info

HiveMQ

Jetzt können wir die Testversion des kommerziellen HiveMQ MQTT Brokers in einem Dockercontainer laufen lassen. Beachten Sie, dass Sie stattdessen auch die kostenlose Community Edition verwenden können. Die kommerzielle Testversion ist auf 25 verbundene Geräte beschränkt.

HiveMQ herunterladen und ausführen

Um das Image vom Docker-Hub herunterzuladen, führen Sie bitte folgenden Befehl aus:

docker run -p 8080:8080 -p 1883:1883 hivemq/hivemq4

INSTAR MQTT Server with HiveMQ

So sind wir nun in der Lage, auf den HiveMQ MQTT-Dienst über localhost auf dem exponierten Webport 8080 zuzugreifen:

INSTAR MQTT Server with HiveMQ

Die Standard-Anmeldung am HiveMQ Dashboard ist der Benutzername admin und das Passwort hivemq:

INSTAR MQTT Server with HiveMQ

Anbinden Ihrer INSTAR Kamera

Mit dem HiveMQ Broker online sind wir nun in der Lage, den MQTT-Service unserer Kamera daran anzubinden. Gehen Sie dafür zum MQTT Menü, aktivieren Sie den MQTT Service und die Verwendung eines externen MQTT Brokers. Geben Sie die IP-Adresse des Rechners ein, auf dem Sie HiveMQ installiert haben, belassen Sie die Standard-MQTT-Ports wie im Screenshot unten und deaktivieren Sie die Benutzerauthentifizierung:

INSTAR MQTT Server with HiveMQ

Wenn Sie zurück zum HiveMQ Dashboard gehen, sollten Sie nun sehen, dass der Broker neue Geräte erkannt hat:

INSTAR MQTT Server with HiveMQ

Die Registerkarte Clients zeigt nun alle Ihre angeschlossenen Geräte an. Jede Kamera verwendet eine Client-ID beginnend mit mosq/ für den internen Mosquitto Broker:

INSTAR MQTT Server with HiveMQ

Node-RED

Sie können nun jede kompatible MQTT Software mit dem HiveMQ Broker verbinden, um jede angeschlossene Kamera zu steuern. Im Folgenden wird beispielhaft gezeigt, wie man Node-RED dafür verwenden kann.

Sie können den Node-RED-Flow, der unten verwenden wird, von hier herunterladen: Download:

INSTAR MQTT Server with HiveMQ

Dieser Flow steuert die Bewegungserkennungsbereiche von zwei Kameras - eine mit der IP-Adresse 192.168.2.73 & MQTT ID 091419200118 und eine mit der Adresse 192.168.2.165 & MQTT ID 000389888811 (Wenn Sie diesen Flow oben heruntergeladen haben, können Sie die Such- und Ersetzungsfunktion Ihres Texteditors verwenden, um diese Adressen mit der Ihrer eigenen Kamerae ersetzen).

Jede Sequenz beginnt mit einem MQTT-Eingangsknoten, der Updates für das entsprechende STATUS-Topic für die Bereiche 1-4 erhält, wenn diese geschaltet werden:

INSTAR MQTT Server with HiveMQ

Sie können Ihren neuen HiveMQ-Broker hinzufügen, indem Sie auf das Bleistift-Symbol neben dem Server-Dropdown-Menü klicken:

INSTAR MQTT Server with HiveMQ

Geben Sie dann Ihre Broker-IP-Adresse und den MQTT-Port wie oben gezeigt ein.

In der Mitte jeder Sequenz haben wir einen UI-Schalter, der ein {"val":"0"} sendet, wenn der Schalter in die Aus Position geklickt wird. Und eine {"val":"1"} für die Ein Position:

INSTAR MQTT Server with HiveMQ

Der Ausgang jeder Sequenz ist ein MQTT-Ausgangsknoten, der die von unserem Switch ausgesendete Meldung an das entsprechende COMMAND Topic für die Bereiche 1-4 sendet:

INSTAR MQTT Server with HiveMQ

Wenn Sie nun zum MQTT Dashboard wechseln, sehen Sie eine neue Registerkarte namens HiveMQ mit 8 Schaltern zum Aktivieren / Deaktivieren aller Alarmbereiche auf Ihren beiden Kameras:

INSTAR MQTT Server with HiveMQ