Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Drugie oko sprawiedliwości

W poprzednim wpisie obiecałem omówić kolejny element systemu monitoringu, który pomału buduję, w celu ochrony działki przed intruzami. Na chwilę obecną działki strzegą dwie kamerki- opisana poprzednio nocna oraz nowa, malinowa. Planuje dodać jeszcze kilka czujników ruchu (głównie w pomieszczeniach) oraz mikrofon, na podstawie którego uruchomię detektor tłuczonego szkła. I na tym poprzestanę.

Dalsza rozbudowa systemu pójdzie już w kierunku ogrodowej stacji pogodowej. W pierwszej kolejności zamontuje czujniki, które już posiadam, czyli czujnik wilgotności podłoża oraz czujnik wilgotności i temperatury powierza. Wszystkie czujniki zamierzam połączyć bezprzewodowo. Gdy tylko uda się to spiąć w sensowną całość, to postaram się opisać to na blogu. Gdyby się okazało, że malinka nie podoła wszystkim zadaniom, w gotowości na przejęcie jej obowiązków czeka już Cubietruck.

Druga kamera od tygodnia monitoruje teren. Do jej budowy wykorzystałem malinkę, którą otrzymałem na zeszłorocznym ColdZlocie. Dla przypominania jest to model RPI Raspberry Pi 1 model B. Natomiast cyfrowe oko to moduł kamery 5mpix FULL HD v1.3, który można nabyć już od 110 zł. Całość na dzień dzisiejszy ma wartość ok 170 zł, więc cenowo odpowiada gotowym, chińskim konstrukcjom.

Złożenie wszystkiego w jedną, sprawnie funkcjonującą całość, zabrało mi trochę czasu i nerwów. Spędziłem wiele godzin na testowaniu różnych rozwiązań. Poradniki, z których korzystałem, nie ustrzegły się niestety drobnych błędów, np. w postaci literówek. A że nie pałam wielką miłością do Linuxa, to zeszło mi nad tym trochę więcej czasu, niż pierwotnie zakładałem. Mam nadzieję, że ustrzegłem się podobnych błędów i wszyscy zainteresowani zbudują sobie podobny niskobudżetowy system monitoringu.

W tym miejscu wspomnę o programie, który oszczędził mi sporo czasu. Program HDD Raw Copy Tool służy do tworzenia obrazu kart SD, dzięki czemu w razie "popsucia" systemu w miarę szybko można przywrócić sprawną kopię.

Instalacja Systemu

W pierwszej kolejności pobrałem NOOBS w wersji 1.4.0 Proces instalacji i konfiguracji na tym etapie sprowadza się tylko do rozpakowania archiwum na kartę SD, a następnie wybraniu systemu do zainstalowania. Po ok. 15 minutach, jak prostes instalacji dobiegnie końca, w oknie konfiguracji raspi-config należy włączyć obsługę modułu kamery.

Instalacja motion i motioneye

No to idziemy po kolei i wklepujemy na klawiaturze następujące polecenia: sudo aptitude update && sudo aptitude upgrade sudo aptitude install python-tornado python-jinja2 python-imaging motion ffmpeg v4l-utils cd /home/pi wget https://bitbucket.org/ccrisan/motioneye/get/b50d24175d74.zippobrany plik `b50d24175d74.zip' należy rozpakowaćunzip b50d24175d74.zipa następnie zmieniamy nazwę katalogu na bardziej przejrzystą:mv ccrisan-motioneye-b50d24175d74 motioneye cd motioneye cp settings_default.py settings.py Teraz należy dodać obsługę modułu kamery:sudo nano /etc/modulesW edytorze dodajemy: bcm2835_v4l2
Aby motion uruchamiał się wraz z systemem należy dodać odpowiednią linię do /etc/rc.local

