W tym samouczku chcielibyśmy przybliżyć temat integracji kamer wideo z systemem DOMIQ. Integracja kamer jest istotnym elementem inteligentnego domu, który zapewnia poczucie bezpieczeństwa jego użytkownikom, którzy w każdym momencie mogą zajrzeć, co w dzieje się w domu.
1. Wymagania i zalecenia #
Często otrzymujemy zapytania, o wymagania, jakie musi spełniać kamera, aby można było ją zintegrować z systemem DOMIQ. Wymaganiem obligatoryjnym jest to, aby kamera serwowała strumień w formacie MJPEG. To jest jedyne wymaganie, które musi zostać spełnione, aby udało się wyświetlać obraz z kamery w aplikacji Remote.
Reszta tego rozdziału zawiera wskazówki zarówno przy wyborze kamery, jak i jej konfiguracji w systemie, aby praca z nią była najbardziej optymalna.
1.1. Wybór kamery #
Rynek oferuje nam wielki wybór produktów i nie pokusimy się tu o wskazywanie konkretnych modeli. Musimy zawsze rozważyć kilka kwestii: budżet i funkcjonalność, serwis i wsparcie. Budżet i funkcjonalność są ze sobą ściśle powiązane, bo za bardziej zaawansowane modele będziemy musieli po prostu więcej zapłacić. Dlatego warto jest postawić pytanie, czy dana funkcjonalność jest nam potrzebna? Niektóre kamery umożliwiają np. zliczanie osób, rozpoznawanie twarzy, pomiar temperatury, wykrywanie ruchu w określonych obszarach itd. Im większe możliwości tym z reguły wyższa cena. Ale nie zawsze takie rozbudowane funkcje są potrzebne, bo niekiedy interesuje nas wyłącznie wyświetlanie obrazu.
Liczba jednoczesnych połączeń
Z kolei, gdy przewidujemy, że obraz z kamery będzie regularnie oglądany jednocześnie przez więcej niż jedną osobę (np. kilku użytkowników Remote może chcieć oglądać obraz z kamery w tym samym momencie), wówczas należy zwrócić uwagę na parametr określający liczbę jednoczesnych połączeń do kamery. Kamery z niższej półki cenowej najczęściej umożliwiają tylko jedno (rzadziej dwa) połączenie w danej chwili. Gdy taka kamera otrzyma żądanie wyświetlenia obrazu, gdy już aktualnie ktoś ogląda, wówczas zostanie zwrócony błąd o przekroczeniu dopuszczalnej liczby połączeń. Informacja o błędzie zostanie wyświetlona także w aplikacji Remote.
Integracja z zewnętrznym oprogramowaniem
Jeżeli planowana jest integracja funkcjonalności wykraczającej poza wyświetlanie obrazu, należy zapoznać się z dokumentacją na temat tego, jakie możliwości integracyjne zapewnia producent. Niektórzy producenci nie umożliwiają integracji z zewnętrznym oprogramowaniem, inni z kolei mają dobrze udokumentowane API, które ułatwia pracę integratorowi.
Przykładem takiego podejścia jest Mobotix, gdzie każda kamera ma dokumentację zintegrowaną wprost w kamerze wraz z doskonale opisanym API, a samo użycie API jest naprawdę proste. Dlatego przed zakupem, aby uniknąć rozczarowania, należy sprawdzić, czy będziemy w stanie zintegrować daną kamerę z modułem Base i w jaki sposób.
Pewnym i sprawdzonym sposobem integracji z systemem DOMIQ są API z użyciem protokołu HTTP, TCP lub UDP. Ten rodzaj integracji zapewnia, że wszystkie potrzebne narzędzia są dostępne od ręki w module Base.
Niekiedy bywa tak, że dokumentacja nie opisuje integracji sprzętu z zewnętrznym oprogramowaniem. Wówczas warto zapytać o to w serwisie producenta, gdyż niektórzy producenci udostępniają takie informacja wyłącznie na życzenie.
1.2. Konfiguracja strumienia wideo w DOMIQ #
Istnieją dwa podejścia do konfiguracji kamer w systemie. Opiszemy oba wraz ze wskazaniem ich mocnych i słabych stron.
Aby podgląd obrazu z kamery był możliwy, konieczne jest ustalenie adres URL strumienia wideo w formacie MJPEG (niekiedy podawane są adresy do strumienia H264 lub RTSP, ale te nas nie interesują). Adres najczęściej podawany jest w dokumentacji urządzenia. Jeżeli jednak w Twoim przypadku jest inaczej, warto zapytać o niego serwis producenta lub poszukać w Internecie.
Rozwiązanie zalecane #
Zalecanym podejściem jest, aby strumień z kamery przekierować do Internetu. Aby zapewnić poufność i bezpieczeństwo danych ważne jest, aby przekierowanie odbywało się z użyciem połączeń szyfrowanych (protokół SSL). To ważny element, na który powinniśmy zwrócić uwagę przy wyborze modelu kamery. Dla dostępu do strumienia należy także ustanowić silne hasło, aby uniemożliwić podgląd obrazu osobom niepowołanym.
W konfiguracji elementu Kamera (tryb menu) lub Wideo (wizualizacja) należy podać publiczny adres URL, pod którym dostępny jest strumień z kamery. Hasło dostępowe po wpisaniu w konfiguratorze zostanie ukryte, aby uniemożliwić jego podgląd przez osoby niepowołane.
Zalety:
- Duża płynność wyświetlanego obrazu, gdyż aplikacja Remote łączy się bezpośrednio z kamerą (zarówno przy połączeniach zdalnych i lokalnych). Płynność wyświetlanego obrazu jest porównywalna z podglądem obrazu przez przeglądarkę internetową.
- Obraz nie jest przekazywany przez moduł Base.
Wady:
- Wymagana jest dodatkowa konfiguracja w routerze, aby przekierować strumień z kamery do Internetu. W przypadku braku statycznego publicznego adresu IP należy skorzystać z usług dynamicznych DNS.
W sieciach, gdzie nie jest możliwe przekierowanie strumienia do Internetu (np. ograniczenie takich możliwości przez dostawcę Internetu), należy zastosować podejście alternatywne opisane poniżej.
Rozwiązanie alternatywne #
Alternatywnym podejściem jest użycie wyłącznie lokalnego adresu URL strumienia kamery. Należy go wprowadzić w konfiguracji elementu Kamera lub Wideo. Nie ma przy tym konieczności, aby strumień był szyfrowany przy użyciu SSL. W przypadku połączeń zdalnych, moduł Base pełni rolę bramki przekazującej dane strumienia wideo. Zdalny podgląd obrazu z kamery w takim przypadku odbywa się wg następującego schematu:APLIKACJA REMOTE -> SERWER DOMIQ -> MODUŁ BASE -> KAMERA
i dane powracają do aplikacji Remote tą samą drogą, ale w odwróconej kolejności. Cała komunikacja jest szyfrowana i niemożliwe jest jej podejrzenie.
W przypadku podglądu lokalnego (urządzenie z aplikacją Remote znajduje się w tej samej sieci lokalnej, co kamera), aplikacja pobiera strumień wideo poprzez bezpośrednie połączenie z kamerą.
Zalety:
- Nie ma konieczności konfiguracji routera w celu przekierowania strumienia wideo.
Wady:
- Z uwagi na fakt, że cała transmisja danych przechodzi przez moduł Base i jest przez niego szyfrowana, występuje znaczące spowolnienie w przekazywaniu obrazu. Maksymalna szybkość obrazu osiągana tą drogą to 1-2 klatki/sekundę (przy klatce o średniej jakości i rozdzielczości 640×480 pikseli). Ograniczenie szybkości wynika z faktu, że szyfrowanie tak dużych porcji danych mocno obciąża zasoby modułu Base.
- Płynność obrazu porównywalna z przeglądarką internetową tylko przy poglądzie kamery w sieci lokalnej.
Jeżeli mimo szyfrowania danych i ich ochrony hasłem, obawiasz się przekierowania strumienia z kamery do Internetu, wówczas użyj rozwiązania alternatywnego, godząc się z mniejszą płynnością wyświetlanego obrazu przy połączeniach zdalnych.