Vybudujte si bezpečnostnú kamerovú sieť Raspberry Pi

Build Raspberry Pi Security Camera Network



Oficiálny kamerový modul Raspberry Pi je možné použiť ako bezpečnostnú kameru. Prenos videa z kamery môžete zdieľať v sieti a vzdialene k nej pristupovať z akéhokoľvek zariadenia v miestnej sieti (LAN).

Prehrávač médií VLC môžete použiť na zdieľanie video streamu na porte TCP a prístup k nemu z akéhokoľvek zariadenia v lokálnej sieti (LAN) pomocou prehrávača médií VLC.







V tomto článku vám ukážem, ako vytvoriť bezpečnostnú kameru Raspberry Pi a streamovať video prenos z kamery z Raspberry Pi pomocou prehrávača médií VLC.



Začnime teda!



Veci, ktoré budete potrebovať

Na sledovanie tohto článku budete potrebovať nasledujúce veci:





  1. Raspberry Pi 3 alebo Raspberry Pi 4
  2. Modul kamery Raspberry Pi
  3. Napájací adaptér Micro-USB (Raspberry Pi 3) alebo USB typu C (Raspberry Pi 4)
  4. Bliká 16 GB alebo 32 GB karta MicroSD s OS Raspberry Pi
  5. Sieťové pripojenie na Raspberry Pi
  6. Notebook alebo stolný počítač pre vzdialenú pracovnú plochu VNC alebo SSH k Raspberry Pi.

POZNÁMKA : Ak nechcete mať vzdialený prístup k svojmu Raspberry Pi cez SSH alebo VNC, musíte k Raspberry Pi tiež pripojiť monitor, klávesnicu a myš. Nebudem nič z toho potrebovať, pretože budem svoj Raspberry Pi pripájať na diaľku prostredníctvom VNC alebo SSH. Moje nastavenie sa nazýva bezhlavé nastavenie Raspberry Pi.

Ak potrebujete pomoc s prebaľovaním obrazu Raspberry Pi OS na kartu microSD, prečítajte si môj článok: Ako nainštalovať a používať Raspberry Pi Imager.



Ak ste začiatočník Raspberry Pi a potrebujete pomoc s inštaláciou systému Raspberry Pi OS na svoj Raspberry Pi, prečítajte si môj článok: Ako nainštalovať Raspberry Pi OS na Raspberry Pi 4 .

Ak potrebujete pomoc s bezhlavým nastavením Raspberry Pi, prečítajte si môj článok: Ako nainštalovať a nakonfigurovať OS Raspberry Pi na Raspberry Pi 4 bez externého monitora.

Ak potrebujete pomoc s pripojením kamerového modulu Raspberry Pi k Raspberry Pi, prečítajte si môj článok: Použitie kamerového modulu Raspberry Pi .

Povolenie modulu kamery Raspberry Pi

Rozhranie fotoaparátu je v systéme Raspberry Pi predvolene vypnuté. Môžete ho povoliť v konfiguračnom nástroji Raspberry Pi, raspi-config .

Spustite konfiguračný nástroj Raspberry Pi nasledujúcim príkazom:

$ sudo raspi-config

Vyberte Možnosti rozhrania a stlačte .

Vyberte fotoaparát a stlačte .

Vyberte a stlačte .

Stlačte .

Vyberte a stlačte .

Vyberte a stlačte . Váš Raspberry Pi by sa mal reštartovať a zmeny by sa mali použiť.

Inštalácia VLC Media Player

VLC Media Player je k dispozícii v oficiálnom úložisku balíkov systému Raspberry Pi OS. Je teda ľahké ho nainštalovať do systému Raspberry Pi.

Najprv aktualizujte vyrovnávaciu pamäť úložiska balíkov APT pomocou nasledujúceho príkazu:

$ sudo apt aktualizácia

Ak chcete nainštalovať VLC Media Player, spustite nasledujúci príkaz:

$ sudo apt install vlc -y

Mal by byť nainštalovaný VLC Media Player. V mojom prípade je už nainštalovaný.

Vytvorenie kamerového servera pomocou VLC Media Player

The raspivid príkaz slúži na záznam videa z kamerového modulu Raspberry Pi. Vysvetlil som, ako používať súbor raspivid príkaz na zaznamenanie videa pomocou Raspberry Pi v mojom článku Použitie kamerového modulu Raspberry Pi .

VLC Media Player má prehrávač príkazového riadka cvlc . Môžete použiť cvlc príkaz na zdieľanie toku videa na porte TCP. V tomto prípade video stream kamerového modulu Raspberry Pi.

Ak chcete zdieľať kanál videa z kamery Raspberry Pi na porte TCP pomocou programu VLC Media Player, spustite nasledujúci príkaz:

$ raspivid -o --t 0 -hf -w 1920 -h 1080 -fps 30 | cvlc -vvv stream: /// dev/stdin
-takže '#standard {access = http, mux = ts, dst =: 9000}': demux = h264

The raspivid príkaz sa používa na nahrávanie videa z kamerového modulu Raspberry Pi.

Nasledujúci význam nižšie uvedeného príkazu:

  • Šírka videa bude 1920 pixelov
  • Výška videa bude 1080 pixelov ( -h 1080 ).
  • Video bude horizontálne prevrátené ( -hf ).
  • Video bude zaznamenávané rýchlosťou 30 snímok za sekundu ( -fps 30 ).
  • Video sa bude nahrávať neobmedzený počet sekúnd ( -t 0 ).
  • Stream videa sa vytlačí na terminál namiesto jeho uloženia do súboru ( -alebo - ).

