Bygg et Raspberry Pi Security Camera Network

Bygg et Raspberry Pi Security Camera Network

Raspberry Pi offisielle kameramodulen kan brukes som sikkerhetskamera. Du kan dele kameraets videostrøm i nettverket og få tilgang til den eksternt fra hvilken som helst enhet på ditt lokale nettverk (LAN).

Du kan bruke VLC Media Player til å dele videostrømmen på en TCP -port og få tilgang til den fra hvilken som helst enhet på ditt lokale nettverk (LAN) ved hjelp av VLC Media Player.

I denne artikkelen vil jeg vise deg hvordan du bygger et Raspberry Pi Security Camera og streamer kameravideofôret fra Raspberry Pi ved hjelp av VLC Media Player.

Så la oss komme i gang!

Ting du trenger

For å følge denne artikkelen, trenger du følgende ting:

  1. Raspberry Pi 3 eller Raspberry Pi 4
  2. Raspberry Pi -kameramodul
  3. Micro-USB (Raspberry Pi 3) eller USB Type-C (Raspberry Pi 4) Strømadapter
  4. 16 GB eller 32 GB MICROSD -kort med Raspberry Pi OS Blinket
  5. Nettverkstilkobling på Raspberry Pi
  6. Laptop eller en stasjonær datamaskin for VNC Remote Desktop eller SSH -tilgang til Raspberry Pi.

MERK: Hvis du ikke vil få tilgang til bringebærpi -en din via SSH eller VNC, må du koble til en skjerm, et tastatur og en mus til bringebærpi -pi -en. Jeg trenger ikke noen av disse, da jeg vil koble Raspberry Pi eksternt via VNC eller SSH. Oppsettet mitt kalles det hodeløse oppsettet av Raspberry Pi.

Hvis du trenger hjelp til å blinke Raspberry Pi OS -bildet på MicroSD -kortet, kan du sjekke artikkelen min: Hvordan installere og bruke Raspberry Pi Imager.

Hvis du er en Raspberry Pi -nybegynner og du trenger hjelp til å installere Raspberry Pi OS på Raspberry Pi, sjekk artikkelen min: Hvordan installere Raspberry Pi OS på Raspberry Pi 4.

Hvis du trenger hjelp til det hodeløse oppsettet av Raspberry Pi, sjekk artikkelen min: Hvordan installere og konfigurere Raspberry Pi OS på Raspberry Pi 4 uten ekstern skjerm.

Hvis du trenger hjelp til å koble til Raspberry Pi -kameramodulen på Raspberry Pi, sjekk artikkelen min: Bruke Raspberry Pi -kameramodul.

Aktivering av Raspberry Pi -kameramodulen

Kamera -grensesnittet er deaktivert som standard på Raspberry Pi OS. Du kan aktivere det fra Raspberry Pi -konfigurasjonsverktøyet, Raspi-Config.

Start Raspberry PI -konfigurasjonsverktøyet med følgende kommando:

$ Sudo Raspi-Config

Plukke ut Grensesnittalternativer og trykk .

Plukke ut Kamera og trykk .

Plukke ut og trykk .

trykk .

Plukke ut og trykk .

Plukke ut og trykk . Raspberry Pi din skal starte på nytt, og endringene bør brukes.

Installere VLC Media Player

VLC Media Player er tilgjengelig i det offisielle pakkelagdet til Raspberry Pi OS. Så det er enkelt å installere den på Raspberry Pi OS.

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering

For å installere VLC Media Player, kjør følgende kommando:

$ sudo apt install vlc -y

VLC Media Player bør installeres. I mitt tilfelle er det allerede installert.

Opprette en kameraserver med VLC Media Player

De Raspivid Kommandoen brukes til å spille inn video fra Raspberry Pi -kameramodulen. Jeg har forklart hvordan jeg bruker Raspivid Kommando for å spille inn en video ved hjelp av Raspberry Pi i artikkelen min Bruke Raspberry Pi -kameramodul.

VLC Media Player har en kommandolinjespiller CVLC. Du kan bruke CVLC Kommando for å dele en videostrøm på en TCP -port. I dette tilfellet er videostrømmen til Raspberry Pi -kameramodulen.

Hvis du vil dele Raspberry Pi Camera -videofeedet på en TCP -port ved hjelp av VLC Media Player, kjør følgende kommando:

$ RASPIVID -O --T 0 -HF -W 1920 -H 1080 -FPS 30 | cvlc -vvv stream: /// dev/stdin
--sout '#standard Access = http, mux = ts, dst =: 9000': demux = h264

De Raspivid Kommando brukes til å spille inn videoen fra Raspberry Pi -kameramodulen.

Her er følgende betydning av kommandoen nedenfor:

  • Videobredden vil være 1920 piksler
  • Videohøyden vil være 1080 piksler (-H 1080).
  • Videoen blir vendt horisontalt (-hf).
  • Videoen blir spilt inn med 30 bilder per sekund (-FPS 30).
  • Videoen blir spilt inn i et ubegrenset antall sekunder (-t 0).
  • Videostrømmen vil bli skrevet ut på terminalen i stedet for å lagre den på filen (-o -).

