Cuprins:

Cameră de securitate în aer liber complet dotată, bazată pe Raspberry Pi: 21 de pași
Cameră de securitate în aer liber complet dotată, bazată pe Raspberry Pi: 21 de pași

Video: Cameră de securitate în aer liber complet dotată, bazată pe Raspberry Pi: 21 de pași

Video: Cameră de securitate în aer liber complet dotată, bazată pe Raspberry Pi: 21 de pași
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Noiembrie
Anonim
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi
Cameră de securitate exterioară complet dotată, bazată pe Raspberry Pi

Dacă ați avut experiențe dezamăgitoare cu camere web ieftine, software-ul lor slab scris și / sau hardware inadecvat, puteți construi cu ușurință o cameră web semi-profesională cu un Raspberry Pi și alte câteva componente electronice ușor de găsit pe care rulează PiWebcam, un joc gratuit și fals. - Software rezistent care se transformă cu un singur clic pe dispozitivul dvs. într-o cameră web puternică și complet dotată.

Pasul 1: Inspirație

Inspirație
Inspirație

După ce am luptat împotriva software-ului limitat al majorității camerelor de securitate ieftine de pe piață (de exemplu, viziune nocturnă slabă, aplicație obscură pentru configurare, nicio înregistrare offline, detectare inexactă a mișcării etc.), am decis să construiesc ceva singur și Raspberry Pi mi s-a părut cea mai potrivită platformă.

Chiar dacă există deja un număr mare de proiecte pentru utilizarea unui Raspberry Pi ca cameră web, personal le găsesc prea complexe și, în general, mai multe soluții ad-hoc pentru utilizatori avansați, mai degrabă decât produse finite.

Cu toate acestea, majoritatea se concentrează doar pe software, mai degrabă decât pe hardware, ceea ce este la fel de important pentru cazul de utilizare al camerei de securitate.

Pasul 2: Hardware

Hardware
Hardware

Pentru a construi o cameră web interioară, un Raspberry Pi simplu (orice model) și o cameră atașată (orice model) cu LED-uri IR pentru viziunea de noapte ar funcționa foarte bine. Există deja o mulțime de kituri disponibile cu această combinație, așa că, dacă asta doriți să obțineți, cumpărați una dintre acestea și treceți la pasul 12.

Totuși, același hardware nu s-ar potrivi pentru o cameră de exterior: fotografia făcută de la camera Raspberry capabilă de IR în afara casei dvs. ar arăta în cea mai mare parte roz (datorită luminii infraroșii captate de cameră) și cu dimensiunile mici - LED-uri IR cu cutie, pe care nu le-ați putea vedea cu nimic peste 3 picioare / 1 metru.

Pentru a rezolva prima problemă, avem nevoie de ceva numit filtru mecanic IR CUT care, practic, vă oferă înapoi culorile adevărate în lumina zilei, dar care să permită în continuare captarea luminilor IR în timpul nopții. Majoritatea dispozitivelor de pe piață au două fire: un impuls scurt pe un fir va muta filtrul IR în fața senzorului (modul de zi), un impuls scurt pe celălalt fir va elimina filtrul (modul de noapte). De obicei, acestea funcționează între 3v și 9v și, dacă sunt atașate la Raspberry, putem avea control deplin asupra momentului de comutare a modului de noapte. Cu toate acestea, filtrul IR Cut nu poate fi controlat direct de la un știft al Raspberry, deoarece partea mecanică din interior necesită mult mai mult curent decât cel pe care îl poate furniza Pi. Vom lucra în jurul său folosind un H-Bridge alimentat de Raspberry's 5v și controlat de doi pini.