Wykonujemy następujące polecenie:su nano /etc/rc.localprzed linią "exit 0" dodajemysudo -u pi sh -c '/home/pi/motioneye/motioneye.py > /home/pi/motioneye/run/motioneye.log 2>&1' &Uruchamiamy ponownie malinkę.
Po ponownym uruchomieniu malinki, możemy przejść do konfiguracji motion. Całą sprawę bardzo upraszcza motioneye, dzięki któremu skonfigurujemy wszystkie parametry nagrywania przez przeglądarkę WWW.

W przeglądarce wystarczy wpisać: http://ip_malinki:8765/

Po zalogowaniu, z listy kamer wybieramy wbudowany moduł i gotowe. Konfigurację motion opiszę w kolejnym wpisie, teraz przejdziemy do kolejnego etapu. Ponieważ z kamery będę korzystał głównie zdalnie, to aby ułatwić przenoszenie i podgląd plików, dodałem serwer Samby. Dzięki czemu katalog z nagraniami będzie automatycznie dostępny w otoczeniu sieciowym.

Instalacja serwera Samba

Tak jak poprzenio, wykonujemy kolejno wszystkie polecenia. Zaczynamy od:sudo apt-get install samba samba-common-binTeraz dodamy dowolnego użytkownia, w miejsce "pi" można wpisać dowolną nazwę:sudo smbpasswd -a pi 111Następnie przechodzimy do konfiguracji serwera:sudo nano /etc/samba/smb.conf na końcu dodajemy: [public] comment = Public Storage path = /home/pi/motioneye/media valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no Ostatnim poleceniem zrestartujemy sambe.sudo /etc/init.d/samba restartMonitoring już działa, a nagrania bez problemu można przeglądać przez otoczenie sieciowe z dowolnego komputera. Problem pojawia się w chwili, w której chcemy połączyć się z kamerą podłączoną do Internetu Mobilnego. Korzystając z modemu 3G, w większości przypadków nie mamy publicznego IP. Z tego co się dowiedziałem, takie usługi można włączyć w ofertach abonamentowych w Orange i Plus. Niestety cena odblokowania jest zbyt wysoka, więc postanowiłem obejść to za pomocą prostego VPN. Na domowym routerze skonfigurowałem serwer VPN PPTP, natomiast na malince zainstalowałem:

Klienta VPN PPTP

No to zabieramy się za instalację: sudo apt-get install -y pptp-linux sudo pptpsetup --create tunel --adres_serwera --username konto --password hasło--encrypt --start Opis, z którego korzystałem był obszerniejszy, ale wydanie tych dwóch poleceń w zupełności załatwia całą sprawę. Zainteresowanych niuansami konfiguracji mogę tylko odesłać do lektury poradnika.
Oczywiście nie będziemy za każdym razem ręcznie nawiązywać połączenia VPN, dlatego dodajemy kilka linijek do /etc/rc.local
sudo nano -B /etc/rc.local i wklejamy: vpn="on" if [ $vpn = on ]; then pon tunel updetach sudo route add -net "0.0.0.0/0" dev "ppp0" printf "Netstat output of all PPTP sockets\n" netstat -a | grep "/var/run/pptp/" fi Od teraz malinka przy każdym uruchamianiu nawiąże połączenie z serwerem VPN. Dzięki temu zyskujemy dostęp do podglądu obrazu na żywo oraz za pomocą dwóch kliknięć uzyskamy dostęp do zgromadzonego materiału dowodowego.

W tym miejscu dzieło można uznać za prawie ukończone. No prawie..

