Detekcja ruchu VMD z kamer HIKVISION [kod źródłowy]

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Post Reply
User avatar
Duch__
Posts: 506
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole

Sun Oct 21, 2018 9:18 pm

Witam.

Dzisiaj udostępniam kawałek kodu umożliwiający odczyt stanu detekcji ruchu VMD z kamer / rejestratorów firmy HIKVISION.
Dzięki niemu, po dodaniu obsługi skryptów SUPLA.FRACZ.COM kolegi @FRACZ możliwe będzie wykonywanie akcji po stronie SUPLI w przypadku wykrycia ruchu w kamerze - np. zapalenie światła przed domem.

Zasada działania.

Program łączy się z urządzeniem firmy HIKVISION wysyłając zapytanie GET o treści "/ISAPI/Event/notification/alertStream".
Jeśli odpowiedz "200 OK" nie nastąpi w określonym czasie, sugerując że urządzenie jest zajęte, wydłużony zostaje czas "Delay_time" oczekiwania przy następnym pytaniu.
Jeśli jednak nastąpi odpowiedź "200 OK", ale nie znajdziemy odpowiedzi "</EventNotificationAlert>" sugerując że urządzenie jest zajęte, wydłużony zostaje czas "Delay_time2" oczekiwania przy następnym pytaniu.
W przypadku jeśli któraś odpowiedź nastąpi, to skracany jest odpowiedni czas "Delay_time" lub "Delay_time2", dzięki temu ESP sam oblicza sobie odpowiedni czas pomiędzy pytaniem, a odpowiedzią.

W testowanych urządzeniach łączny czas pomiędzy pytaniem GET, a odpowiedzią wynosił:
Rejestrator HIKVISION DS-7104HQHI-K1 (firmware V3.5.35 build 180316) - około 4 sekundy;
Kamera IP HIKVISION DS-2CD2120F-I (firmware V5.4.5 build 170123) - około 200ms.

W przypadku stwierdzenia w odpowiedzi wyrażenia "<channelID>1</channelID>" oraz "<eventType>VMD</eventType>" uznaje się że kamera 1 wykryła ruch.

Po szczegóły dotyczące protokołu ISAPI firmy HIKVISION odsyłam do linku http://down.dipol.com.pl/Cctv/-Hikvisio ... ervice.pdf

Kod źródłowy w ARDUINO IDE:
VMD Hikvision 1.0.0 .zip
(1.63 KiB) Downloaded 149 times
Zapraszam do testów i rozwijania kodu.

Pozdrawiam, Duch__
Aktualnie na budowie: 8x SRW-01, 1x ROW-02, SUPLA BUTTON V2.0, 16 x DS na ESP (GUI), Sonoff S20 jak kontroler CWU, Ping IP Socket.

Przydatne linki:
viewtopic.php?f=9&t=4160
search.php?keywords=
Post Reply