Monitoring oparty o Easycam EC-230D i OrangePi

Od jakiegoś czasu bawię się w monitoring DIY na działce. Mój setup składa się z: OrangePi One, dwóch kamer Easycam EC-230D i switcha. Jako, że system pracuje na wygnajewie, łączność zapewnia mi modem GSM na USB z SIM Aero2. Okazuje się, że sieć ta bardzo ładnie działa (~100kB/s) i nie posiada CAPTCHA, gdy wykupi się pakiet danych.

Pierwsza iteracja bazowała na Thinkpadzie x41 i jednej kamerze, jednak ten sobie wydajnościowo nie radził. Dodatkowo, sprzęt ten miał tendencję do wyłączania się z nieznanych przyczyn, a automatyczny reboot był niemożliwy bez dodatkowych sprzętowych przeróbek. Zacisnąłem zęby, zamówiłem OrangePi i system w miarę dobrze działa.

Kamery EC-230D posiadają całkiem niezłe parametry jak na swoją cenę: nagrywanie w 1080p, automatyczne przechodzenie w rejestrowanie podczerwieni oraz dość silne diody, by rozjaśnić otoczenie na około 25 metrów. Problemy jednak sprawia soft, który jest toporny, słabo przetłumaczony, a co najgorsze – tylko na Windowsa.

Konfiguracja adresu IP

Początkowo kamery przychodzą skonfigurowane z adresem w stylu 192.168.1.xxx. IP zmienić się da, ale tylko przy pomocy dostarczonej aplikacji Device Manager. Przetestowana przeze mnie droga konfiguracji to:

  • podłączenie point2point komputera z kamerą,
  • ustawienie w komputerze na sztywno adresu IP w podsieci 192.168.1.xxx,
  • uruchomienie Device Manager i kliknięcie przycisku IP search.

Na liście powinna pojawić się kamera. Po jej wybraniu można zmienić jej konfigurację IP, następnie podpiąć pod resztę sieci i zapomnieć o sprawie.

Konfiguracja parametrów kamery

Tu zaczyna się już gęstwina. Należy zainstalować aplikację CMS, zalogować się jako “super” bez hasła, dodać strefę a następnie do strefy kamerę. Później można się pobawić jej konfiguracją, w tym:

  • rozdzielczością głównego i pobocznego strumienia video,
  • rozkładem tekstu na obrazie: datownika, nazwy kamery;
  • datą, strefą czasową, czasem zimowym.

Alternatywne oprogramowanie

Po chwili bawienia się CMSem człowiekowi zbiera się na wymioty i zastanawia się, jak by rejestrować obraz bez tego muła, który bez jakiejkolwiek podłączonej kamery już na dzień dobry zabiera 100 MB RAMu. Przerobiłem następujące opcje:

  • iSpy na Thinkpadzie X41 – wydajnościwoo nie dawało to sobie w ogóle rady,
  • OpenRTSP – rejestrowanie strumienia miało tendencję do zrywania obrazu, więc nagrywałem serię 2-minutowych filmów by to obejść – brak wykrywania obrazu, niewygodne do przeglądania
  • Motion + MotionEye – chyba najlepsze, co może być do monitoringu.

Samą konfigurację Motion i MotionEye opiszę innym razem. Opiera się ona głównie o przechwytywanie strumienia głównego z adresu: rtsp://ipKamery/user=admin_password=_channel=1_stream=0.sdp . Nie odkryłem, jak dostać się do strumienia dodatkowego.

O ile udało mi się wyeliminować konieczność korzystania z chińskiego softu na codzień, to jednak czasem jest on jeszcze przydatny. Chęć dodania kolejnej kamery spowodowała, że musiałem ją uprzednio z poziomu Windowsa wstępnie skonfigurować, po czym w środku zimy na miejscu montażu siedzieć przed laptopem i poprawiać jej konfigurację. Dodatkowo, datownik wyświetlany na obrazie pozostawiony sam sobie zaczyna rozbiegać się z faktyczną datą i godziną. Rozwiązanie jest proste – wystarczy połączyć się CMSem z kamerą i data sama się zsynchronizuje.

Tego typu problemy powodują, że chciałoby się mieć pod linuksem aplikację zamienną dla CMSa. Podczas ostatniej sesji konfiguracyjnej kamery uruchomiłem WireSharka i moim oczom ukazały się pakiety wysyłane nieszyfrowanym JSONem. Prawdopodobnie pewnego dnia pokuszę się o usystematyzowanie tego protokołu i napisanie własnej aplikacji pracującej z poziomu wiersza poleceń.

This entry was posted in Monitoring and tagged , , , , , , . Bookmark the permalink.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.