Dodanie skryptu zestawiającego tunel VPN do /etc/rc.local ma jedną wadę. Jeżeli połączenie z internetem zadanie zerwane, tunel VPN również zostanie zerwany. Przez kilka dni korzystałem z prostego skryptu sprawdzającego stan połączenia, do czasu aż odmówił posłuszeństwa. Dopiero po tym fakcie doczytałem, że wystarczyło dodać parametr "persist" do pon tunel updetach, aby zautomatyzować nawiązywanie połączenia. Zawartość /etc/rc.local powinna wyglądać następująco: vpn="on" if [ $vpn = on ]; then pon tunel updetach persist sudo route add -net "0.0.0.0/0" dev "ppp0" printf "Netstat output of all PPTP sockets\n" netstat -a | grep "/var/run/pptp/" fi Czas na podsumowanie dotychczasowej pracy, na malince działa:

  • Monitoring (motion + motioneye)
  • SAMBA
  • Klient VPN z funkcją wznawiania połączenia
  • W planach:

  • dodanie powiadomień SMS o zdarzeniach
  • dodanie czujnika temperatury (w obudowie malinki)
Oczywiście nie jest to jedyna i słuszna droga, którą należy obrać przy budowie malinowego monitoringu. Np. serwer VPN można zastąpić klientem FTP i automatycznie przerzucać pliki na zdalny serwer.

Opisana przez mnie konfiguracja, w 99% odpowiada moim oczekiwaniom odnośnie monitoringu oraz automatycznej kopii zapasowej. Jeszcze kilka drobnych elementów wymaga dopracowania, a że mam dwie malinki, to jest na czym testować wprowadzone zmiany. W najbliższym czasie zamierzam pochylić się bardziej nad konfiguracją pakietu motion. Jeżeli pojawi się coś ciekawego, to podzielę się tym na moim blogu.

O ile nie zamierzam śledzić obrazu z obu kamer na żywo przez 24h, to i tak z ciekawości sprawdziłem, ile zużywają kamery podczas 60 minut streamingu video. I tak kamera p2p w tym czasie zużyła ponad 900 MB, natomiast transmisja z malinki (o podobnych parametrach transmitowanego obrazu) zużyła tylko 200 MB. O ile spodziewałem się wyniku w granicach 200-300 MB/h, to wynik chińskiej kamerki nieco mnie przeraził.

Podsumowując dotychczasowe prace, mogę stwierdzić, że malinowa kamera daje o wiele więcej możliwości i satysfakcji od kupnej wcześniej kamery p2p.

Wpis powstał w zeszłym tygodniu, a od tego czasu trochę się zmieniło. I tak, nie mam już kamerki p2p. Znalazła nowy dom;) Stary model Raspberry Pi zastąpiłem najnowszą wersją malinki. Dążąc do zminimalizowania pozostawionego na działce sprzętu elektronicznego, zrezygnowałem z routera. Od wczoraj malinka korzysta z modemu 4G USB. A dzisiaj pozostawiłem mały wabik na złodzieja;)

 

inne

Komentarze

0 nowych
msnet   18 #1 28.03.2015 20:15

Widzę @mordzio, że ktoś zaczął zagrażać tym wszystkim nagrodom, które wygrałeś ;)

GBM MODERATOR BLOGA  19 #2 28.03.2015 20:33

Prawdziwy pasjonat ogrodnictwa i ziół - taka determinacja wymaga co najmniej pochwały - brawo Mordziu :-)

KyRol   17 #3 28.03.2015 20:41

@mordzio

Najnowszą wersją Malinki - znaczy B+ czy RPi2? A Cubietruck czeka czy jednak nie doczekał? Robię małe przesłuchanie, bo któraś z Cubieboardów ma na pokładzie eMMC, gdzie ten element - co tu ukrywać - sprawdza się znacznie lepiej od kart SD w tym zastosowaniu. W przypadku płytek opieranych tylko o kartę SD zasadniczo watchdog często się nie sprawdza bo restarty w wyniku zawiechy kończą się najczęściej fackup-ami. Ulega uszkodzeniu system plików na kartach no i jak to mawia przesłanie w pewnej reklamie - dalej Państwo nie pojadą. Oczywiście wiem, że nie na darmo się posiłkujesz HDD Raw Copy Tool do tego celu, ale czy na pewno kiedyś latanie za naprawianiem karty Ci się nie znudzi?

