IP kamera ne mora da košta mnogo. Sa Raspberry Pi Zero W i modulom kamere možete relativno lako napraviti dobru i posebno kompaktnu kameru i koristiti je za podešavanje rtsp servera za strimovanje, na primer. U ovom članku ćete naučiti kako to da uradite, a zatim ćete koristiti kameru u Surveillance Station na Synology ili QNAP NAS-u.
Naravno, možete kupiti jeftinu IP kameru sa svim ukrasima u Kini, ali one su obično loše obezbeđene i teško ih je postaviti. Nije odmah jeftinije ako ga sami napravite, ali ste fleksibilniji i iznad svega je zabavno i edukativno. Koristimo Raspberry Pi Zero W (oko 11 evra) zajedno sa zvaničnim modulom kamere od 8 megapiksela v2 (29,95 evra). Ima odličan Sony IMX219 senzor. Dostupna je i NoIR varijanta koja pruža bolju sliku u sumrak. Ako ih kombinujete sa infracrvenim LED diodama, takođe imate slike za laku noć (u sivim tonovima). Ako želite da uštedite nešto novca, u Kini možete pronaći pristupačne alternative od oko 8 evra. Takođe vam je potrebna mikro SD kartica za softver i adapter za napajanje sa mikro USB-om koji po mogućnosti može da isporuči najmanje 1,2 ampera.
01 Koji softver?
Postoji mnogo metoda za strimovanje sa Raspberry Pi Zero W. Pored modula kamere, većina metoda podržava i USB kameru ili veb kameru koju povezujete sa Pi Zero W preko USB-on-the-go kabla. Koji god metod da odaberete: s obzirom na prilično ograničenu procesorsku snagu, mudro je prepustiti detekciju pokreta softveru za video nadzor kao što je Surveillance Station. Dobro poznata opcija je motionEyeOS, koji ima lep veb interfejs za konfigurisanje kamere. Nedostatak je relativno veliko kašnjenje, čak i sa opcijom Brza mrežna kamera sa kojim gubite i mnoge druge opcije. Stoga smo odlučili da postavimo ručni tok.
02 Raspbian instalacija
Počinjemo sa instalacijom Raspbian Buster Lite-a. Preuzmite najnoviju verziju. Nakon preuzimanja, raspakujte arhivu i koristite balenaEtcher da stavite img datoteku na micro-sd karticu. Pre nego što pokrenete Pi sa mikro-sd karticom, dodajte root (koji takođe sadrži datoteku kernel.img stanje) tekstualna datoteka pod nazivom wpa_supplicant.conf sa pravilima u nastavku. stavi ga pozadi ssid naziv vaše WiFi mreže i popunite psk шифра. U istoj fascikli kreirajte praznu datoteku pod nazivom ssh tako da se možete prijaviti preko ljuske nakon pokretanja.
zemlja=NL
update_config=1
ctrl_interface=/var/run/wpa_supplicant
mreža={
scan_ssid=1
ssid="vasid"
psk="vaša lozinka"
}
Nakon što se Pi Zero W pokrene, možete saznati IP adresu koju vam je dodelio DHCP server vašeg rutera sa konfiguracionih stranica rutera (ako sve prođe kako treba). Prijavite se na tu IP adresu preko ssh-a pomoću programa kao što je PuTTY i koristite podrazumevano korisničko ime pi i odgovarajuću lozinku malina. Zatim je poželjno promeniti te podatke za prijavu.
03 Instaliranje rtsp servera
Uverite se da je Pi ažuriran sa komandama:
sudo apt-get update
sudo apt-get dist-upgrade
Koristite sudo raspi-config da otvorite stranicu za konfiguraciju Pi-a. Aktivirajte preko Opcije interfejsa modul kamere. Aktivirate drajver jezgra video-za-linuks sa:
sudo modprobe bcm2835-v4l2
Proverite da li imate a /dev/video0 imati sa:
sudo ls -la /dev/vid*
Instalirajte alate git i cmake sa:
sudo apt install git cmake
Nakon toga možete kompajlirati i učiniti dostupnim rtsp server koji podržava h.264, između ostalog, sledećim komandama:
git klon //github.com/mpromonet/v4l2rtspserver.git
cd v4l2rtspserver
cmake .
направити
sudo make install
04 Pokretanje rtsp strima
Na primer, pokrenete strim iz fascikle v4l2rtspserver od:
./v4l2rtspserver -F 10 -W 1920 -H 1080
Nakon pokretanja rtsp servera možete pročitati sve poruke o grešci i vezu do strima u obrascu rtsp://ipaddress:8554/unicast. Ovo možete koristiti u, na primer, VLC plejeru za povezivanje sa kamerom, ali i u Surveillance Station kao što ćemo pokazati u nastavku. Sa opcijom -Vaš korisnik:lozinka unesite korisnika i lozinku da biste zaštitili strim. U tom slučaju, veza sa rtsp streamom poprima oblik rtsp://user:password@ipaddress:8554/unicast. Zgodno je što je opterećenje procesora i dalje veoma ograničeno, veći deo posla obavlja GPU.
05 Automatsko pokretanje servera
Želimo da se rtsp server automatski pokrene nakon uključivanja Pi. Da biste to uradili, napravite jednostavnu skriptu sa:
sudo nano /etc/systemd/system/v4l2rtspserver.service
Ovo uključuje sledeća pravila:
[Јединица]
Opis=v4l2rtspserver rtsp-server
After=network.target
[Usluga]
ExecStartPre=/usr/bin/v4l2-ctl --set-ctrl vertical_flip=1
ExecStartPre=/usr/bin/v4l2-ctl --set-ctrl h264_i_frame_period=5
ExecStart=/home/pi/v4l2rtspserver/ v4l2rtspserver -F 10 -W 1280 -H 720
ExecReload=/bin/kill -HUP $MAINPID
Type=simple
korisnik=pi
Grupa=video
Restart=uvek
[Инсталирај]
WantedBy=multi-user.target
Навратите ExecStart lokacija v4l2rtspserver. Postoje neke opcije sa kojima možete eksperimentisati (npr vertical_flip za rotaciju slike). Učinite skriptu aktivnom pomoću:
sudo systemctl omogući v4l2rtspserver
I započnite skriptu sa:
sudo systemctl start v4l2rtspserver
Dodajte sliku kamere na Surveillance Station
Možete lako da koristite sliku kamere u Surveillance Station ručnim navođenjem kamere. Sa ovim softverom, čini se da je kašnjenje slike prilično ograničeno. Dok je u VLC plejeru to oko dve sekunde, kašnjenje u Surveillance Station je samo oko jedne sekunde. Čini se da je to mnogo, ali mnoge druge metode strimovanja sa Raspberry Pi često imaju čak i veće kašnjenje od četiri sekunde ili više.