In diesem Tutorial möchten wir das Thema Integration von Videokameras in das DOMIQ-System näherbringen. Die Integration von Kameras ist ein wichtiger Bestandteil des Smart Home, der den Nutzern ein Sicherheitsgefühl vermittelt, da sie jederzeit sehen können, was im Haus passiert.
1. Anforderungen und Empfehlungen #
Wir erhalten oft Anfragen zu den Anforderungen, die eine Kamera erfüllen muss, damit sie mit dem DOMIQ-System integriert werden kann. Die einzige zwingende Anforderung ist, dass die Kamera einen Stream im MJPEG-Format bereitstellt. Das ist die einzige Voraussetzung, damit das Kamerabild in der Remote-App angezeigt werden kann.
Der Rest dieses Kapitels enthält Hinweise sowohl zur Auswahl der Kamera als auch zu ihrer Konfiguration im System, damit die Arbeit mit ihr möglichst optimal ist.
1.1. Kameraauswahl #
Der Markt bietet eine große Auswahl an Produkten, und wir werden hier keine konkreten Modelle empfehlen. Es sollten immer einige Punkte bedacht werden: Budget und Funktionalität, Service und Support. Budget und Funktionalität sind eng miteinander verbunden, denn für fortschrittlichere Modelle muss man einfach mehr bezahlen. Daher sollte man sich fragen, ob eine bestimmte Funktionalität wirklich benötigt wird. Manche Kameras bieten zum Beispiel Personenzählung, Gesichtserkennung, Temperaturmessung, Bewegungserkennung in bestimmten Bereichen usw. Je mehr Möglichkeiten, desto in der Regel auch höherer Preis. Aber solche erweiterten Funktionen werden nicht immer benötigt, manchmal interessiert uns nur die Bildanzeige.
Anzahl gleichzeitiger Verbindungen
Wenn zu erwarten ist, dass das Kamerabild regelmäßig gleichzeitig von mehr als einer Person betrachtet wird (z.B. mehrere Remote-Benutzer möchten das Bild der Kamera zur selben Zeit ansehen), sollte man auf den Parameter für die Anzahl gleichzeitiger Verbindungen zur Kamera achten. Kameras im unteren Preissegment ermöglichen meistens nur eine (seltener zwei) Verbindungen zur gleichen Zeit. Wenn eine solche Kamera eine Anfrage zur Bildanzeige erhält, während schon jemand zusieht, wird ein Fehler wegen Überschreitung der zulässigen Verbindungszahl zurückgegeben. Die Fehlermeldung wird auch in der Remote-App angezeigt.
Integration mit externer Software
Wenn eine Funktionalität geplant ist, die über die reine Bildanzeige hinausgeht, sollte man sich mit der Dokumentation des Herstellers bezüglich der Integrationsmöglichkeiten vertraut machen. Manche Hersteller erlauben keine Integration mit externer Software, andere wiederum bieten eine gut dokumentierte API, die die Arbeit des Integrators erleichtert.
Ein Beispiel für einen solchen Ansatz ist Mobotix, wo jede Kamera eine direkt in der Kamera integrierte Dokumentation und eine sehr gut beschriebene API hat, deren Verwendung wirklich einfach ist. Deshalb sollte man vor dem Kauf prüfen, ob die Kamera mit dem Base-Modul integriert werden kann und wie das möglich ist, um Enttäuschungen zu vermeiden.
Eine bewährte und sichere Art der Integration mit dem DOMIQ-System sind APIs mit den Protokollen HTTP, TCP oder UDP. Diese Art der Integration stellt sicher, dass alle notwendigen Werkzeuge sofort im Base-Modul verfügbar sind.
Manchmal beschreibt die Dokumentation keine Integration der Hardware mit externer Software. Dann lohnt es sich, beim Hersteller-Service nachzufragen, da einige Hersteller solche Informationen nur auf Anfrage bereitstellen.
1.2. Konfiguration des Videostreams in DOMIQ #
Es gibt zwei Ansätze zur Konfiguration von Kameras im System. Wir beschreiben beide mit ihren Vor- und Nachteilen.
Um das Bild der Kamera anzeigen zu können, muss die URL des MJPEG-Videostreams festgelegt werden (manchmal werden Adressen für H264- oder RTSP-Streams angegeben, aber diese interessieren uns nicht). Die Adresse wird meistens in der Geräte-Dokumentation angegeben. Wenn das in deinem Fall nicht so ist, solltest du beim Service des Herstellers nachfragen oder im Internet suchen.
Empfohlene Lösung #
Der empfohlene Ansatz ist, den Kamerastream ins Internet weiterzuleiten. Um Vertraulichkeit und Sicherheit der Daten zu gewährleisten, ist es wichtig, dass die Weiterleitung über verschlüsselte Verbindungen (SSL-Protokoll) erfolgt. Das ist ein wichtiger Punkt, auf den man beim Kameramodell achten sollte. Für den Zugriff auf den Stream sollte außerdem ein starkes Passwort festgelegt werden, um Unbefugten den Zugriff zu verwehren.
In der Konfiguration des Kamera-Elements (Menü-Modus) oder Video (Visualisierung) muss die öffentliche URL angegeben werden, unter der der Stream der Kamera erreichbar ist. Das Zugangspasswort wird nach der Eingabe im Konfigurator ausgeblendet, damit es nicht von Unbefugten eingesehen werden kann.
Vorteile:
- Sehr flüssige Bildanzeige, da die Remote-App sich direkt mit der Kamera verbindet (sowohl bei Fern- als auch bei lokalen Verbindungen). Die Bildflüssigkeit ist vergleichbar mit der Anzeige über einen Internetbrowser.
- Das Bild wird nicht über das Base-Modul geleitet.
Nachteile:
- Es ist eine zusätzliche Konfiguration im Router erforderlich, um den Kamerastream ins Internet weiterzuleiten. Bei Fehlen einer statischen öffentlichen IP-Adresse muss ein dynamischer DNS-Dienst genutzt werden.
In Netzwerken, in denen eine Weiterleitung des Streams ins Internet nicht möglich ist (z.B. durch Beschränkungen des Internetanbieters), sollte die unten beschriebene alternative Lösung verwendet werden.
Alternative Lösung #
Der alternative Ansatz ist die ausschließliche Verwendung der lokalen URL des Kamerastreams. Diese ist in der Konfiguration des Kamera– oder Video-Elements einzutragen. Es ist nicht erforderlich, dass der Stream per SSL verschlüsselt ist. Bei Fernzugriff übernimmt das Base-Modul die Rolle eines Gateways, das die Streamingdaten weiterleitet. Der Fernzugriff auf das Kamerabild funktioniert dann nach folgendem Schema: APLIKACJA REMOTE -> SERWER DOMIQ -> MODUŁ BASE -> KAMERA und die Daten gelangen auf demselben Weg zurück zur Remote-App, nur in umgekehrter Reihenfolge. Die gesamte Kommunikation ist verschlüsselt, ein Mitlesen ist nicht möglich.
Bei lokalem Zugriff (das Gerät mit der Remote-App befindet sich im selben lokalen Netzwerk wie die Kamera) holt sich die App den Videostream direkt von der Kamera.
Vorteile:
- Es ist keine Router-Konfiguration zur Weiterleitung des Videostreams erforderlich.
Nachteile:
- Da der gesamte Datenverkehr durch das Base-Modul geht und von ihm verschlüsselt wird, kommt es zu einer erheblichen Verlangsamung der Bildübertragung. Die maximal erreichbare Bildrate liegt bei 1–2 Bildern/Sekunde (bei durchschnittlicher Qualität und Auflösung von 640×480 Pixel). Die Geschwindigkeitsbegrenzung ergibt sich daraus, dass die Verschlüsselung großer Datenmengen die Ressourcen des Base-Moduls stark beansprucht.
- Die Bildflüssigkeit ist mit der eines Internetbrowsers nur beim lokalen Kamerazugriff vergleichbar.
Wenn du trotz Datenverschlüsselung und Passwortschutz Bedenken hast, den Kamerastream ins Internet zu leiten, verwende die alternative Lösung – dann musst du dich aber mit geringerer Bildflüssigkeit bei Fernverbindungen abfinden.