Autor edytował komentarz.
mordzio   14 #4 28.03.2015 20:43

@GBM: Bardzo dziękuje:) W ramach podziękowania za miłe słowa, na zlocie otrzymasz trochę moich specjałów :)

mordzio   14 #5 28.03.2015 20:50

@KyRol: W bardzo dobrej cenie kupiłem nowe Raspberry Pi 2 (1GB 900MHz).
Cubietruck leży u mnie w szufladzie od jakiegoś czasu nie nie mogę znaleźć dla niego sensownego zastosowania. Jest to model Cubieboard3 2GB RAM, dodatkowo jest tam eMMC, ale nie pamiętam o jakiej pojemności.

GBM MODERATOR BLOGA  19 #6 28.03.2015 20:52

@mordzio: o, dziękuję :P

Ale nie będę miał potem wizyty smutnych Panów o 6.00 rano dnia roboczego? ;P

mordzio   14 #7 28.03.2015 20:58

@GBM: Uprawiam tylko legalny towar;)

GBM MODERATOR BLOGA  19 #8 28.03.2015 21:00

@mordzio: Spoko, śmieję się :D

xywa11   9 #9 28.03.2015 21:03

Na początku myślałem, że na ostatnim zdjęciu to drut kolczasty/pod napięciem :'D
Powodzenia w łowach!

Autor edytował komentarz.
KyRol   17 #10 28.03.2015 21:06

@mordzio: Jestem w trakcie nowego wpisu i akurat wałkuję ten temat. Oczywiście jak na mnie przystało zapodam tasiemca, ale nadmienię w skrócie, że eMMC to dobra sprawa ino pod warunkiem wyposażenia płytki w watchdoga. Wtedy, gdy coś się stanie z kartą, a system masz na eMMC wystarczy dodać regułę aby przy każdym starcie systemu była sprawdzana karta. Oczywiście samo sprawdzanie i naprawianie jej może nie wystarczyć, ale zawsze masz działający system, możesz zdiagnozować jakie błędy występują i odpowiednio ulepszać skrypt startowy.

Widzę, że zainwestowałeś w gadżety do Pi, więc na tę chwilę szkoda znów zmieniać decyzji. Akurat z tego co wiem to CSI w Pi niestety jest specyficzne i raczej będzie ciężko uruchomić kamerę z Pi na Cubie. W każdym razie jestem ciekaw twoich wpisów, co mogę to podpowiem;)

Autor edytował komentarz.
Axles   16 #11 28.03.2015 21:20

No Mordzio gratulacje, że dotrwałeś bo pewnie czasu to cię kosztowało nie mało :) To teraz twoje ogórki mogą spać spokojnie :)
PS. Nie masz jakoś tanio sprzedać walca do trawy najlepiej z kolcami ? :)

Autor edytował komentarz.
mordzio   14 #12 28.03.2015 21:25

@KyRol: W takim razie czekam na Twój wpis. Jedno jest pewne, Cubietruck nie może się dalej kurzyć. Tylko trzeba znaleźć na to czas. Akurat początek wiosny to sporo dodatkowej pracy w ogrodzie, więc na razie nie obiecuje kolejnych wpisów. Jeżeli dobrze pójdzie to w maju podłącze system kropelkowego nawadniania z automatycznym sterowaniem.

mordzio   14 #13 28.03.2015 21:28

@Axles: Trawa? jaka trawa:) Od kilku lat systematycznie pozbywam się trawników na działce. W to miejsce wolę posadzić coś wartościowego;)

Pangrys WSPÓŁPRACOWNIK  18 #14 28.03.2015 21:35

Aleście wybrneli :P

Pangrys WSPÓŁPRACOWNIK  18 #16 28.03.2015 22:30

Touche :) Dokładnie to :)

pocolog   11 #17 28.03.2015 22:52

