Construiți o rețea de camere de securitate Raspberry Pi

Build Raspberry Pi Security Camera Network



Modulul oficial de cameră Raspberry Pi poate fi folosit ca cameră de securitate. Puteți partaja fluxul video al camerei în rețea și îl puteți accesa de la distanță de pe orice dispozitiv din rețeaua locală (LAN).

Puteți utiliza playerul media VLC pentru a partaja fluxul video pe un port TCP și a-l accesa de pe orice dispozitiv din rețeaua locală (LAN) utilizând playerul media VLC.







În acest articol, vă voi arăta cum să construiți o cameră de securitate Raspberry Pi și să transmiteți fluxul video al camerei de la Raspberry Pi utilizând playerul media VLC.



Deci sa începem!



Lucruri de care vei avea nevoie

Pentru a urma acest articol, veți avea nevoie de următoarele lucruri:





  1. Raspberry Pi 3 sau Raspberry Pi 4
  2. Modul de cameră Raspberry Pi
  3. Adaptor de alimentare Micro-USB (Raspberry Pi 3) sau USB Type-C (Raspberry Pi 4)
  4. Cardul MicroSD de 16 GB sau 32 GB cu sistemul de operare Raspberry Pi a clipit
  5. Conectivitate la rețea pe Raspberry Pi
  6. Laptop sau computer desktop pentru desktop VNC la distanță sau acces SSH la Raspberry Pi.

NOTĂ : Dacă nu doriți să accesați Raspberry Pi de la distanță prin SSH sau VNC, trebuie să conectați și un monitor, o tastatură și un mouse la Raspberry Pi. Nu voi avea nevoie de niciunul dintre acestea, deoarece îmi voi conecta Raspberry Pi de la distanță prin VNC sau SSH. Configurarea mea se numește configurarea fără cap a Raspberry Pi.

Dacă aveți nevoie de asistență pentru afișarea imaginii Raspberry Pi OS pe cardul microSD, consultați articolul meu: Cum se instalează și se utilizează Raspberry Pi Imager.



Dacă sunteți un începător Raspberry Pi și aveți nevoie de asistență la instalarea sistemului de operare Raspberry Pi pe Raspberry Pi, consultați articolul meu: Cum se instalează sistemul de operare Raspberry Pi pe Raspberry Pi 4 .

Dacă aveți nevoie de asistență pentru configurarea fără cap a Raspberry Pi, verificați articolul meu: Cum se instalează și se configurează sistemul de operare Raspberry Pi pe Raspberry Pi 4 fără monitor extern.

Dacă aveți nevoie de asistență pentru conectarea modulului de cameră Raspberry Pi pe Raspberry Pi, verificați articolul meu: Utilizarea modulului de cameră Raspberry Pi .

Activarea modulului de cameră Raspberry Pi

Interfața camerei este dezactivată implicit pe sistemul de operare Raspberry Pi. O puteți activa din instrumentul de configurare Raspberry Pi, raspi-config .

Porniți instrumentul de configurare Raspberry Pi cu următoarea comandă:

$ sudo raspi-config

Selectați Opțiuni de interfață și apăsați .

Selectați aparat foto și apăsați .

Selectați și apăsați .

presa .

Selectați și apăsați .

Selectați și apăsați . Raspberry Pi ar trebui să repornească și modificările ar trebui să fie aplicate.

Instalarea VLC Media Player

VLC Media Player este disponibil în depozitul oficial de pachete al sistemului de operare Raspberry Pi. Deci, este ușor să-l instalați pe sistemul de operare Raspberry Pi.

Mai întâi, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:

$ sudo apt actualizare

Pentru a instala VLC Media Player, rulați următoarea comandă:

$ sudo apt install vlc -y

VLC Media Player trebuie instalat. În cazul meu, este deja instalat.

Crearea unui server de cameră cu VLC Media Player

The frământat comanda este utilizată pentru a înregistra videoclipuri de pe modulul camerei Raspberry Pi. Am explicat cum să folosesc frământat comanda pentru a înregistra un videoclip folosind Raspberry Pi în articolul meu Utilizarea modulului de cameră Raspberry Pi .

VLC Media Player are un player din linia de comandă cvlc . Puteți utiliza cvlc comanda pentru a partaja un flux video pe un port TCP. În acest caz, fluxul video al modulului camerei Raspberry Pi.

Pentru a partaja fluxul video al camerei Raspberry Pi pe un port TCP utilizând VLC Media Player, rulați următoarea comandă:

$ 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

The frământat comanda este utilizată pentru a înregistra videoclipul din modulul camerei Raspberry Pi.

Iată următoarea semnificație a comenzii de mai jos:

  • Lățimea videoclipului va fi de 1920 pixeli
  • Înălțimea videoclipului va fi de 1080 pixeli ( -h 1080 ).
  • Videoclipul va fi inversat orizontal ( -hf ).
  • Videoclipul va fi înregistrat la 30 de cadre pe secundă ( -fps 30 ).
  • Videoclipul va fi înregistrat pentru un număr nelimitat de secunde ( -t 0 ).
  • Fluxul video va fi tipărit pe terminal în loc să-l salveze în fișier ( -sau - ).