Ktorúkoľvek z týchto možností môžete zmeniť, ako uznáte za vhodné.

The cvlc príkaz sa používa na otvorenie portu TCP a odoslanie kanála videa z kamery Raspberry Pi na port TCP.

Video kanál je prevzatý zo štandardného vstupu ( stream: /// dev/stdin ) terminálu (pomocou potrubia | ).

VLC bude na multiplexovanie používať kodek TS ( - tak ‘#standard {…, mux = ts, ...}‘ ) vstupný video kanál a kodek H264 pre demultiplexovanie ( : demux = h264 ) výstupný kanál videa.

Stream videa bude k dispozícii na porte HTTP 9000 ( - tak '#standard {access = http, ..., dst =: 9000}' ).

Po spustení príkazu a dokončení vyrovnávacej pamäte môžete streamovať video z ľubovoľného zariadenia v sieti pomocou programu VLC Media Player.

Streamovanie kanála fotoaparátu z kamerového servera Raspberry Pi

Na prístup k zdroju kamery z iných zariadení vo vašej domácej sieti (LAN) potrebujete poznať IP adresu vášho Raspberry Pi.

IP adresu vášho Raspberry Pi nájdete z webového rozhrania na správu vášho domáceho routera. V mojom prípade je adresa IP 192.168.0.103. U teba to bude iné. Odteraz ho preto vymeňte za svoj.

Ak máte prístup ku konzole Raspberry Pi, môžete spustiť nasledujúci príkaz a nájsť adresu IP.

$ hostname -I

Keď poznáte IP adresu vášho Raspberry Pi, otvorte aplikáciu VLC Media Player a prejdite na Polovica > Otvoriť sieťový stream… ako je znázornené na obrázku nižšie.

Do poľa. Zadajte URL servera kamery Zadajte webovú adresu siete sekcii. V mojom prípade je adresa URL http://192.168.0.103:9000 .

Po zadaní adresy URL kliknite na hrať .

VLC Media Player by mal začať streamovať video prenos z Raspberry Pi, ako vidíte na obrázku nižšie.

Teraz zastavte server kamery stlačením + C. .

Spustenie servera kamery pri spustení systému

Ručné spustenie servera kamery pri každom štarte systému Raspberry Pi nie je príliš praktické. Môžeme teda vytvoriť službu systemd pre server kamery, ktorá automaticky spustí server kamery pri štarte.

Najprv vytvorte a stream z kamery HTTP. Služba súbor v súbore /etc/systemd/system/ adresár takto:

$ sudo nano /etc/systemd/system/camera-stream-http.service

Do nasledujúcich riadkov napíšte nasledujúce riadky kamera-stream-http.service súbor.

[Jednotka]
Popis = Server streamovania kamery Raspberry Pi
After = network.target
[Služba]
WorkingDirectory =/home/pi
Prostredie = APP_RES_WIDTH = 800
Prostredie = APP_RES_HEIGHT = 450
Prostredie = APP_RES_FPS = 24
Prostredie = APP_PORT = 9000
ExecStart =/bin/bash -c 'raspivid -o --t 0 -hf -w $ APP_RES_WIDTH -h
$ APP_RES_HEIGHT -fps $ APP_RES_FPS | cvlc -vvv stream: /// dev/stdin
-takže '#standard {access = http, mux = ts, dst =: $ APP_PORT}': demux = h264 '
StandardOutput = dediť
StandardError = dediť
Reštartovať = vždy
Používateľ = pi
[Inštalácia]
WantedBy = multi-user.target

Nasledujúce premenné prostredia môžete upraviť tak, aby konfigurovali server kamery podľa vlastného uváženia.

Prostredie = APP_RES_WIDTH = 800
Prostredie = APP_RES_HEIGHT = 450
Prostredie = APP_RES_FPS = 24
Prostredie = APP_PORT = 9000

Keď skončíte, stlačte + X nasledovaný A, a zachrániť kamera-stream-http.service súbor.

Znova načítajte démonov systemd, aby sa zmeny prejavili nasledovne:

$ sudo systemctl daemon-reload

Ako vidíte, kamera-stream-http služba systemd momentálne nebeží.

$ sudo systemctl status camera-stream-http.service

Môžete začať kamera-stream-http systémová služba s nasledujúcim príkazom:

$ sudo systemctl start camera-stream-http.service

The kamera-stream-http služba by mala byť aktívna/spustená, ako vidíte na obrázku nižšie. Takže, kamera-stream-http služba systemd funguje.

$ sudo systemctl status camera-stream-http.service

Môžete pridať kamera-stream-http služba systemd na spustenie systému Raspberry Pi OS pomocou nasledujúceho príkazu:

$ sudo systemctl povoliť camera-stream-http.service

Aby sa zmeny prejavili, reštartujte Raspberry Pi nasledujúcim príkazom:

$ sudo reštart

Akonáhle sa váš Raspberry Pi spustí, kamera-stream-http služba systemd by mala byť aktívna/spustená, ako vidíte na obrázku nižšie.

$ sudo systemctl status raspi-home-automation.service

Záver

V tomto článku som vám ukázal, ako vytvoriť bezpečnostnú kameru Raspberry Pi a ako pristupovať k video kanálu z vašej domácej siete (LAN) pomocou programu VLC Media Player. Ak chcete iba jednoduché nastavenie bezpečnostnej kamery Raspberry Pi, tento článok by vám mal pomôcť začať.