Pentru a aborda a doua problemă, am avea nevoie de o placă cu LED-uri IR mai puternică pentru a obține o viziune de noapte decentă. Plăcile cu leduri mai puține, dar mai mari, sunt preferate față de cele cu o mulțime de leduri mici. Majoritatea plăcilor de pe piață au, de asemenea, atașat un LDR (Light Dependent Resistor) care este utilizat pentru a determina când să aprindă LED-urile dacă sunt întunecate. De obicei, acestea funcționează la 12v și au o priză mică (etichetată "IRC") care poate fi utilizată pentru a conecta un filtru tăiat IR. Cu toate acestea, nu se transmite niciun impuls direct prin această mufă, dar în timpul nopții (LED-urile aprinse) se creează o cădere de tensiune (de obicei) de 5V între fire și masă. Dacă atașăm unul dintre fire la Raspberry și monitorizăm semnalul pinului, putem determina dacă intrăm sau ieșim din modul nocturn (ceea ce face exact PiWebcam)

Un ultim lucru de luat în considerare în ceea ce privește hardware-ul este cum să alimentați Raspberry Pi. Deoarece avem o sursă de alimentare de 12v și avem nevoie de 5v pentru a alimenta Pi, este necesar un regulator de tensiune.

Pasul 3: Software

Software
Software

Ideea din spatele PiWebcam a fost de a oferi o platformă de imagistică puternică pentru toată lumea, indiferent de cunoștințele sale anterioare. Un script de instalare se va ocupa de configurarea completă a sistemului cu setări implicite rezonabile, permițând utilizatorului să personalizeze printr-o interfață web curată și mobilă numai un număr foarte limitat de parametri relevanți. Cu toate acestea, datorită funcției sale puternice de detectare a mișcării, mărită de capabilitățile de recunoaștere a obiectelor alimentate de un model de inteligență artificială, PiWebcam poate notifica utilizatorul cu privire la orice mișcare detectată prin trimiterea unui instantaneu către un destinatar de e-mail sau prin postarea canalului Slack preferat al utilizatorului.

  • Pagina proiectului:
  • Manual de utilizare:

Pasul 4: Lista materialelor

Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale
Proiect de lege de materiale

Următoarea listă de materiale este pentru camera web în aer liber construită în acest tutorial:

  • Raspberry Pi Zero W
  • Cameră Raspberry Pi (orice model, acesta include un filtru tăiat IR)
  • Cablu pentru cameră Raspberry Pi Zero
  • Carcasă impermeabilă a camerei (orice model în care s-ar potrivi zmeura)
  • Card SD (se recomandă 16 GB)
  • Placă cu led IR (orice placă care se potrivește cu carcasa camerei)
  • Filtru IR Cut (numai dacă nu este deja încorporat în cameră)
  • Regulator 12v - 5v (asigurați-vă că este un regulator buck care poate furniza în cele din urmă 1A)
  • Fișă micro USB tată
  • Mufa de 12v femela
  • Alimentare 12v 3A
  • Podul H
  • Femele-Femele Dupont cales

Pasul 5: Pregătirea componentelor

Pregătirea componentelor
Pregătirea componentelor
Pregătirea componentelor
Pregătirea componentelor
Pregătirea componentelor
Pregătirea componentelor

Convertorul buck (regulator de tensiune) este responsabil pentru conversia sursei de alimentare de 12v la 5v pe care le necesită Raspberry Pi. Majoritatea componentelor de pe piață sunt reglabile (de exemplu, puteți modifica tensiunea de ieșire prin rotirea unui șurub). Deoarece în interiorul camerei web șurubul ar putea fi mutat accidental, pentru a asigura o ieșire fixă și constantă de 5v, puneți niște tablă în slotul de 5v pentru a lipi împreună cele două margini și tăiați firul de pe PCB (cu un cuțit) care intră în "ADJ" (stânga sus al imaginii)

Din moment ce dorim să avem control deplin asupra filtrului IR Cut prin Raspberry (indiferent dacă filtrul este sau nu încorporat cu camera foto ca în imagine), trebuie să scăpăm de conectorul mic. Tăiați cele două fire și conectați un cablu dupont feminin pentru fiecare fir. Nu aruncați fișa mică, deoarece trebuie să o folosim pentru a primi starea LDR montată pe placa LED IR. Conectați un alt cablu dupont feminin la unul dintre cele două fire (nu contează care).