Puteți schimba oricare dintre aceste opțiuni după cum doriți.

The cvlc comanda este utilizată pentru a deschide un port TCP și a trimite feedul video al camerei Raspberry Pi pe portul TCP.

Feedul video este preluat de la intrarea standard ( stream: /// dev / stdin ) a terminalului (folosind o conductă | ).

VLC va folosi codecul TS pentru multiplexare ( –Sout „#standard {…, mux = ts,…}” ) alimentarea video de intrare și codecul H264 pentru demultiplexare ( : demux = h264 ) fluxul video de ieșire.

Fluxul video va fi disponibil pe portul HTTP 9000 ( –Sout „#standard {access = http,…, dst =: 9000}” ).

Odată ce executați comanda și buffering-ul este finalizat, puteți reda video de pe orice dispozitiv din rețea utilizând VLC Media Player.

Transmiterea fluxului camerei de pe serverul camerei Raspberry Pi

Pentru a accesa alimentarea camerei de pe alte dispozitive din rețeaua dvs. de domiciliu (LAN), trebuie să cunoașteți adresa IP a Raspberry Pi.

Puteți găsi adresa IP a Raspberry Pi din interfața de gestionare web a routerului dvs. de acasă. În cazul meu, adresa IP este 192.168.0.103. Va fi diferit pentru tine. Deci, asigurați-vă că îl înlocuiți cu al dvs. de acum înainte.

Dacă aveți acces la consola Raspberry Pi, puteți rula următoarea comandă pentru a găsi și adresa IP.

$ hostname -I

După ce cunoașteți adresa IP a Raspberry Pi, deschideți aplicația VLC Media Player și accesați Jumătate > Deschideți fluxul de rețea ... așa cum se arată în captura de ecran de mai jos.

Introduceți adresa URL a serverului camerei în Vă rugăm să introduceți o adresă URL de rețea secțiune. În cazul meu, adresa URL este http://192.168.0.103:9000 .

După ce ați introdus adresa URL, faceți clic pe Joaca .

VLC Media Player ar trebui să înceapă să transmită fluxul video de pe Raspberry Pi, după cum puteți vedea în captura de ecran de mai jos.

Acum, opriți serverul camerei foto apăsând + C .

Pornirea serverului camerei la pornirea sistemului

Pornirea manuală a serverului camerei de fiecare dată, porniți Raspberry Pi nu este foarte practic. Deci, putem crea un serviciu systemd pentru serverul camerei care va porni automat serverul camerei la pornire.

Mai întâi, creați un camera-stream- HTTP. Serviciu fișier în / etc / systemd / system / director după cum urmează:

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

Tastați următoarele linii în camera-stream-http.service fişier.

[Unitate]
Descriere = Raspberry Pi Camera Streaming Server
După = network.target
[Serviciu]
WorkingDirectory = / home / pi
Mediu = APP_RES_WIDTH = 800
Mediu = APP_RES_HEIGHT = 450
Mediu = APP_RES_FPS = 24
Mediu = 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 = mostenire
StandardError = moștenire
Restart = întotdeauna
Utilizator = pi
[Instalare]
WantedBy = multi-user.target

Puteți ajusta următoarele variabile de mediu pentru a configura serverul camerei după cum doriți.

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

După ce ați terminat, apăsați + X urmată de ȘI, și pentru a salva camera-stream-http.service fişier.

Reîncărcați demonii systemd pentru ca modificările să aibă efect după cum urmează:

$ sudo systemctl daemon-reload

După cum puteți vedea, camera-stream-http serviciul systemd nu rulează în acest moment.

$ sudo systemctl status camera-stream-http.service

Puteți începe camera-stream-http serviciu de sistem cu următoarea comandă:

$ sudo systemctl pornește camera-stream-http.service

The camera-stream-http serviciul ar trebui să fie activ / rulat, după cum puteți vedea în captura de ecran de mai jos. Asa de, camera-stream-http serviciul systemd funcționează.

$ sudo systemctl status camera-stream-http.service

Puteți adăuga fișierul camera-stream-http service systemd la pornirea sistemului Raspberry Pi OS cu următoarea comandă:

$ sudo systemctl permite camera-stream-http.service

Pentru ca modificările să aibă efect, reporniți Raspberry Pi cu următoarea comandă:

$ sudo reporniți

Odată ce ați pornit Raspberry Pi, camera-stream-http serviciul systemd ar trebui să fie activ / rulat, după cum puteți vedea în captura de ecran de mai jos.

$ sudo systemctl status raspi-home-automation.service

Concluzie

În acest articol, v-am arătat cum să construiți o cameră de securitate Raspberry Pi și să accesați fluxul video din rețeaua dvs. de acasă (LAN) utilizând VLC Media Player. Dacă doriți doar o configurare simplă a camerei de securitate Raspberry Pi, acest articol ar trebui să vă ajute să începeți.