- Construiți rapid camera de securitate Motion Capture cu Raspberry Pi:
- Personalizarea setărilor media în mișcare:
- Cum să obțineți fluxul video pe internet:
Securitatea este o preocupare majoră în prezent și există o mulțime de tehnologii prezente astăzi pentru a vă menține locul sigur și monitorizat. Camerele CCTV sunt foarte utile pentru a vă supraveghea casa sau biroul. Deși prețurile acestor tipuri de camere au fost reduse semnificativ de la început, dar totuși camerele IP, care au capacitatea de a trimite și primi data prin rețea, sunt foarte scumpe. Iar pentru True Surveillance, o cameră trebuie să aibă capacitatea de a-și trimite fluxul prin internet, astfel încât să poată fi urmărită de oriunde din lume.
Astăzi facem o cameră de supraveghere a mișcării de supraveghere foarte ieftină folosind Raspberry Pi și o cameră web. Acesta este un instrument de securitate excelent și foarte ieftin, care are multe opțiuni configurabile și poate fi construit în câteva minute. Aici folosim doar Raspberry Pi și o cameră web USB pentru a construi această cameră Motion Capture. Avem Raspbian Jessie OS instalat pe placa noastră Raspberry Pi. Ar trebui să verificați acest articol pentru a instala sistemul de operare Raspbian și pentru a începe să utilizați Raspberry Pi.
Aici vom trece mai întâi printr-un ghid de pornire rapidă, astfel încât să aveți camera de supraveghere gata în câteva minute cu toate configurațiile implicite și după aceea ne vom scufunda în celelalte detalii și opțiuni de configurare pentru a o personaliza în funcție de nevoile dvs.
Dar înainte de asta, să știm ceva despre Motion (software de supraveghere), care este inima acestui proiect. Motion este un software CCTV cu detector de mișcare open source, dezvoltat pentru Linux. Acesta detectează mișcarea și începe să înregistreze videoclipuri ale acesteia. Cu „Motion” instalat în Raspberry Pi, puteți transforma magic Raspberry Pi într-o cameră de securitate și puteți obține următoarele funcționalități:
1. Puteți viziona fluxul video live pe un browser web introducând adresa IP a Pi împreună cu portul.
2. Va înregistra și salva videoclipul ori de câte ori detectează mișcare sau orice perturbare în zona de vizualizare. Acesta va continua să înregistreze videoclipul până când apare o mișcare, apoi se oprește și salvează fișierul, care poate fi urmărit mai târziu.
3. Poate crea un frumos Timelapse Video.
4. Poate realiza instantanee la intervale regulate sau când există o mișcare. Instantaneele sunt, de asemenea, salvate pe disc pentru utilizare ulterioară.
În afară de aceasta, are mai multe opțiuni de configurare pe care le vom discuta în scurt timp și putem seta, de asemenea, „declanșatoare” definite de utilizator pentru anumite evenimente. În prezent, Motion acceptă doar camera USB scoasă din cutie, dacă doriți să utilizați camera Pi, atunci trebuie să utilizați o construcție specială de Motion.
Construiți rapid camera de securitate Motion Capture cu Raspberry Pi:
Aici trebuie să rulați doar câteva comenzi pentru a începe să primiți primul flux video prin rețea. Înainte de aceasta, verificați corect dacă Raspberry Pi este conectat la internet, fie utilizând LAN, fie Wi-Fi, apoi urmați pașii de mai jos:
Pasul 1: Rulați mai întâi comanda de mai jos pentru a actualiza sistemul de operare Raspbian pe Raspberry Pi:
sudo apt-get update
Pasul 2: Apoi instalați Biblioteca „Motion” folosind comanda de mai jos:
sudo apt-get install motion
Pasul 3: Acum setați Motion daemon la da editând fișierul: / etc / default / motion astfel încât acesta să fie întotdeauna rulat. Editați acest fișier folosind editorul „nano” cu „sudo”, așa cum este prezentat mai jos:
sudo nano / etc / default / motion
Apoi salvați fișierul apăsând „CTRL + X”, apoi „Y” și Enter.
Pasul 4: Acum trebuie să setăm permisiunea pentru Directorul țintă (/ var / lib / motion /), în care Motion salvează toate înregistrările video și fișierele imagine. Trebuie să setăm „Motion” ca proprietar al acestui director prin emiterea comenzii de mai jos:
mișcare sudo chown: mișcare / var / lib / mișcare /
Această permisiune este necesară în caz contrar, veți obține o eroare de mai jos, atunci când verificați Starea serviciului de mișcare utilizând această comandă: starea de mișcare a serviciului sudo
Pasul 5: Acum am terminat, doar că trebuie să schimbăm o opțiune de configurare în fișierul de configurare Motion (/etc/motion/motion.conf ) care este stream_localhost dezactivat. Trebuie să oprim acest flux de gazdă locală, altfel nu vom putea accesa fluxul video din rețeaua noastră și va fi accesibil doar din Raspberry Pi în sine. Pentru aceasta, editați fișierul Motion Configuration cu editorul „nano” și opriți-l, așa cum se arată mai jos:
sudo nano /etc/motion/motion.conf
Acum am terminat și suntem gata să obținem fluxul nostru live de la camera web USB conectată la Pi. Pur și simplu porniți serviciul Motion folosind comanda de mai jos și deschideți adresa Raspberry Pi, cu portul 8081, în browserul dvs. (cum ar fi 192.168.1.103:8081):
sudo /etc/init.d/motion start
Și veți vedea fluxul live de pe camera dvs. web ca mai jos. Aici am folosit o cameră web USB cu cost redus (camera web Quantum QHM500LM), care a funcționat fără probleme cu Raspberry Pi, dar puteți utiliza în continuare o cameră de calitate bună pentru o rezoluție mai bună.
După cum se va afișa în browser, puteți utiliza orice dispozitiv pentru a viziona fluxul, care acceptă browserul web, cum ar fi mobil, tabletă etc. Mai jos este un instantaneu de pe telefonul mobil:
Puteți porni, opri, reporni și obține oricând starea serviciului Motion folosind mai jos patru comenzi:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion restart sudo service motion status
sau puteți reporni Raspberry Pi ca pas de depanare atunci când este necesar:
sudo reboot
Notă: Dacă sunteți modelul Raspberry Pi sub versiunea 3, este posibil să aveți nevoie de un dongle Wi-Fi pentru a conecta wireless Raspberry Pi la router. Raspberry Pi 3 are Wi-Fi încorporat. Aici am folosit Raspberry Pi 2 Model B cu un dongle Wi-Fi.
Personalizarea setărilor media în mișcare:
Deci, acum avem camera noastră de supraveghere care funcționează și funcționează. Acum putem analiza câteva opțiuni de configurații foarte utile, folosindu-le, pe care le putem optimiza în funcție de nevoile noastre și putem obține rezultate foarte impresionante. În fișierul de configurare a mișcării, toate setările sunt explicate foarte frumos cu valoarea lor implicită și recomandată, doar verificați-o folosind comanda de mai jos:
sudo nano /etc/motion/motion.conf
În afară de obținerea fluxului live, Motion înregistrează și salvează fișiere video ori de câte ori detectează Motion. Astfel, puteți regla frecvența, calitatea, lățimea / înălțimea videoclipurilor în flux. Puteți seta rata de cadre ridicată pentru videoclipurile în timp real, dar rețeaua dvs. trebuie să fie suficient de rapidă pentru aceasta. Mai jos sunt valorile pe care le-am folosit, le puteți modifica în consecință:
# Lățimea imaginii (pixeli). Interval valabil: dependent de cameră, implicit: 352 lățime 640 # Înălțimea imaginii (pixeli). Gama valabilă: dependentă de cameră, implicit: 288 înălțime 480 # Numărul maxim de cadre de captat pe secundă. # Interval valabil: 2-100. Implicit: 100 (aproape fără limită). framerate 50 stream_quality 90
Va fi bine să salvați câteva imagini înainte și după ce detectează mișcarea și începeți înregistrarea videoclipului. Utilizați setările de mai jos pentru aceasta:
# Specifică numărul de imagini pre-capturate (tamponate) înainte de a fi detectată mișcarea # care va fi transmisă la detectarea mișcării. # Interval recomandat: 0 până la 5 (implicit: 0) pre_capture 0 # Număr de cadre de captat după ce mișcarea nu mai este detectată (implicit: 0) post_capture 0
Mișcarea implicit face prea multe fotografii atunci când detectează mișcarea și veți ajunge cu atâtea fișiere „jpg” pentru o mișcare mică. Deci, va fi bine să setați această setare ( output_pictures off ) sau să o setați la „cel mai bun”:
cele mai bune imagini_output
De asemenea, puteți face instantanee la intervale regulate, definite de dvs., utilizând opțiunea de mai jos:
# Faceți instantanee automate la fiecare N secunde (implicit: 0 = dezactivat) snapshot_interval 0
Cele mai atractive caracteristici pentru mine este Timelapse Video, este un aranjament foarte bun pentru videoclipuri frumoase Timelapse la un cost foarte mic. Aici puteți defini intervalul pentru instantanee pentru Timelapse Video:
# Valoare implicită 0 = dezactivat - altfel salvați cadrul la fiecare a N-a secundă ffmpeg_timelapse 2
Puteți schimba directorul țintă pentru a salva toate fișierele și imaginile înregistrate folosind „target_dir” și nu uitați să setați „Motion” ca proprietar al acestui director, așa cum s-a explicat anterior.
# Director de bază țintă pentru imagini și filme # Recomandat de a folosi calea absolută. (Implicit: directorul de lucru curent) target_dir / var / lib / motion
Puteți schimba portul de streaming web (implicit este 8081):
# Serverul mini-http ascultă acest port pentru solicitări (implicit: 0 = dezactivat) stream_port 8081
Dacă nu doriți un fișier video lung, puteți instrui Motion să creeze mai multe clipuri de o anumită durată în loc de un fișier mare. Puteți menționa durata clipurilor în câteva secunde (0 pentru infinit):
# Lungimea maximă în secunde a unui film # Când valoarea este depășită, este creat un nou fișier de film. (Implicit: 0 = infinit) max_movie_time 30
De asemenea, puteți decide cum să definiți o mișcare și puteți seta numărul de pixeli sau cadre care trebuie modificate pentru detectarea unei mișcări adevărate:
# Prag pentru numărul de pixeli modificați într-o imagine care # declanșează detectarea mișcării (implicit: 1500) prag 1500 # Rame trebuie să conțină mișcare cel puțin numărul specificat de rame # într-un rând înainte de a fi detectate ca mișcare adevărată. La valoarea implicită 1, este detectată toată # mișcarea. Interval valid: 1 până la mii, recomandat 1-5 minimum_motion_frames 5
În mod implicit, Motions salvează jurnalele în „syslog”, dar puteți defini fișierul jurnal dedicat pentru Motion:
# Utilizați un fișier pentru a salva jurnalele de mesaje, dacă nu este definit stderr și se utilizează syslog. (implicit: nedefinit) fișier log /tmp/motion.log
Nu uitați să salvați și să reporniți serviciul Motion după ce ați modificat orice setare. Pentru a salva motion.conf, apăsați CTRL + X apoi Y și apoi Enter.
Deci, acestea sunt câteva setări obișnuite care pot fi utilizate pentru a obține rezultate bune. Dar dacă sunteți curioși, săpați mai mult fișierul de configurare și începeți să jucați cu setări. Există o mulțime de opțiuni pentru a seta luminozitatea, contrastul, rata de biți, declanșatoarele, autentificarea parolei și multe altele.
Cum să obțineți fluxul video pe internet:
Aici am monitorizat fluxul camerei web prin rețeaua locală utilizând IP-ul local al Raspberry Pi. Dar dacă doriți să îl monitorizați de oriunde pe internet, atunci trebuie să setați Port Forwarding în router / modem. Practic, trebuie să redirecționați portul 80 (utilizat pentru HTTP sau internet) la adresa IP locală sau privată de dvs. Raspberry Pi (cum ar fi (192.168 * în cazul nostru). După redirecționarea portului, toate conexiunile primite la portul 80 vor fi redirecționate către această adresă locală și puteți urmări fluxul live introducând adresa IP publică pe internet cu streamingul port pe care l-am setat mai devreme (8081). Fiecare router are o interfață de utilizator diferită pentru configurarea redirecționării portului, astfel încât să vă puteți conecta la router (192.168.1.1) și puteți găsi opțiunea pentru același lucru. Dar amintiți-vă că, pentru a accesa Raspberry Pi pe internet trebuie să aveți o adresă IP publică statică și aceasta nu trebuie modificată la fiecare repornire a modemului. Adresa IP statică este furnizată de ISP-ul dvs.
Așa că așa putem configura cu ușurință o cameră de supraveghere cu costuri foarte mici utilizând Raspberry Pi și o cameră web simplă.