Bumuo ng isang Raspberry Pi Security Camera Network

Build Raspberry Pi Security Camera Network



Ang Raspberry Pi opisyal na module ng camera ay maaaring magamit bilang isang security camera. Maaari mong ibahagi ang stream ng video ng camera sa network at mai-access ito nang malayuan mula sa anumang aparato sa iyong Local Area Network (LAN).

Maaari mong gamitin ang VLC media player upang ibahagi ang video stream sa isang TCP port at i-access ito mula sa anumang aparato sa iyong Local Area Network (LAN) gamit ang VLC media player.







Sa artikulong ito, ipapakita ko sa iyo kung paano bumuo ng isang security camera ng Raspberry Pi at mai-stream ang feed ng video ng camera mula sa Raspberry Pi gamit ang VLC media player.



Kaya, magsimula na tayo!



Mga Bagay na Kakailanganin Mo

Upang sundin ang artikulong ito, kakailanganin mo ang mga sumusunod na bagay:





  1. Raspberry Pi 3 o Raspberry Pi 4
  2. Modul ng Raspberry Pi camera
  3. Micro-USB (Raspberry Pi 3) o USB Type-C (Raspberry Pi 4) power adapter
  4. 16 GB o 32 GB MicroSD card na may Raspberry Pi OS ang na-flash
  5. Pagkakonekta sa network sa Raspberry Pi
  6. Laptop o isang desktop computer para sa VNC remote desktop o SSH access sa Raspberry Pi.

TANDAAN : Kung hindi mo nais na mai-access ang iyong Raspberry Pi nang malayuan sa pamamagitan ng SSH o VNC, kailangan mong ikonekta ang isang monitor, isang keyboard, at isang mouse din sa iyong Raspberry Pi. Hindi ko kakailanganin ang anuman sa mga ito dahil ikonekta ko ang aking Raspberry Pi mula sa malayo sa pamamagitan ng VNC o SSH. Ang setup ko ay tinatawag na walang ulong pag-setup ng Raspberry Pi.

Kung kailangan mo ng anumang tulong sa pag-flashing ng imahe ng Raspberry Pi OS sa microSD card, suriin ang aking artikulo: Paano Mag-install at Gumamit ng Raspberry Pi Imager.



Kung ikaw ay isang baguhan ng Raspberry Pi at kailangan mo ng anumang tulong sa pag-install ng Raspberry Pi OS sa iyong Raspberry Pi, suriin ang aking artikulo: Paano Mag-install ng Raspberry Pi OS sa Raspberry Pi 4 .

Kung kailangan mo ng anumang tulong sa walang ulo na pag-setup ng Raspberry Pi, suriin ang aking artikulo: Paano Mag-install at I-configure ang Raspberry Pi OS sa Raspberry Pi 4 Nang Walang Panlabas na Monitor.

Kung kailangan mo ng anumang tulong sa pagkonekta sa module ng camera ng Raspberry Pi sa Raspberry Pi, suriin ang aking artikulo: Paggamit ng Raspberry Pi Camera Module .

Pagpapagana sa Raspberry Pi Camera Module

Ang interface ng camera ay hindi pinagana bilang default sa Raspberry Pi OS. Maaari mong paganahin ito mula sa tool sa pagsasaayos ng Raspberry Pi, raspi-config .

Simulan ang tool sa pagsasaayos ng Raspberry Pi gamit ang sumusunod na utos:

$ sudo raspi-config

Pumili Mga Pagpipilian sa Interface at pindutin .

Pumili Kamera at pindutin .

Pumili at pindutin .

Pindutin .

Pumili at pindutin .

Pumili at pindutin . Dapat mag-reboot ang iyong Raspberry Pi, at dapat mailapat ang mga pagbabago.

Pag-install ng VLC Media Player

Ang VLC Media Player ay magagamit sa opisyal na imbakan ng package ng Raspberry Pi OS. Kaya, madali itong mai-install sa Raspberry Pi OS.

Una, i-update ang APT package repository cache gamit ang sumusunod na utos:

$ sudo apt update

Upang mai-install ang VLC Media Player, patakbuhin ang sumusunod na utos:

$ sudo apt install vlc -y

Dapat na mai-install ang VLC Media Player. Sa aking kaso, naka-install na ito.

Lumilikha ng isang Camera Server na may VLC Media Player

Ang mabangis Ginagamit ang utos upang magrekord ng video mula sa module ng camera ng Raspberry Pi. Ipinaliwanag ko kung paano gamitin ang mabangis utos na magrekord ng isang video gamit ang Raspberry Pi sa aking artikulo Paggamit ng Raspberry Pi Camera Module .

Ang VLC Media Player ay mayroong isang player na linya ng utos cvlc . Maaari mong gamitin ang cvlc utos na ibahagi ang isang video stream sa isang TCP port. Sa kasong ito, ang stream ng video ng module ng camera ng Raspberry Pi.

Upang ibahagi ang feed ng video ng Raspberry Pi camera sa isang TCP port gamit ang VLC Media Player, patakbuhin ang sumusunod na utos:

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

Ang mabangis Ginagamit ang utos upang maitala ang video mula sa module ng camera ng Raspberry Pi.

Narito ang sumusunod na kahulugan ng utos sa ibaba:

  • Ang lapad ng video ay magiging 1920 pixel
  • Ang taas ng video ay 1080 pixel ( -h 1080 ).
  • I-flip ang video nang pahalang ( -hf ).
  • Ang video ay maitatala sa 30 mga frame bawat segundo ( -fps 30 ).
  • Ang video ay maitatala para sa isang walang limitasyong bilang ng mga segundo ( -t 0 ).
  • Ang stream ng video ay mai-print sa terminal sa halip na i-save ito sa file ( -o - ).