Du kan endre noen av disse alternativene slik du synes passer.

De CVLC Kommando brukes til å åpne en TCP -port og sende Raspberry Pi Camera -videofeedet på TCP -porten.

Video feed er hentet fra standardinngangen (Stream: /// dev/stdin) av terminalen (ved hjelp av et rør |).

VLC vil bruke TS -kodeken for multiplexing (-sout '#standard …, mux = ts,…') Inngangsvideofôret, og H264 -kodek for demultiplexing (: demux = H264) Utgangsvideo feed.

Videostrømmen vil være tilgjengelig på HTTP Port 9000 (-sout '#standard Access = http,…, dst =: 9000').

Når du har kjørt kommandoen og bufferen er fullført, kan du streame videoen fra hvilken som helst enhet på nettverket ved hjelp av VLC Media Player.

Streaming av kamerafôret fra bringebærpi -kameraserveren

For å få tilgang til kamerafôret fra andre enheter i hjemmenettverket (LAN), må du kjenne IP -adressen til Raspberry Pi.

Du kan finne IP -adressen til Raspberry Pi fra Web Management Interface of Your Home Router. I mitt tilfelle er IP -adressen 192.168.0.103. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.

Hvis du har tilgang til Raspberry Pi -konsollen, kan du også kjøre følgende kommando for å finne IP -adressen.

$ hostname -i

Når du kjenner IP -adressen til Raspberry Pi, må du åpne VLC Media Player -appen og gå til Media > Åpen nettverksstrøm .. Som vist på skjermbildet nedenfor.

Skriv inn nettadressen til kameraserveren i Vennligst skriv inn en nettverksadress seksjon. I mitt tilfelle er nettadressen http: // 192.168.0.103: 9000.

Når du har skrevet inn nettadressen, klikker du på Spille.

VLC Media Player bør begynne å streame videostrømmen fra Raspberry Pi, som du kan se på skjermbildet nedenfor.

Stopp nå kameraserveren ved å trykke på + C.

Starter kameraserveren på systemstart

Å starte kameraserveren manuelt hver gang, du starter Raspberry Pi er ikke veldig praktisk. Så vi kan opprette en SystemD -tjeneste for kameraserveren som automatisk starter kameraserveren på oppstart.

Først må du lage en Kamerastrøm-Http. Service fil i /etc/systemd/system/ Katalog som følger:

$ sudo nano/etc/Systemd/System/Camera-Stream-HTTP.service

Skriv inn følgende linjer i Kamera-stream-http.service fil.

[Enhet]
Beskrivelse = Raspberry Pi Camera Streaming Server
Etter = nettverk.mål
[Service]
WorkingDirectory =/Home/Pi
Miljø = app_res_width = 800
Miljø = app_res_height = 450
Miljø = app_res_fps = 24
Miljø = 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 "#Standard Access = http, mux = ts, dst =: $ app_port": demux = h264 '
StandardOutput = arve
StandardError = arve
Start på nytt = alltid
Bruker = pi
[Installere]
WantedBy = Multi-User.mål

Du kan justere følgende miljøvariabler for å konfigurere kameraserveren slik du ser passform.

Miljø = app_res_width = 800
Miljø = app_res_height = 450
Miljø = app_res_fps = 24
Miljø = app_port = 9000

Når du er ferdig, trykk + X etterfulgt av Y, og For å redde Kamera-stream-http.service fil.

Last inn Systemd -demonene på nytt for at endringene skal tre i kraft som følger:

$ sudo SystemCTL Daemon-Reload

Som du kan se, Kamera-stream-http SystemD -tjenesten kjører ikke for øyeblikket.

$ sudo systemctl status kamerastream-http.service

Du kan starte Kamera-stream-http Systemtjeneste med følgende kommando:

$ sudo SystemCTL Start Camera-Stream-Http.service

De Kamera-stream-http Tjenesten skal være aktiv/kjøre, som du kan se på skjermdumpen nedenfor. Så, Kamera-stream-http SystemD -tjenesten fungerer.

$ sudo systemctl status kamerastream-http.service

Du kan legge til Kamera-stream-http SystemD -tjeneste til systemstart av Raspberry Pi OS med følgende kommando:

$ sudo SystemCTL Aktiver kamerastream-http.service

For at endringene skal tre i kraft, start Raspberry Pi på nytt med følgende kommando:

$ sudo omstart

Når Raspberry Pi -støvlene Kamera-stream-http SystemD -tjenesten skal være aktiv/kjøre, som du kan se på skjermdumpen nedenfor.

$ sudo systemctl status Raspi-hjem-automasjon.service

Konklusjon

I denne artikkelen har jeg vist deg hvordan du bygger et Raspberry Pi Security -kamera og får tilgang til videostrømmen fra hjemmenettverket ditt (LAN) ved hjelp av VLC Media Player. Hvis du bare vil ha et enkelt Raspberry Pi Security Camera -oppsett, skal denne artikkelen hjelpe deg i gang.