Pasul 6: Conectați-vă la placa LED IR la sursa de alimentare

Conectați-vă la placa cu led IR la sursa de alimentare
Conectați-vă la placa cu led IR la sursa de alimentare
Conectați-vă la placa cu led IR la sursa de alimentare
Conectați-vă la placa cu led IR la sursa de alimentare
Conectați-vă la placa cu led IR la sursa de alimentare
Conectați-vă la placa cu led IR la sursa de alimentare

Să începem prin conectarea sursei de alimentare de 12v care intră în carcasa camerei goale la componente.

Conectați la firul negativ (negru) următoarele:

  • Fir negativ al plăcii cu led IR
  • Fir negativ al convertorului buck
  • Cablu negativ la conectorul tată USB

Conectați la firul pozitiv (roșu) următoarele:

  • Firul pozitiv (12v) al plăcii cu led IR
  • Firul Vin al convertorului Buck

Pasul 7: Alimentați Raspberry Pi

Alimentați Raspberry Pi
Alimentați Raspberry Pi
Alimentați Raspberry Pi
Alimentați Raspberry Pi

Conectați firul Vout al convertorului Buck la mufa USB care va alimenta Raspberry.

După conectarea tuturor firelor, lipiți-le împreună sau pur și simplu fixați-le cu niște bandă izolatoare.

Pasul 8: Conectați filtrul de tăiere IR

Conectați filtrul de tăiere IR
Conectați filtrul de tăiere IR
Conectați filtrul de tăiere IR
Conectați filtrul de tăiere IR
Conectați filtrul de tăiere IR
Conectați filtrul de tăiere IR

Deoarece filtrul IR Cut nu poate fi controlat direct de la un pin al Raspberry, vom folosi un H-Bridge alimentat de pinul 5v al Raspberry și controlat de doi pini.

  • Conectați pinul 4 (5v) al zmeurii la „+” al H-Bridge
  • Conectați pinul 5 (GND) al zmeurii la „-” de pe podul H
  • Conectați pinul 39 (BCM 20) al zmeurii la INT1 al H-Bridge
  • Conectați pinul 36 (BCM 16) al zmeurii la INT2 al H-Bridge
  • Conectați cele două fire ale filtrului de tăiere IR la MOTOR1 și MOTOR2 sau H-Bridge

În acest fel, când va fi trimis un impuls prin ex. pinul 39, 5v va fi furnizat la MOTOR1 făcând comutatorul filtrului.

Pasul 9: Conectați placa LED IR la Raspberry

Conectați placa LED IR la Raspberry
Conectați placa LED IR la Raspberry

Pentru a ști când se întunecă, folosim LDR-ul montat pe placa cu LED-uri IR. Utilizați mufa mică decupată din filtrul IR la pașii anteriori, conectați o parte la conectorul etichetat „IRC” al plăcii LED-urilor IR și cealaltă la pinul 40 (BCM 21) al Raspberry.

Pasul 10: Montați camera pe placa cu led IR

Montați camera pe placa cu led IR
Montați camera pe placa cu led IR
Montați camera pe placa cu led IR
Montați camera pe placa cu led IR

Fixați camera pe slotul dedicat al plăcii cu LED-uri IR cu o bandă izolatoare sau alte mijloace. Lucruri de luat în considerare în această etapă:

  • Placa LED-uri IR devine foarte fierbinte când este aprinsă, astfel protejați camera în consecință;
  • Asigurați-vă că nicio lumină IR nu poate intra în slotul în care este amplasată camera; Reflectarea luminii IR este unul dintre cele mai frecvente motive pentru care vederea nocturnă este slabă (neclară);
  • Asigurați-vă că mai este spațiu între obiectiv și sticla carcasei camerei, altfel ar putea avea loc reflexia sau distorsiunea imaginii;