Jak zwykle genialnie :)
Można by się przyczepić do niektórych kroków w konsoli ale ogólnie dla "Świeżaka" tego systemu to przestawianie pionków na Olimpie :)
Chcę więcej!

cyryllo   16 #18 28.03.2015 22:56

Oj ode mnie głosa ;)
Nie znałem tego narzędzia motioneye trzeba przetestować :)

mordzio   14 #19 28.03.2015 22:59

@pocolog: Można, a nawet trzeba się czepiać jeżeli coś jest nie tak. W wolnych chwilach staram się to wszystko uprościć. Przez jakiś czas testowałem gotowe rozwiązanie- motionPie. I w sumie to by wystarczyło, tylko że niczego tam nie można doinstalować. A ja muszę mieć podgląd na żywo ;)

  #20 28.03.2015 23:04

Gdzie, i za ile kupiłeś formę do przycinania roślin?

mordzio   14 #21 28.03.2015 23:13

@cyryllo: Przetestuj motionPie. Ma wiele zalet, jednak ja jestem zmuszony do korzystania z modemu 3G a w tej dystrybucji nie ma możliwości doinstalowania czegokolwiek. Autor nie chce nawet dodać Crona;)

@Zimny_ogrodnik: Forma widoczna na zdjęciu jest mojego autorstwa. Drut- 15 zł, trochę cyny i wolny czas to jedyne nakłady.

duffee   11 #23 29.03.2015 12:40

@GBM: ciekawe jakie ziola tam hoduje

Azi   10 #24 29.03.2015 15:54

@mordzio: Tak, zabezpieczaj się :) Byleby nie było jak tu:
- Ukradli mi samochód
- Byłeś na Policji?
- Tak, to nie oni...
ROFL...

MaXDemage   17 #25 29.03.2015 17:05

@mordzio W sumie na ten moment bardziej interesuje mnie podsumowanie kosztów wszystkich urządzeń/internetu i bilans względem szkód i strat ;>

mordzio   14 #26 29.03.2015 17:36

@MaXDemage: Odmawiam udzielenia odpowiedzi na to pytanie!

MaXDemage   17 #27 29.03.2015 19:14

@mordzio: Aż podkręciłeś moją ciekawość ;> Napisz bloga o tym!

mordzio   14 #28 29.03.2015 19:29

@MaXDemage: Niestety, ale wyczerpałem już limit wpisów na ten miesiąc ;)

djfoxer   17 #29 30.03.2015 08:44

@mordzio: Co to za IronMan na zdjęciu z kamerki? :P

mordzio   14 #30 30.03.2015 10:33

@djfoxer: To jest Batman!

  #31 31.05.2015 09:41

Szacun za prace. Tylko pytanie na jakim systemie zrobiles to wszystko? Raspian ? Jest kilka dystrybucji do wyboru. Wczesniej staralem sie sam cos takiego wykonac, ale mielem problemy w samej konf linuxa, teraz mi sie duzo wyjasnilo ;) Ciesze sie ze trafilem na Twojego bloga. Moja malinka wraz z reszta bedzie umieszczona w karmiku dla platow (one nie bede zadowolone )

mordzio   14 #32 31.05.2015 19:31

@WiadroXL (niezalogowany): Dokładnie, wykorzystałem raspbiana. Sprawdź może dedykowany system dla monitoringu- motionpie. Szybki, stabilny a konfiguracja sprowadza się dosłownie do kilku kliknięć.

  #33 01.06.2015 08:55

Witać :)
Wykonałem całą procedurę na RPI2 z dedykowaną kamerą, ale po restarcie nie mogę się zalogować na ip_malinki:8765 (strona niedostępna). Sam już nie wiem gdzie mogłem zrobić błąd. Robiłem kopiuj/wklej więc literówki nie było.

mordzio   14 #34 01.06.2015 23:22

@mist (niezalogowany): Odezwij się do mnie na @, postaram się pomóc.