Maaari mong baguhin ang anuman sa mga pagpipiliang ito ayon sa iyong nababagay.

Ang cvlc Ginagamit ang utos upang buksan ang isang TCP port at ipadala ang feed ng video ng Raspberry Pi camera sa port ng TCP.

Ang feed ng video ay kinuha mula sa karaniwang input ( stream: /// dev / stdin ) ng terminal (gamit ang isang tubo | ).

Gagamitin ng VLC ang TS codec para sa multiplexing ( –Kuha ng ‘#tandard {…, mux = ts,…}’ ) ang input video feed, at H264 codec para sa demultiplexing ( : demux = h264 ) ang output feed ng video.

Magagamit ang stream ng video sa HTTP port 9000 ( –Kuha ng ‘#tandard {access = http,…, dst =: 9000}’ ).

Kapag naipatakbo mo ang utos at kumpleto na ang buffering, maaari mong i-stream ang video mula sa anumang aparato sa network gamit ang VLC Media Player.

Pag-stream ng Camera Feed mula sa Raspberry Pi Camera Server

Upang ma-access ang feed ng camera mula sa iba pang mga aparato sa iyong home network (LAN), kailangan mong malaman ang IP address ng iyong Raspberry Pi.

Maaari mong mahanap ang IP address ng iyong Raspberry Pi mula sa interface ng pamamahala ng web ng iyong router sa bahay. Sa aking kaso, ang IP address ay 192.168.0.103. Magiging iba ito para sa iyo. Kaya, tiyaking palitan ito ng sa iyo mula ngayon.

Kung mayroon kang access sa Raspberry Pi console, maaari mong patakbuhin ang sumusunod na utos upang hanapin din ang IP address.

$ hostname -ako

Kapag nalaman mo ang IP address ng iyong Raspberry Pi, buksan ang VLC Media Player app at pumunta sa Kalahati > Buksan ang Network Stream… tulad ng ipinakita sa screenshot sa ibaba.

I-type ang URL ng server ng camera sa Mangyaring maglagay ng isang URL ng network seksyon Sa aking kaso, ang URL ay http://192.168.0.103:9000 .

Kapag nag-type ka na sa URL, mag-click sa Maglaro .

Dapat simulan ng VLC Media Player ang streaming ng video feed mula sa Raspberry Pi, tulad ng nakikita mo sa screenshot sa ibaba.

Ngayon, itigil ang server ng camera sa pamamagitan ng pagpindot + C .

Simula sa Camera Server sa System Boot

Mano-manong pagsisimula ng camera server sa bawat oras, boot mo ang iyong Raspberry Pi ay hindi masyadong praktikal. Kaya, makakalikha kami ng isang serbisyo na systemd para sa camera server na awtomatikong sisimulan ang camera server sa boot.

Una, lumikha ng a camera-stream- HTTP. Serbisyo file sa / etc / systemd / system / direktoryo tulad ng sumusunod:

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

I-type ang mga sumusunod na linya sa camera-stream-http.service file

[Yunit]
Paglalarawan = Raspberry Pi Camera Streaming Server
Pagkatapos = network.target
[Serbisyo]
WorkingDirectory = / home / pi
Kapaligiran = APP_RES_WIDTH = 800
Kapaligiran = APP_RES_HEIGHT = 450
Kapaligiran = APP_RES_FPS = 24
Kapaligiran = 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
--sout '#tandard {access = http, mux = ts, dst =: $ APP_PORT}': demux = h264 '
StandardOutput = mana
StandardError = magmamana
I-restart = palagi
Gumagamit = pi
[I-install]
WantedBy = multi-user.target

Maaari mong ayusin ang mga sumusunod na variable ng kapaligiran upang i-configure ang server ng camera ayon sa iyong nababagay.

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

Kapag tapos ka na, pindutin + X sinundan ng AT, at upang mai-save ang camera-stream-http.service file

I-reload ang mga systemd daemons para magkabisa ang mga pagbabago tulad ng sumusunod:

$ sudo systemctl daemon-reload

Tulad ng nakikita mo, ang camera-stream-http ang serbisyo ng systemd ay hindi tumatakbo sa ngayon.

$ sudo systemctl status camera-stream-http.service

Maaari mong simulan ang camera-stream-http serbisyo sa system na may sumusunod na utos:

$ sudo systemctl simulan ang camera-stream-http.service

Ang camera-stream-http ang serbisyo ay dapat na aktibo / tumatakbo, tulad ng nakikita mo sa screenshot sa ibaba. Kaya, camera-stream-http gumagana ang systemd service.

$ sudo systemctl status camera-stream-http.service

Maaari mong idagdag ang camera-stream-http serbisyo ng systemd sa startup ng system ng Raspberry Pi OS na may sumusunod na utos:

$ sudo systemctl paganahin ang camera-stream-http.service

Upang magkabisa ang mga pagbabago, i-reboot ang iyong Raspberry Pi gamit ang sumusunod na utos:

$ sudo reboot

Kapag ang iyong mga botas na Raspberry Pi, ang camera-stream-http Ang serbisyo ng systemd ay dapat na aktibo / tumatakbo, tulad ng nakikita mo sa screenshot sa ibaba.

$ sudo systemctl status raspi-home-automation.service

Konklusyon

Sa artikulong ito, ipinakita ko sa iyo kung paano bumuo ng isang security camera ng Raspberry Pi at ma-access ang video feed mula sa iyong home network (LAN) gamit ang VLC Media Player. Kung nais mo lamang ang isang simpleng pag-setup ng camera ng seguridad ng Raspberry Pi, dapat tulungan ka ng artikulong ito na makapagsimula.