NU închideți încă carcasa camerei:-)

Pasul 11: Opțiunea 1 - Flash o imagine PiWebcam preconfigurată (recomandat)

Opțiunea 1 - Flash o imagine PiWebcam preconfigurată (recomandat)
Opțiunea 1 - Flash o imagine PiWebcam preconfigurată (recomandat)
  • Descărcați cea mai recentă imagine PiWebcam (PiWebcam_vX. X.img.zip) de pe
  • Dezarhivați fișierul Scrieți imaginea pe un card SD (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Conectați cardul SD de pe Raspberry Pi și porniți-l
  • Dispozitivul va începe să acționeze ca un punct de acces
  • Continuați cu sarcinile post-instalare

Pasul 12: Opțiunea 2 - Construiți o imagine PiWebcam

Opțiunea 2 - Construiți o imagine PiWebcam
Opțiunea 2 - Construiți o imagine PiWebcam

Construirea unei imagini PiWebcam necesită o nouă instalare a Raspbian și a unui card SD. Vă rugăm să nu reutilizați o instalație existentă, ci începeți de la zero:

  • Descărcați sistemul de operare Raspbian Stretch Lite
  • Scrieți imaginea pe un card SD (de exemplu utilizând Win32 Disk Imager)

Pasul 13: Opțiunea 2 - Copiați PiWebcam pe cardul SD

Opțiunea 2 - Copiați PiWebcam pe cardul SD
Opțiunea 2 - Copiați PiWebcam pe cardul SD
Opțiunea 2 - Copiați PiWebcam pe cardul SD
Opțiunea 2 - Copiați PiWebcam pe cardul SD
Opțiunea 2 - Copiați PiWebcam pe cardul SD
Opțiunea 2 - Copiați PiWebcam pe cardul SD

Descărcați cea mai recentă versiune a PiWebcam (PiWebcam_vX. X.zip), extrageți și copiați directorul „PiWebcam” în partiția de boot.

Pentru o configurare fără cap introduceți în partiția de încărcare și un fișier gol numit „ssh” și un „wpa_supplicant.conf” cu configurația de rețea. În acest fel, Raspberry va începe conectarea la rețeaua dvs. WiFi la pornire și nu veți avea deloc nevoie de cablul HDMI, dar vă puteți conecta direct prin SSH la acesta.

Pasul 14: Opțiunea 2 - Porniți Raspberry și conectați-vă la acesta

Opțiunea 2 - Porniți Raspberry și conectați-vă la acesta
Opțiunea 2 - Porniți Raspberry și conectați-vă la acesta
Opțiunea 2 - Porniți Raspberry și conectați-vă la acesta
Opțiunea 2 - Porniți Raspberry și conectați-vă la acesta

Conectați cardul SD de pe Raspberry Pi, porniți-l și cu un client SSH (sau PuTTY pe Windows) conectați-vă la acesta:

  • Nume gazdă: raspberrypi.local
  • Nume utilizator: pi
  • Parolă: zmeură

Pasul 15: Opțiunea 2 - Configurați sistemul pentru PiWebcam

Opțiunea 2 - Configurați sistemul pentru PiWebcam
Opțiunea 2 - Configurați sistemul pentru PiWebcam
Opțiunea 2 - Configurați sistemul pentru PiWebcam
Opțiunea 2 - Configurați sistemul pentru PiWebcam

După ce vă asigurați că Raspberry este conectat la Internet, rulați următoarea comandă:

sudo /boot/PiWebcam/PiWebcam.sh instalare

Aceasta va configura complet sistemul și va instala dependențele necesare.

La sfârșitul instalării vi se va cere să reporniți dispozitivul pentru ca modificările să fie pe deplin eficiente. Toate acreditările vor fi rezumate pe ecran.

Rețineți că ultimele 6 caractere sunt aleatorii (de exemplu, PiWebcam-e533fe) și variază de la dispozitiv la dispozitiv.

Pasul 16: Sarcini post-instalare - Conectați-vă la punctul de acces WiFi PiWebcam

Sarcini post-instalare - Conectați-vă la punctul de acces WiFi PiWebcam
Sarcini post-instalare - Conectați-vă la punctul de acces WiFi PiWebcam
Sarcini post-instalare - Conectați-vă la punctul de acces WiFi PiWebcam
Sarcini post-instalare - Conectați-vă la punctul de acces WiFi PiWebcam

Odată pornit, dispozitivul va începe să acționeze ca punct de acces.

Conectați-vă la rețeaua WiFi creată de dispozitiv. Expresia de acces a rețelei, precum și parola utilizatorului de administrator (atât pentru interfața web, cât și pentru SSH) sunt identice cu SSID-ul (de exemplu, PiWebcam-XXXXX). Îndreptați browserul către https://PiWebcam.local și autentificat cu numele de utilizator „admin” și cu parola la fel ca numele rețelei.

Pasul 17: Conectați camera web la rețeaua dvs. WiFi

Conectați camera web la rețeaua dvs. WiFi
Conectați camera web la rețeaua dvs. WiFi
Conectați camera web la rețeaua dvs. WiFi
Conectați camera web la rețeaua dvs. WiFi

Dacă doriți să conectați camera web la o rețea WiFi existentă, accesați dispozitiv / rețea, selectați „Client WiFi” și completați „Rețeaua WiFi” și „Expresia de acces”.

Așteptați 1-2 minute, conectați-vă din nou la rețea și direcționați browserul către https://camera_name.your_network (de exemplu,

Pasul 18: Închideți carcasa camerei web

Închideți carcasa camerei web
Închideți carcasa camerei web
Închideți carcasa camerei web
Închideți carcasa camerei web

Odată testat faptul că camera web poate fi accesată prin rețea și efectuată configurația de bază prezentată în pasul anterior, este momentul să închidem carcasa.

Pasul 19: Noțiuni introductive despre PiWebcam

Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam
Noțiuni introductive despre PiWebcam

PiWebcam vine deja cu setări implicite rezonabile. Odată instalat, nu este necesară nicio configurație suplimentară; PiWebcam va începe să facă instantanee și să înregistreze videoclipuri, indiferent dacă este conectat sau nu la rețea.

Întreaga configurație a dispozitivului (cameră, rețea, notificări și setări de sistem) poate fi realizată prin intermediul interfeței web. Fișierul de configurare poate fi ușor exportat și importat în Dispozitiv / Sistem.

Când este detectată o mișcare, PiWebcam va începe să înregistreze un videoclip (care va fi apoi disponibil prin intermediul meniului „Redare” al interfeței web). Odată ce nu va mai exista mișcare, va fi stocată și o imagine care evidențiază cu o casetă roșie mișcarea detectată. Dacă caracteristica de detectare a obiectelor este activată, orice mișcare care nu conține obiectul configurat va fi ignorată, astfel încât să scadă pozitivele false (de exemplu, dacă este detectată o mișcare, dar nu este identificată nicio persoană).

Când notificările sunt activate, instantaneul va fi trimis la adresa de e-mail a utilizatorului și / sau postat pe canalul Slack configurat. Dacă o conexiune la Internet nu este disponibilă, notificarea va fi pusă în coadă și eliberată atunci când conexiunea va fi restabilită în continuare.

Un rezumat detaliat al tuturor setărilor disponibile este raportat în pagina proiectului.

Pasul 20: Acces la Internet de la distanță

Acces la Internet de la distanță
Acces la Internet de la distanță

Opțional, interfața web poate fi accesată de pe Internet fără nicio configurație suplimentară în rețeaua sau routerul dvs. de acasă. Pentru a activa această funcționalitate, bifați caseta corespunzătoare din Dispozitiv / Rețea.

Dacă accesul la internet la distanță este activat, dispozitivul inițiază un tunel SSH prin serveo.net, fără a fi nevoie să configurați NAT sau UPnP în router. Numele dispozitivului este folosit ca nume de gazdă și sunt expuse atât serviciile web, cât și serviciile ssh.

Pasul 21: Detalii tehnice

Toate fișierele PiWebcam se află în partiția de încărcare a cardului SD, într-un director numit PiWebcam. Aceasta include un singur fișier bash, PiWebcam.sh și paginile PHP pentru panoul de administrare.

În timpul procesului de instalare, se realizează o configurație de bază foarte simplă, se creează o imagine initramfs și se adaugă scriptul PiWebcam.sh la /etc/rc.local pentru a fi executat la pornire cu parametrul „configure”.

La prima repornire, imaginea initramfs va micșora partiția rădăcină (extinsă anterior pentru a umple întregul card SD de către instalatorul Raspbian) și va crea o partiție de date imediat după.

Atât sistemele de fișiere de pornire, cât și cele de rădăcină sunt montate numai în citire și un sistem de fișiere suprapus este creat de imaginea initram pe sistemul de fișiere rădăcină, astfel încât orice modificare a sistemului să fie stocată numai în memorie și să se piardă la următoarea repornire. În acest fel, dispozitivul va fi mai robust la configurările greșite, poate fi restabilit cu ușurință la valorile implicite din fabrică și poate rezista la orice întrerupere a alimentării, deoarece niciun fișier de sistem nu este scris vreodată pe cardul SD în timpul operațiilor normale. Sistemul de fișiere de date este formatat în schimb cu F2FS (Flash-Friendly File System) care ia în considerare caracteristicile dispozitivelor de stocare bazate pe memoria flash.

În timpul pornirii, PiWebcam își citește fișierul de configurare stocat la /boot/PiWebcam/PiWebcam.conf, configurează sistemul, camera, rețeaua și notificările pe baza setărilor găsite acolo și implementează interfața web din / boot / PiWebcam / web în locația rădăcină web.

Atât filmele, cât și filmele sunt stocate în sistemul de fișiere de date și grupate în dosare în funcție de an / lună / zi / oră, pentru a permite un acces mai ușor. Toate înregistrările pot fi revizuite prin intermediul interfeței web cu h5ai, un indexer de fișiere modern, care permite afișarea fișierelor și directoarelor într-un mod atrăgător și oferind previzualizări de imagini și video fără a fi nevoie să descărcați conținutul în prealabil.

Când este detectată o mișcare, PiWebcam.sh este invocată cu parametrul „notificare” prin evenimentul mișcării on_picture_save / on_movie_end. Dacă detectarea obiectelor este activată pentru o analiză ulterioară a imaginii, imaginea este trimisă către Clarifai pentru a recunoaște toate obiectele din imagine. Acest lucru ar funcționa excelent pentru a reduce falimentele pozitive, de ex. dacă sunteți interesat să știți dacă cineva fură în casa dvs. și nu doar o schimbare bruscă a luminii.

După aceea, PiWebcam verifică dacă este disponibilă o conexiune la Internet și, dacă da, trimite notificarea. Pe lângă notificările e-mail tradiționale, trimise cu ssmtp, cu imaginea video detectată atașată, PiWebcam poate încărca aceeași imagine pe un canal Slack. Dacă nu cunoașteți Slack, verificați-l (); este un instrument excelent de colaborare, dar poate fi, de asemenea, utilizat pentru a crea un grup dedicat familiei tale, pentru a acorda acces membrilor familiei tale, pentru a discuta cu ei și pentru a permite utilizatorilor PiWebcam sau Home Automation (cum ar fi eGeoffrey) să posteze actualizări acolo. Dacă nu există o conexiune la Internet, notificarea nu se pierde, dar este pusă în coadă și trimisă la restaurarea conexiunii.

O funcționalitate de upgrade este furnizată și prin interfața web.

Recomandat: