Byg et Raspberry Pi Security Camera Network

Build Raspberry Pi Security Camera Network



Raspberry Pi officielle kameramodul kan bruges som et sikkerhedskamera. Du kan dele kameraets videostream på netværket og få adgang til det eksternt fra enhver enhed på dit Local Area Network (LAN).

Du kan bruge VLC -medieafspilleren til at dele videostrømmen på en TCP -port og få adgang til den fra enhver enhed på dit Local Area Network (LAN) ved hjælp af VLC -medieafspiller.







I denne artikel vil jeg vise dig, hvordan du bygger et Raspberry Pi -sikkerhedskamera og streamer kameraets videofeed fra Raspberry Pi ved hjælp af VLC -medieafspilleren.



Så lad os komme i gang!



Ting du får brug for

For at følge denne artikel skal du bruge 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 blinkede
  5. Netværksforbindelse på Raspberry Pi
  6. Bærbar computer eller en stationær computer til VNC -fjernskrivebord eller SSH -adgang til Raspberry Pi.

BEMÆRK : Hvis du ikke ønsker at få adgang til din Raspberry Pi eksternt via SSH eller VNC, skal du også forbinde en skærm, et tastatur og en mus til din Raspberry Pi. Jeg har ikke brug for nogen af ​​disse, da jeg vil forbinde min Raspberry Pi eksternt via VNC eller SSH. Mit setup kaldes den hovedløse opsætning af Raspberry Pi.

Hvis du har brug for hjælp til at blinke Raspberry Pi OS -billedet på microSD -kortet, kan du læse min artikel: Sådan installeres og bruges Raspberry Pi Imager.



Hvis du er en Raspberry Pi -nybegynder, og du har brug for hjælp til at installere Raspberry Pi OS på din Raspberry Pi, kan du tjekke min artikel: Sådan installeres Raspberry Pi OS på Raspberry Pi 4 .

Hvis du har brug for hjælp til den hovedløse opsætning af Raspberry Pi, kan du læse min artikel: Sådan installeres og konfigureres Raspberry Pi OS på Raspberry Pi 4 uden ekstern skærm.

Hvis du har brug for hjælp til at forbinde Raspberry Pi -kameramodulet på Raspberry Pi, kan du tjekke min artikel: Brug af Raspberry Pi kameramodul .

Aktivering af Raspberry Pi kameramodul

Kameragrænsefladen er som standard deaktiveret på Raspberry Pi OS. Du kan aktivere det fra Raspberry Pi -konfigurationsværktøjet, raspi-config .

Start konfigurationsværktøjet til Raspberry Pi med følgende kommando:

$ sudo raspi-config

Vælg Grænsefladeindstillinger og tryk på .

Vælg Kamera og tryk på .

Vælg og tryk på .

Trykke .

Vælg og tryk på .

Vælg og tryk på . Din Raspberry Pi skal genstarte, og ændringerne skal anvendes.

Installation af VLC Media Player

VLC Media Player er tilgængelig i det officielle pakkeopbevaringssted for Raspberry Pi OS. Så det er let at installere det på Raspberry Pi OS.

Opdater først APT -pakkelagringscachen med følgende kommando:

$ sudo apt opdatering

Kør følgende kommando for at installere VLC Media Player:

$ sudo apt installere vlc -y

VLC Media Player skal installeres. I mit tilfælde er det allerede installeret.

Oprettelse af en kameraserver med VLC Media Player

Det raspivid kommando bruges til at optage video fra Raspberry Pi kameramodul. Jeg har forklaret, hvordan man bruger raspivid kommando for at optage en video ved hjælp af Raspberry Pi i min artikel Brug af Raspberry Pi kameramodul .

VLC Media Player har en kommandolinjeafspiller cvlc . Du kan bruge cvlc kommando for at dele en videostream på en TCP -port. I dette tilfælde videostrømmen fra Raspberry Pi -kameramodulet.

Hvis du vil dele Raspberry Pi -kameraets videofeed på en TCP -port ved hjælp af VLC Media Player, skal du køre 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

Det raspivid kommando bruges til at optage videoen fra Raspberry Pi kameramodulet.

Her er følgende betydning af kommandoen herunder:

  • Videobredden vil være 1920 pixels
  • Videohøjden vil være 1080 pixels ( -h 1080 ).
  • Videoen vendes vandret ( -hf ).
  • Videoen optages med 30 billeder i sekundet ( -fps 30 ).
  • Videoen optages i et ubegrænset antal sekunder ( -t 0 ).
  • Videostrømmen udskrives på terminalen i stedet for at gemme den på fil ( -eller - ).

Du kan ændre enhver af disse muligheder, som du finder passende.

Det cvlc kommando bruges til at åbne en TCP -port og sende Raspberry Pi -kameraets videofeed på TCP -porten.

Videofeedet er taget fra standardindgangen ( stream: /// dev/stdin ) på terminalen (ved hjælp af et rør | ).

VLC vil bruge TS -codec til multiplexing ( –Sout ‘#standard {…, mux = ts,…}’ ) inputvideofeed og H264 -codec til demultiplexering ( : demux = h264 ) outputvideofeed.

Videostrømmen vil være tilgængelig på HTTP -porten 9000 ( –Sout ‘#standard {access = http,…, dst =: 9000}’ ).

Når du kører kommandoen, og bufferen er fuldført, kan du streame videoen fra enhver enhed på netværket ved hjælp af VLC Media Player.

Streaming af kamerafeed fra Raspberry Pi Camera Server

For at få adgang til kamerafeedet fra andre enheder i dit hjemmenetværk (LAN) skal du kende IP -adressen på din Raspberry Pi.

Du kan finde IP -adressen på din Raspberry Pi fra webadministrationsgrænsefladen på din hjemmrouter. I mit tilfælde er IP -adressen 192.168.0.103. Det vil være anderledes for dig. Så sørg for at udskifte den med din fra nu af.

Hvis du har adgang til Raspberry Pi -konsollen, kan du også køre følgende kommando for at finde IP -adressen.

$ værtsnavn -I

Når du kender IP -adressen på din Raspberry Pi, skal du åbne VLC Media Player -appen og gå til Halvt > Åbn netværksstrøm ... som vist på skærmbilledet herunder.

Indtast webadressen til kameraserveren i Angiv en netværks -URL afsnit. I mit tilfælde er URL'en http://192.168.0.103:9000 .

Når du har indtastet webadressen, skal du klikke på Spil .

VLC Media Player skal begynde at streame videofeedet fra Raspberry Pi, som du kan se på skærmbilledet herunder.

Stop nu kameraserveren ved at trykke på + C .

Start af kameraserveren ved systemstart

Det er ikke særlig praktisk at starte kameraserveren manuelt hver gang, du starter din Raspberry Pi. Så vi kan oprette en systemd -service til kameraserveren, der automatisk starter kameraserveren ved opstart.

Opret først en kamera-stream- HTTP. Service fil i /etc/systemd/system/ bibliotek som følger:

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

Indtast følgende linjer i kamera-stream-http.service fil.

[Enhed]
Beskrivelse = Raspberry Pi Camera Streaming Server
Efter = 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 = arv
Genstart = altid
Bruger = pi
[Installere]
WantedBy = multi-user.target

Du kan justere følgende miljøvariabler for at konfigurere kameraserveren, som du finder passende.

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

Når du er færdig, skal du trykke på + x efterfulgt af OG, og for at gemme kamera-stream-http.service fil.

Genindlæs systemd -dæmonerne, så ændringerne træder i kraft som følger:

$ sudo systemctl daemon-reload

Som du kan se, er kamera-stream-http systemd service kører ikke i øjeblikket.

$ sudo systemctl status kamera-stream-http.service

Du kan starte kamera-stream-http systemtjeneste med følgende kommando:

$ sudo systemctl start kamera-stream-http.service

Det kamera-stream-http service skal være aktiv/kørende, som du kan se på skærmbilledet herunder. Så, kamera-stream-http systemd service virker.

$ sudo systemctl status kamera-stream-http.service

Du kan tilføje kamera-stream-http systemd service til systemstart af Raspberry Pi OS med følgende kommando:

$ sudo systemctl aktiver kamera-stream-http.service

For at ændringerne skal træde i kraft, skal du genstarte din Raspberry Pi med følgende kommando:

$ sudo genstart

Når dine Raspberry Pi støvler, vil kamera-stream-http systemd service skal være aktiv/kørende, som du kan se på skærmbilledet herunder.

$ sudo systemctl status raspi-home-automation.service

Konklusion

I denne artikel har jeg vist dig, hvordan du bygger et Raspberry Pi -sikkerhedskamera og får adgang til videofeedet fra dit hjemmenetværk (LAN) ved hjælp af VLC Media Player. Hvis du bare vil have en simpel opsætning af Raspberry Pi -sikkerhedskameraer, bør denne artikel hjælpe dig med at komme i gang.