Bygg et Raspberry Pi Security Camera Network

Build Raspberry Pi Security Camera Network



Raspberry Pi offisielle kameramodul kan brukes som et sikkerhetskamera. Du kan dele kameravideostrømmen på nettverket og få tilgang til den eksternt fra hvilken som helst enhet på ditt lokale nettverk (LAN).

Du kan bruke VLC -mediespilleren 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 -mediespiller.







I denne artikkelen vil jeg vise deg hvordan du bygger et Raspberry Pi -sikkerhetskamera og streamer kameraets videofeed fra Raspberry Pi ved hjelp av VLC -mediespilleren.



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 blinker
  5. Nettverkstilkobling på Raspberry Pi
  6. Bærbar datamaskin eller en stasjonær datamaskin for VNC eksternt skrivebord eller SSH -tilgang til Raspberry Pi.

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

Hvis du trenger hjelp til å blinke Raspberry Pi OS -bildet på microSD -kortet, kan du lese 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: Slik installerer du Raspberry Pi OS på Raspberry Pi 4 .

Hvis du trenger hjelp med det hodeløse oppsettet til Raspberry Pi, kan du lese artikkelen min: Slik installerer og konfigurerer du Raspberry Pi OS på Raspberry Pi 4 uten ekstern skjerm.

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

Aktivering av Raspberry Pi kameramodul

Kameragrensesnittet er deaktivert som standard på Raspberry Pi OS. Du kan aktivere det fra Raspberry Pi -konfigurasjonsverktøyet, raspi-config .

Start konfigurasjonsverktøyet for Raspberry Pi med følgende kommando:

$ sudo raspi-config

Plukke ut Grensesnittalternativer og trykk på .

Plukke ut Kamera og trykk på .

Plukke ut og trykk på .

trykk .

Plukke ut og trykk på .

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

Installere VLC Media Player

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

Oppdater først APT -pakkens depotbuffer med følgende kommando:

$ sudo apt oppdatering

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

$ sudo apt installere 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 å ta opp video fra Raspberry Pi kameramodulen. Jeg har forklart hvordan du bruker raspivid kommando for å ta opp 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 videostrømmen til Raspberry Pi -kameramodulen.

For å dele Raspberry Pi -kameraets videofeed 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 kommandoen brukes til å ta opp 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 vendes 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 skrives ut på terminalen i stedet for å lagre den på fil ( -eller - ).

Du kan endre et hvilket som helst av disse alternativene etter eget ønske.

De cvlc kommandoen brukes til å åpne en TCP -port og sende video -feedet til Raspberry Pi -kameraet på TCP -porten.

Videostrømmen er hentet fra standardinngangen ( stream: /// dev/stdin ) på terminalen (ved hjelp av et rør | ).

VLC vil bruke TS -kodeken for multipleksing ( –Sout ‘#standard {…, mux = ts,…}’ ) videoinnmatingen og H264 -kodeken for demultiplexing ( : demux = h264 ) videoutmatningen.

Videostrømmen vil være tilgjengelig på HTTP -porten 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 kamerafeed fra Raspberry Pi Camera Server

For å få tilgang til kamerastrømmen fra andre enheter i hjemmenettverket (LAN), må du vite IP -adressen til Raspberry Pi.

Du kan finne IP -adressen til din Raspberry Pi fra nettadministrasjonsgrensesnittet til hjemmeruteren. I mitt tilfelle er IP -adressen 192.168.0.103. Det blir annerledes for deg. Så sørg for å bytte den ut 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.

$ vertsnavn -I

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

Skriv inn URL -adressen til kameratjeneren i Skriv inn en nettverksadresse 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 videofeed fra Raspberry Pi, som du kan se på skjermbildet nedenfor.

Nå, stopp kameraserveren ved å trykke + C .

Start kameraserveren ved systemstart

Når du starter kameraserveren manuelt hver gang, starter du Raspberry Pi ikke veldig praktisk. Så vi kan lage en systemd -tjeneste for kameratjeneren som automatisk starter kameraserveren ved oppstart.

Opprett først en kamera-stream- HTTP. Service filen i /etc/systemd/system/ katalogen som følger:

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

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

[Enhet]
Beskrivelse = Raspberry Pi Camera Streaming Server
Etter = network.target
[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.target

Du kan justere følgende miljøvariabler for å konfigurere kameratjeneren slik du synes.

Miljø = APP_RES_WIDTH = 800
Miljø = APP_RES_HEIGHT = 450
Miljø = APP_RES_FPS = 24
Miljø = APP_PORT = 9000

Når du er ferdig, trykker du på + X etterfulgt av OG, og for å lagre camera-stream-http.service fil.

Last inn systemdemonene 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 kamera-stream-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ørende, som du kan se på skjermbildet nedenfor. Så, kamera-stream-http systemd -tjenesten fungerer.

$ sudo systemctl status kamera-stream-http.service

Du kan legge til kamera-stream-http systemd service til systemoppstart av Raspberry Pi OS med følgende kommando:

$ sudo systemctl aktiver kamera-stream-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 dine er kamera-stream-http systemd -tjenesten skal være aktiv/kjørende, som du kan se på skjermbildet nedenfor.

$ sudo systemctl status raspi-home-automation.service

Konklusjon

I denne artikkelen har jeg vist deg hvordan du bygger et Raspberry Pi -sikkerhetskamera og får tilgang til videofeed fra hjemmenettverket (LAN) ved hjelp av VLC Media Player. Hvis du bare vil ha et enkelt oppsett av Raspberry Pi -sikkerhetskamera, bør denne artikkelen hjelpe deg med å komme i gang.