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:
Zapraszam do testów i rozwijania kodu.
Pozdrawiam, Duch__
Detekcja ruchu VMD z kamer HIKVISION [kod źródłowy]
Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
1 post
• Page 1 of 1
1 post
• Page 1 of 1
Return to “Pomysły i koncepcje”
Jump to
- Polski
- ↳ Ogólna dyskusja
- ↳ Pomoc
- ↳ Pomysły i koncepcje
- ↳ Nowości
- ↳ Rozwój oprogramowania
- ↳ Zagadnienia ogólne
- ↳ supla-dev
- ↳ Arduino IDE
- ↳ supla-server
- ↳ CLOUD
- ↳ Android
- ↳ iOS
- ↳ Windows
- ↳ supla-docker
- ↳ Integracje
- ↳ Google Home
- ↳ Amazon Alexa
- ↳ IFTTT
- ↳ OpenHAB
- ↳ Domoticz
- ↳ MQTT
- ↳ Apple HomeKit
- ↳ Zabbix
- ↳ FAQ / Jak to zrobić
- ↳ Projekty użytkowników
- ↳ GUI Generic
- ↳ Bramka ZigBee
- ↳ SUPLA Scripts
- ↳ Supla-device dla Linuxa (sd4linux)
- ↳ Sprzęt
- ↳ Gotowy sprzęt
- ↳ AURATON Box
- ↳ AURATON Multizone Controller / Floor Heating Controller
- ↳ AURATON Radiator Controller
- ↳ AURATON Heater Controller
- ↳ AURATON Heat Monitor
- ↳ AURATON Temperature Sensor
- ↳ AURATON Flood Sensor
- ↳ AURATON Flood Sensor Valve
- ↳ AURATON Switch ONE
- ↳ AURATON Switch TWO
- ↳ AURATON Roller Shutter
- ↳ AURATON DWS (door-window sensor) (czujnik otwarcia drzwi/okna)
- ↳ AURATON PIR Sensor
- ↳ Sonoff Basic
- ↳ Sonoff Touch
- ↳ Sonoff TH
- ↳ Sonoff 4CH
- ↳ Sonoff SV
- ↳ Sonoff POW
- ↳ Heatpol Home+
- ↳ ZAMEL ROW-16A
- ↳ ZAMEL ROW-02
- ↳ ZAMEL ROW-01
- ↳ ZAMEL mROW-02
- ↳ ZAMEL ROW-04m
- ↳ ZAMEL ROW-02m
- ↳ ZAMEL ROW-07
- ↳ ZAMEL SRW-01
- ↳ ZAMEL mSRW-01
- ↳ ZAMEL SRW-02m
- ↳ ZAMEL SLW-02
- ↳ ZAMEL SRW-03
- ↳ ZAMEL mSBW-02
- ↳ ZAMEL SBW-02
- ↳ ZAMEL SBW-01
- ↳ ZAMEL SLW-01
- ↳ ZAMEL mSLW-01
- ↳ ZAMEL mSLW-02
- ↳ ZAMEL PNW-01
- ↳ ZAMEL MEW-01
- ↳ ZAMEL MEW-02 ETH
- ↳ ZAMEL LEW-01
- ↳ ZAMEL LEW-02
- ↳ ZAMEL LIW-01
- ↳ ZAMEL DIW-01
- ↳ ZAMEL OSW-01
- ↳ ZAMEL RNW-01
- ↳ ZAMEL INW-01
- ↳ ZAMEL THW-01
- ↳ ZAMEL GBM-03
- ↳ ZAMEL GKW-01
- ↳ ZAMEL GKW-02
- ↳ ZAMEL SGW-01
- ↳ HPD Alert RC1
- ↳ Varilight V-Pro Smart
- ↳ Przetestowane źródła światła
- ↳ Fakro z-wave bridge
- ↳ Nice Wi-Fi
- ↳ Smart Valve Peveko
- ↳ Wekta TK-10
- ↳ Yunshan wi-fi relay module
- ↳ Blitzwolf
- ↳ Shelly
- ↳ Gosund
- ↳ Zrób to sam
- ↳ SUPLA inCan by Espablo
- ↳ Ogłoszenia / Giełda / Zlecenia
- English
- ↳ General discussion
- ↳ Help
- ↳ Ideas and concepts
- ↳ News
- ↳ FAQ
- Italiano
- ↳ Aiuto
- ↳ Discussione generale
- ↳ Suggerimenti
- ↳ Novità
- Español
- ↳ Discusión general
- ↳ Ayuda
- ↳ Ideas y conceptos
- ↳ Noticias
- Deutsch
- ↳ Allgemeine Diskussion
- ↳ Hilfe
- ↳ Ideen und Konzepte
- ↳ Nachrichten
- ↳ FAQ
- Čeština
- ↳ Obecná diskuse
- ↳ FAQ
- Русский
- ↳ Помогите
