Ten samouczek jest trzecim z serii, opisujących integrację systemu DOMIQ z urządzeniami Mobotix. W poprzednich dwóch opisaliśmy integrację z wideodomofonem Mobotix T24 oraz wykorzystanie protokołu SIP i urządzeń Mobotix do realizacji funkcji wideodomofonu. Tym razem skupimy się na opisaniu możliwości integracyjnych kamery wewnętrznej Mobotix Q24.
Po przeczytaniu tego samouczka nauczysz się jak:
- Sterować funkcjami kamery z poziomu interfejsów użytkownika DOMIQ.
- Definiować obszary detekcji ruchu i reagować na ruch w tych obszarach.
- Zintegrować kamerę z systemem alarmowym Satel Integra.
- Wykorzystać protokół SIP do informowania o zaistniałych zdarzeniach alarmowych.
Przed przystąpieniem do lektury tego samouczka zalecamy zapoznanie się z pozostałymi samouczkami z serii, gdyż niniejszy samouczek zawiera odwołania do opisanych w nich procedur.
1. Sterowanie kamerą #
Wykorzystując interfejs programistyczny (API) kamery możliwe jest sterowanie wszystkimi funkcjami kamery wprost z interfejsów użytkownika DOMIQ. Dzięki temu możesz utworzyć utworzyć ekran wizualizacji lub stronę w Remote, gdzie umieścisz przyciski wywołujące najczęściej używane funkcje kamery.
Wysyłanie poleceń do kamery odbywa się z wykorzystaniem metody Get
protokołu HTTP. Aby uzyskać dostęp do pełnego opisu interfejsu programistycznego kamery, w polu adresu przeglądarki wpisz: http://<ip kamery>/help
, a następnie w sekcji Remote-Controlling the Camera (na dole strony) wybierz pozycję The HTTP API.
Dalsza część tego rozdziału przedstawia trzy przykłady użycia interfejsu programistycznego do sterowania kamerą z poziomu wizualizacji. W omawianych przykładach przedstawiamy wykorzystanie komend w polu Polecenie elementu Przycisk. Należy mieć na uwadze, że w polu Polecenie nie ma konieczności używania prefiksu ”C.”
. W każdym innym przypadku przedstawione polecenia należy poprzedzić prefiksem.
Przedstawione polecenie mogą być również wykorzystywane w innych obszarach funkcjonalności modułu Base np. w zdarzeniach, regułach czasowych, logice itd.
1.1. Zmiana formatu obrazu #
Kamera Mobotix Q24 umożliwia wyświetlanie obrazu w kilku formatach. Zmiana formatu odbywa się przy użyciu parametru display_mode
. Dostępne wartości parametru to: simple, lenscorr_l11, surround, panorama, pano_focus, pano_dbl.
Ogólnia składnia polecenia przełączającego format obrazu jest następująca: C.HTTP.get=http://<login>:<hasło>@<ip_kamery>/control/control?set§sec-tion=general&display_mode=<format_obrazu>.
HTTP.get=http://admin:test@192.168.10.100/control/control?set&sec-tion=general&display_mode=pano_dbl
Ustawienie trybu podwójnej panoramy.
Aby utworzyć pełny interfejs do przełaczania formatu obrazu należy dodać do wizualizacji 6 Przycisków, a następnie w polu Polecenie każdego wpisać powyższą komendę, zmieniąjąc w niej wartość parametru display_mode
.
1.2. Zmiana rozmiaru obrazu #
Oprogramowanie kamery umożliwia zmianę rozdzielczości obrazu w szerokim zakresie: 160×120, 320×240, 352×288, 384×288, 640×480, 704×576, 768×576, 800×600, 1024×768, 1280×960, 2048×1536. Dzięki temu łatwo dopasować obraz do aktualnych potrzeb oraz szybkości połączenia internetowego (zwłaszcza połączenia zdalne). Można również zdefiniować regułę w zdarzeniach lub timerach, która automaczynie zmniejszy rozdzielczość obrazu pod naszą nieobecność, aby tym samym zapewnić większą płynność obrazu przy połączeniach zdalnych oraz zwiększy rozdzielczość, gdy znajdziemy się w obrębie sieci lokalnej.
Ogólnia składnia polecenia jest następująca: C.HTTP.get=http://<login>:<hasło>@<ip_kamery>/control/control?set§sec-tion=imagecontrol&size_mode=<rozmiar>.
HTTP.get=http://admin:test@192.168.10.100/control/control?set&sec-tion=imagecontrol&size=640x480
Ustawienie rozdzielczość 640×480 pikseli.
1.3. Pomniejszanie/powiększanie obrazu #
Pomniejszanie i powiekszanie obrazu, czyli tzw. zoom. Dzięki niemu można przyjrzeć się szczegółom na wyświetlanym obrazie. Kamera umożliwia maksymalnie 8-krotne powiększenie wyświetlanego obrazu. Powiększenie może być wyrażane bezwzględnie (konkretna wartość powiększenia np. 5x) oraz względem poprzedniej nastawy np. powiększenie o 1. Zmiana powiększenia wyrażana jest w promilach, zatem wartość 1000 odpowiada powiększeniu o 1.
Ogólnia składnia polecenia na zmianę bezwzględną jest następująca: C.HTTP.get=http://<login>:<hasło>@<ip_kamery>/control/click.cgi?zoom=<powiększenie>.
HTTP.get=http://admin:test@192.168.10.100/control/click.cgi?zoom=4000
Powiększenie czterokrotne.
Względna zmiana powiększenia wykonywana jest przy pomocy następującej komendy: HTTP.get=http://<login>:<hasło>@<ip_kamery>/control/click.cgi?zoomrel=<zmiana_powiększenia>.
HTTP.get=http://admin:test@192.168.10.100/control/click.cgi?zoomrel=1000
Powiększenie o 1x.
Każdorazowe wykonanie tego polecenia powiększy rozmiar jednokrotnie. Aby zmniejszać obraz, względną wartość powiększenia należy wyrazić jako liczbę ujemną.
HTTP.get=http://admin:test@192.168.10.100/control/click.cgi?zoomrel=-1000
Pomniejszenie o 1x.
W prezentowanych przykładach należy pamiętać o zmianie loginu i hasła oraz adresu IP kamery.
2. Integracja kamery z modułem Base #
Integracja kamery z modułem Base jest pozycją wyjściową do integracji z pozostałymi systemami inteligentnego budynku. Oprogramowanie kamery współpracuje z oprogramowaniem zewnętrznym, dzięki czemu możliwa jest pełna integracja kamery z systemem DOMIQ, a tym samym z całą instalacją inteligentnego budynku. Integracja jest dwukierunkowa i przebiega wg następującej procedury:
2.1. Wysyłanie informacji do modułu Base #
Tworząc prostą regułę, moduł Base będzie otrzymywał informacje o każdym zdarzeniu, wyzwolonym w kamerze. Na tej podstawie Base może reagować np. na naciśnięcie przycisków na wideodomofonie, wykrycie ruchu, wykrycie dźwięku itd.
- Zaloguj się do interfejsu konfiguracyjnego kamery.
- Wybierz opcję Admin setup (otworzy się nowe okno).
- W sekcji Transfer Profiles i wybierz opcję IP Notify Profiles:
- Naciśnij Add new profile na dole ekranu.W komórce IP Notify Profile wpisz nazwę profilu np. Base.Z listy IP Notify Type wybierz Custom Configuration.W polu Destination Address wpisz:
IP:4224
np.192.168.10.20:4224
Wybierz opcję Raw TCP/IP w polu Data Protocol oraz Plain text w polu Data Type.W ostatnim okienku są definiowane wiadomości, które będą przekazywane do modułu Base, w momencie wyzwolenia zdarzenia zdefiniowanego w kamerze. Ograniczymy się do przekazywania nazwy akcji, która wyzwoliła zdarzenie. W tym celu wpisz:MOBOTIX.event.q24=$(EVT.EST.ACTIVATED)
. Ten zapis oznacza, że nazwa akcji, która wyzwoliła zdarzenie będzie odbierana przez moduł Base jako komendaC.MOBOTIX.event.q24=<zdarzenie>
. W przypadku naciśnięcia przycisku dzwonka będzie to:C.MOBOTIX.event.q24=CameraBellButton
.
Przykładową konfigurację przedstawia poniższy obrazek.
- Naciśnij Add new profile na dole ekranu.W komórce IP Notify Profile wpisz nazwę profilu np. Base.Z listy IP Notify Type wybierz Custom Configuration.W polu Destination Address wpisz:
- Kliknij Set, aby zatwierdzić wprowadzone zmiany, a następnie Close, aby zapisać je w pamięci urządzenia.
2.2. Odbieranie informacji z modułu Base #
Zdarzenia w kamerze mogą być wyzwalane dowolnym komunikatem otrzymanym przez TCP/IP. W opisywanym przykładzie, komunikat TCP/IP posłuży do wyzwalania nagrywania obrazu. Akcja definiowana jest następująco:
- Wybierz opcję Setup Menu, a następnie Event Settings.
- Zaznacz pole wyboru w sekcji IP Receive (RC) Events i uzupełnij następujące parametry:
- Pole IP Receive Port pozostaw z domyslnym numerem 8000.Z listy IP Receive Compare wybierz pozycję String Compare.W polu IP Receive Message wpisz dowolną wiadomość, która będzie wyzwalała zdarzenie. Nie używaj polskich znaków i spacji. W naszym przypadku użyliśmy słowa recording.
- Kliknij przycisk Set, aby zatwierdzić wprowadzone zmiany.
- Wróć na główny poziom Setup Menu i wybierz pozycję Recording. W nowym oknie uzupełnij następujące parametry:
- W sekcji Arming, wybierz z listy Enable.
- W sekcji Recording, wybierz Event Recording. Wybierz opcję Include audio, jeżeli chcesz, aby był nagrywany dźwięk.
- W sekcji Start Recording wybierz akcję, która wyzwoli nagrywanie. Można wybrać klika pozycji trzymając wciśnięty klawisz Ctrl (PC) lub cmd (Mac). W naszym przypadku wybraliśmy opcję: RC: IP Receive.
- Kolejne trzy opcje okeślają parametry i czas nagrywanego obrazu.
Przykładową konfigurację przedstawia poniższy obrazek:
- Konfiguracja gotowa. Od teraz jeżeli kamera odbierze komunikat TCP/IP o treści recording rozpocznie nagrywanie obrazu.
- Kliknij Set, aby zatwierdzić wprowadzone zmiany, a następnie Close, aby zapisać je w pamięci urządzenia.
Wysyłanie komunikatów TCP/IP z modułu Base zostało przedstawione w dalszej części samouczka.
Z tak skonfigurowaną kamerą możemy przystąpić do integracji z systemem alarmowym Satel.
3. Integracja z systemem alarmowym Satel #
Integracja systemu alarmowego i monitoringu umożliwia jeszcze lepszy i pełniejszy nadzór nad budynkiem/mieszkaniem pod naszą nieobecność. Definiując strefy wykrywania ruchu możesz mieć natychmiastową informację o ich naruszeniu w postaci notyfikacji lub połączenia SIP na Twój telefon lub tablet. Podgląd na żywo pozwoli Ci ocenić stan zagrożenia i podjąć szybką decyzję. Automaczynie wyzwalane nagrywanie zapewni, że nic nie umknie Twojej uwadze.
3.1. Automatyczne nagrywanie #
Automatycznie wyzwalane nagrywanie daje pewność, że żadne zdarzenie alarmowe nie umknie naszej uwadze. Nagrywanie może być wyzwalane po naruszeniu zdefiniowanego obszaru detekcji ruchu lub wzbudzeniu czujki alarmowej (czujka PIR, kontaktron, czujka zbicia szyby, czujka dymu, zalania itd.).
3.1.1. Nagrywanie wyzwalane detekcją ruchu #
Definicja obszarów detekcji ruchu
Obszary detekcji ruchu powinny być definiowane po zamontowaniu kamery na docelowym miejscu. Definicja obszaru przebiega następująco:
- Wciśnij klawisz Shift i kliknij dwukrotnie na podglądzie obrazu w konfiguratorze kamery. W efekcie pojawi się mały żółty kwadracik.
- Puść klawisz Shift i kliknij w miejscu, które będzie stanowiło przeciwległy narożnik obszaru. Obszar będzie widoczny jako prostokąt z żółtym obrysem.
- Wybierz Setup Menu > Event Settings.
- W sekcji Video Motion Windows, z rozwijanej listy wybierz Hide but highlight on event (obszar zostanie zaznaczony czerwonym obrysem w przypadku naruszenia).
- Domyślnie kamera ma zdefiniowane dwa profile o nazwach VM oraz VM2. W profilu VM kliknij Add Rectangle, aby dodać zdefiniowany przed momentem obszar. W polu Video Motion Definitions (VM) pojawią się parametry zdefiniowanego prostokąta. Istnieje możliwość zdefiniowania kilku obszarów w obręcie jednego profilu. W tym celu powtórz punkty 1. i 2, a następnie kliknij przycisk Add Rectangle. W rezultacie w polu Video Motion Definitions (VM) dodany zostanie kolejny obszar.
Przykładowa konfiguracja obszaru została przedstawiona na poniższym obrazku: - Następnym krokiem jest zdefiniowanie reakcji kamery na wykrycie ruchu. Może być to np. rozpoczęcie nagrywania, odtworzenie dźwięku itd. W naszym przypadku reakcją będzie wysłanie notyfikacji IP do modułu Base.
- Wróć do głównego poziomu Setup Menu, a następnie wybierz Action Group Overview i dodaj nową grupę (przycisk Add new group).
- W nowym oknie uzupełnij parametry grupy:
- Wpisz nazwę grupy np. Ruch.
- Z rozwijanej listy poniżej wybierz pozycję Enable.
- W sekcji Event Selection wybierz VM – Video Motion.
- W sekcji Actions dodaj nową akcję (przycisk Add new action), a następnie wybierz z listy IP Notify:<nazwa profilu>, w naszym przypadku IP Notify: Base.
- Kliknij Set, aby zatwierdzić wprowadzone zmiany, a następnie Close, aby zapisać je w pamięci urządzenia.
Reakcja modułu Base
Kamera umożliwia uruchomienie nagrywania jako bezpośrednią reakcję na wykrycie ruchu. Jednakże w naszym przypadku chcemy, aby nagrywanie było wyzwalane jedynie pod nieobecność ludzi w budynku/mieszkaniu. W tym celu należy utworzyć zdarzenie, które sprawdzi stan centrali alarmowej i podejmie decyzję o rozpoczęciu nagrywania.
- W konfiguratorze Base przejdź do zakładki Zdarzenia.
- Dodaj nowe zdarzenie i uzupełnij jego parametry:
- Wprowadź opis (opcjonalnie)
- W polu Kanał wpisz:
C.MOBOTIX.event.q24
(zgodnie z rozdziałem 2.1 Wysyłanie informacji do modułu Base.) - W polu Dane wpisz nazwę profilu detekcji ruchu. W naszym przypadku
VM
. - W polu Warunek wpisz:
E.IDS.armed.<strefa>==1
, gdzie<strefa>
oznacza numer strefy, która jednoznacznie określa obecność w budynku.
- Kliknij na Dodaj komendę…. W oknie, które się wyświetli wpisz w polu Nazwa:
C.TCP.send.<IP kamery>:8000
, w komórce Wartość wpisz treść wiadomości, która ma być wysłana do kamery. W naszym przypadku jest to słowo recording (wyzwoli zdefiniowaną wcześniej regułę na rozpoczęcie nagrywania). Komenda zostanie wykonana tylko wtedy, gdy spełnione jest wyrażenie z pola Warunek.
Opcjonalnie moduł Base może wysłać notyfikację do wszystkich zarejestrowanych aplikacji Remote lub wykonać połączenie SIP do wybranej osoby/osób. Opis tych funkcjonalności znajdziesz w rozdziale 4.
3.1.2. Nagrywanie wyzwalane czujkami alarmowymi #
Ten sposób wyzwalania nagrywania jest pełniejszy, ponieważ pozwala uwzględnić działanie wszelkiego rodzaju czujników podłączonych do centrali alarmowej oraz bardziej niezawodny, gdyż pozwala uniknąć błędów w detekcji ruchu. Procedura ogranicza się do pojedynczego zdarzenia, które definiowane jest następująco:
- Dodaj nowe zdarzenie i uzupełnij jego parametry:
- Wprowadź opis (opcjonalnie)
- W polu Kanał wpisz:
E.IDS.input.(%d+)
– dowolne wejście centrali alarmowej. - W polu Dane wpisz 1.
- W polu Warunek wpisz:
E.IDS.armed.<strefa>==1
, gdzie<strefa>
oznacza numer strefy, która jednoznacznie określa obecność w budynku.
- Kliknij na Dodaj komendę…. W oknie, które się wyświetli wpisz w polu Nazwa:
C.TCP.send.<IP kamery>:8000
, w komórce Wartość wpisz treść wiadomości, która ma być wysłana do kamery. W naszym przypadku jest to słowo recording (wyzwoli zdefiniowaną wcześniej regułę na rozpoczęcie nagrywania). Komenda zostanie wykonana tylko wtedy, gdy spełnione jest wyrażenie z pola Warunek.
Opcjonalnie moduł Base może wysłać notyfikację do wszystkich zarejestrowanych aplikacji Remote lub wykonać połączenie SIP do wybranej osoby/osób. Opis tych funkcjonalności znajdziesz w rozdziale 4.
4. Reakcje opcjonalne #
Reakcja systemu automatyki na naruszenie czuwania lub stref detekcji ruchu nie musi się ograniczać wyłącznie do nagrywania obrazu. W tym rozdziale zaprezentujemy, jak wysyłać notyfikacje alarmowe oraz wykonać alarmowe połączenie SIP do urządzeń mobilnych.
4.1. Notyfikacje alarmowe #
Moduł Base umożliwia wysłanie notyfikacji o dowolnej treści do wszystkich aktualnie sparowanych aplikacji DOMIQ/Remote. Aby zdefiniować taką akcję wystarczy dodać do zdarzenia wyzwalającego nagrywanie dodatkową komendę o następującej postaci:
W polu Nazwa wpisz: C.REMOTE.notify
, natomiast w komórce Wartość wpisz dowolną treść powiadomienia.
Po zdefiniowaniu tej akcji, użytkownicy będą powiadamiani każdorazowo o wyzwoleniu alarmowego nagrywania.
4.2. Alarmowe połączenie SIP #
Moduł Base może w reakcji na naruszenie strefy detekcji ruchu lub czujników alarmowych zainicjować połączenie SIP, aby powiadomić mieszkańców o tym zdarzeniu.
Konfiguracja serwera, kont klienckich i aplikacji klienckich SIP została szczegółowo opisany w samouczku TU-0012 pt. „DOMIQ, SIP i kamery Mobotix” dlatego nie będziemy jej tutaj prezentować w całości, a jedynie ograniczymy się do zaprezentowania tych fragmentów konfiguracji, gdzie należy wprowadzić zmiany.
W przypadku alarmowych połączeń SIP, zalecamy zdefiniowanie osobnego profilu połączeń SIP na ten cel, aby jednoznacznie oddzielić połączenia alarmowe od połączeń zwykłych. Przy definiowaniu profilu alarmowego, należy (nie jest to konieczne) również wybrać wiadomość dźwiękową (opcja Message name), która będzie odtworzona na początku każdego połączenia alarmowego i dzięki której użytkownik będzie wiedział, ze ma do czynienia z połączeniem alarmowym. Można tu skorzystać z gotowych dźwięków dostępnych w kamerze (np. dźwięk o nazwie Alarm) lub wgrać własny plik dźwiękowy. Wgrywanie własnych plików dźwiękowych zostało opisane w samouczku pt. „Domofon MOBOTIX T24”.
W stosunku do procedury opisanej w poprzednim samouczku, zmianie ulegnie sposób inicjowania połączeń z urządzeniami mobilnymi. Zamiast notyfikacji IP, użyjemy interfejsu programistycznego kamery.
Oprócz polecenia inicjującego połączenia z urządzeniami przypisanymi do profilu połączeń, zaprezentujemy również polecenie umożliwiające nawiązanie połączenia z wybranym klientem SIP.
Oba polecenia mają prefiks C.
, gdyż w rozpatrywanym przypadku będą stosowane wewnątrz definicji zdarzenia, gdzie jest to wymagane.
W celu nawiązania połączenia ze wszystkimi urządzeniami w obrębie profilu należy zastosować komendę o następującej składni: C.HTTP.get=http://<login>:<hasło>@<ip_kamery>/control/rcontrol?action=voip-phone&profile=<nazwa_profilu>.
C.HTTP.get=http://admin:test@192.168.10.31/control/rcontrol?action=voip-phone&profile=alarm
Połączenie z klientami SIP przypisanymi do profilu o nazwie alarm.
Ogólnia składnia polecenia realizującego połączenie z wybranym klientem SIP jest następująca:C.HTTP.get=http://<login>:<hasło>@<ip_kamery>/control/rcontrol?action=voip-call&sipaddr=<adres_SIP_klienta>.
C.HTTP.get=http://admin:test@192.168.10.31/control/rcontrol?action=voip-call&sipaddr=user1@192.168.10.31:5061
.
Połączenie z klientem SIP o adresie SIP user1@192.168.10.31:5061
.
W prezentowanych przykładach należy pamiętać o zmianie loginu i hasła oraz adresu IP kamery.
Zautomatyzowanie procesu inicjowania połączeń SIP polega na dodaniu jednego z opisanych w tym podrozdziale poleceń do listy akcji, które zostaną wykonane po naruszeniu obszaru detekcji ruchu lub czujników alarmowych.