INHOUDSOPGAWE:

Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi: 21 stappe
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi: 21 stappe

Video: Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi: 21 stappe

Video: Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi: 21 stappe
Video: CS50 2013 - Week 9 2024, Julie
Anonim
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi
Volledige funksie vir buitenshuise beveiliging, gebaseer op Raspberry Pi

As u teleurstellende ervarings gehad het met goedkoop webcams, hul swak geskrewe sagteware en/of onvoldoende hardeware, kan u maklik 'n semi-professionele webcam bou met 'n Raspberry Pi en 'n paar ander elektroniese komponente waarop PiWebcam, 'n gratis en dummy, gebruik kan word. -bestande stuk sagteware wat met net een klik op u toestel draai in 'n kragtige en volledige webcam.

Stap 1: Inspirasie

Inspirasie
Inspirasie

Nadat ek geveg het teen die beperkte sagteware van die meeste van die goedkoop sekuriteitskameras op die mark (bv. Swak nagvisie, obskure app vir die opset, geen aflynopname, onakkurate bewegingsopsporing, ens.), Het ek besluit om iets self te bou en saam met Raspberry Pi het vir my die geskikste platform gelyk.

Selfs as daar al 'n groot aantal projekte bestaan om 'n Raspberry Pi as 'n webcam te gebruik, vind ek dit persoonlik te ingewikkeld en oor die algemeen meer ad-hoc-oplossings vir gevorderde gebruikers in plaas van eindige produkte.

Tog fokus die meeste van hulle slegs op die sagteware eerder as die hardeware, wat net so belangrik is vir die gebruik van die kamera.

Stap 2: Hardeware

Hardeware
Hardeware

Vir die bou van 'n binnenshuise webkamera werk 'n eenvoudige Raspberry Pi (enige model) en 'n aangehegte kamera (enige model) met IR -LED's vir nagvisie goed. Daar is reeds baie kits beskikbaar met hierdie kombinasie, so as dit is wat u wil bereik, koop een daarvan en gaan na stap 12.

Dieselfde hardeware sou egter nie geskik wees vir 'n buitekamera nie: die foto wat met die IR-bekwame Framboos-kamera buite u huis geneem is, lyk meestal pienk (as gevolg van die infrarooi lig wat deur die kamera vasgevang word) en met die klein buite-die -box IR LED's sou u niks meer as 1 meter kon sien nie.

Om die eerste probleem op te los, benodig ons 'n meganiese IR CUT -filter, wat u basies die regte kleure in die daglig gee, maar steeds die IR -ligte gedurende die nag kan opneem. Die meeste toestelle in die mark het twee drade: een kort polsslag op een draad sal die IR -filter voor die sensor beweeg (dagmodus), een kort polsslag op die ander draad sal die filter verwyder (nagmodus). Hulle werk gewoonlik tussen 3v en 9v en as ons aan ons Framboos gekoppel is, kan ons volle beheer hê oor wanneer ons die nagmodus moet skakel. Die IR Cut -filter kan egter nie direk vanaf 'n pen van die Framboos beheer word nie, aangesien die meganiese deel daarin baie meer stroom benodig as die een wat die Pi kan lewer. Ons werk daardeur deur 'n H-brug te gebruik, aangedryf deur die 5V van die Framboos en deur twee penne beheer word.

Om die tweede probleem aan te spreek, benodig ons 'n kragtiger IR LED -bord om 'n ordentlike nagvisie te kry. Plate met minder, maar groter LED's word verkies bo diegene met baie klein LED's. Die meeste borde in die mark het ook 'n LDR (Light Dependent Resistor) wat aangeheg word om te bepaal wanneer die LED's aanskakel as dit donker is. Hulle werk gewoonlik op 12v en het 'n klein prop (met die naam "IRC") wat gebruik kan word om 'n IR -snyfilter aan te sluit. Geen puls word egter direk deur hierdie prop gestuur nie, maar gedurende die nag (LED's aan) word 'n (gewoonlik) 5v spanningsval tussen beide die drade en die grond geskep. As ons een van die drade aan ons Framboos koppel en die sein van die pen monitor, kan ons bepaal of ons die nagmodus binnegaan of verlaat (dit is presies wat PiWebcam doen)

'N Laaste ding wat u moet oorweeg met betrekking tot die hardeware, is hoe u die Raspberry Pi kan aandryf. Aangesien ons 'n 12V -kragtoevoer het en ons 5v nodig het om die Pi te voed, is 'n spanningsreguleerder nodig.

Stap 3: sagteware

Sagteware
Sagteware

Die idee agter PiWebcam was om 'n kragtige beeldplatform vir almal te bied, ongeag sy/haar vorige kennis. 'N Installasie-script sorg vir die volledige konfigurasie van die stelsel met redelike standaardinstellings, sodat die gebruiker slegs 'n baie beperkte aantal relevante parameters kan aanpas deur 'n skoon en selfoonvriendelike webkoppelvlak. Danksy sy kragtige bewegingsopsporingsfunksie wat aangevul word met objekherkenningsfunksies wat deur 'n kunsmatige intelligensie-model aangedryf word, kan PiWebcam die gebruiker in kennis stel van enige bewegings wat opgespoor word deur 'n momentopname na 'n e-posontvanger te stuur of dit deur die gebruiker se gunsteling Slack-kanaal te plaas.

  • Projekbladsy:
  • Gebruikershandleiding:

Stap 4: Staatsbrief

Staatsbrief
Staatsbrief
Staatsbrief
Staatsbrief
Staatsbrief
Staatsbrief

Die volgende stuk materiaal is vir die buite -webcam wat in hierdie tutoriaal ingebou is:

  • Framboos Pi Zero W
  • Raspberry Pi -kamera (enige model, hierdie bevat 'n IR -snyfilter)
  • Raspberry Pi nul kamera kabel
  • Waterdigte kamerahuis (enige model waarin die framboos pas)
  • SD -kaart (16 GB aanbeveel)
  • IR Led Board (enige bord wat by die kamerahuis pas)
  • IR -snyfilter (slegs as dit nie reeds in die kamera ingebed is nie)
  • 12v - 5v reguleerder (verseker dat dit 'n bokreguleerder is wat uiteindelik 1A kan bied)
  • Mikro -USB manlike prop
  • 12v vroulike prop
  • 12v 3A kragtoevoer
  • H-brug
  • Vroulik-vroulik Dupont kalf

Stap 5: Berei die komponente voor

Berei die komponente voor
Berei die komponente voor
Berei die komponente voor
Berei die komponente voor
Berei die komponente voor
Berei die komponente voor

Die boksomskakelaar (spanningsreguleerder) is verantwoordelik vir die omskakeling van die 12v -kragtoevoer na die 5v wat die Raspberry Pi benodig. Die meeste komponente op die mark is verstelbaar (u kan byvoorbeeld die uitsetspanning verander deur 'n skroef te draai). Aangesien die skroef per ongeluk in die webkamera beweeg kan word, om 'n vaste en konstante 5v -uitset te verseker, sit 'n blikkie in die 5v -gleuf om die twee rande saam te soldeer en die draad op die printplaat (met 'n mes) af te sny wat in "ADJ" gaan (links bo op die foto)

Aangesien ons die volle beheer oor die IR Cut -filter deur die Framboos wil hê (of die filter soos in die prentjie by die kamera ingebed is), moet ons van die klein aansluiting ontslae raak. Sny die twee drade en verbind 'n vroulike dupont -kabel vir elke draad. Moenie die klein prop weggooi nie, want ons moet dit gebruik om die status van die LDR op die IR Led Board te ontvang. Koppel nog 'n vroulike dupont -kabel aan een van die twee drade (maak nie saak watter een nie).

Stap 6: Koppel aan die IR LED -bord aan die kragtoevoer

Koppel aan die IR Led Board aan die kragtoevoer
Koppel aan die IR Led Board aan die kragtoevoer
Koppel aan die IR Led Board aan die kragtoevoer
Koppel aan die IR Led Board aan die kragtoevoer
Koppel aan die IR Led Board aan die kragtoevoer
Koppel aan die IR Led Board aan die kragtoevoer

Kom ons begin deur die ingang van die 12V -kragtoevoer in ons kamerahuis aan te sluit op die komponente.

Verbind die volgende met die negatiewe (swart) draad:

  • Negatiewe draad van die IR Led -bord
  • Negatiewe draad van die boksomskakelaar
  • Negatiewe draad na die USB -manlike aansluiting

Verbind die volgende met die positiewe (rooi) draad:

  • Die positiewe (12v) draad van die IR Led -bord
  • Die Vin -draad van die boksomskakelaar

Stap 7: Skakel die Raspberry Pi aan

Skakel die Raspberry Pi aan
Skakel die Raspberry Pi aan
Skakel die Raspberry Pi aan
Skakel die Raspberry Pi aan

Koppel die Vout -draad van die boksomskakelaar aan die USB -aansluiting wat die Framboos aandryf.

Nadat u al die drade verbind het, moet u dit aanmekaar soldeer of dit net met 'n isolasieband vasmaak.

Stap 8: Koppel die IR Cut Filter aan

Koppel die IR -snyfilter aan
Koppel die IR -snyfilter aan
Koppel die IR -snyfilter aan
Koppel die IR -snyfilter aan
Koppel die IR -snyfilter aan
Koppel die IR -snyfilter aan

Aangesien die IR Cut-filter nie direk vanaf 'n pen van die Framboos beheer kan word nie, gebruik ons 'n H-brug wat aangedryf word deur die 5v-pen van die Framboos en deur twee penne beheer word.

  • Koppel pen 4 (5v) van die framboos aan "+" van die H-brug
  • Koppel pen 5 (GND) van die framboos aan "-" van die H-brug
  • Koppel pen 39 (BCM 20) van die framboos aan INT1 van die H-brug
  • Koppel pen 36 (BCM 16) van die framboos aan INT2 van die H-brug
  • Koppel die twee drade van die IR-snyfilter aan MOTOR1 en MOTOR2 of die H-brug

Op hierdie manier, wanneer 'n pols deur bv. pen 39, 5v sal aan MOTOR1 verskaf word sodat die filter kan skakel.

Stap 9: Koppel die IR Led Board aan die Framboos

Koppel die IR Led Board aan die Framboos
Koppel die IR Led Board aan die Framboos

Om te weet wanneer dit donker word, maak ons gebruik van die LDR wat op die IR LED's -bord aangebring is. Gebruik die klein propjie wat in die vorige stappe uit die IR -filter gesny is, verbind die een kant met die connector met die naam "IRC" van die IR LED's -bord en die ander aan pin 40 (BCM 21) van die Framboos.

Stap 10: Monteer die kamera op die IR Led Board

Monteer die kamera op die IR Led Board
Monteer die kamera op die IR Led Board
Monteer die kamera op die IR Led Board
Monteer die kamera op die IR Led Board

Bevestig die kamera op die spesiale slot van die IR LED's met 'n isolasieband of ander middele. Dinge om in hierdie stadium in ag te neem:

  • Die IR -LED's word baie warm as dit aan is, dus beskerm die kamera dienooreenkomstig;
  • Maak seker dat geen IR -lig die slot waar die kamera geleë is, kan binnedring nie; IR -ligweerkaatsing is een van die mees algemene redes waarom die nagvisie swak (vervaag) is;
  • Maak seker daar is 'n bietjie ruimte tussen die lens en die glas van die kamerahuis, anders kan refleksie of beeldvervorming plaasvind;

Moet nog nie die kamerahuis toemaak nie:-)

Stap 11: Opsie 1 - Flits 'n vooraf gekonfigureerde PiWebcam -prent (aanbeveel)

Opsie 1 - Flits 'n vooraf gekonfigureerde PiWebcam -prent (aanbeveel)
Opsie 1 - Flits 'n vooraf gekonfigureerde PiWebcam -prent (aanbeveel)
  • Laai die nuutste PiWebcam -beeld (PiWebcam_vX. X.img.zip) af van
  • Pak die lêer uit Skryf die prent op 'n SD-kaart (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Koppel die SD -kaart op u Raspberry Pi en skakel dit aan
  • Die toestel begin as 'n toegangspunt optree
  • Gaan voort met die na-installasie take

Stap 12: Opsie 2 - Bou 'n PiWebcam -prent

Opsie 2 - Bou 'n PiWebcam -prent
Opsie 2 - Bou 'n PiWebcam -prent

Om 'n PiWebcam -beeld te bou, benodig 'n nuwe installering van Raspbian en 'n SD -kaart. Moenie 'n bestaande installasie hergebruik nie, maar begin van nuuts af:

  • Laai die Raspbian Stretch Lite -bedryfstelsel af
  • Skryf die prent op 'n SD -kaart (byvoorbeeld met behulp van Win32 Disk Imager)

Stap 13: Opsie 2 - Kopieer PiWebcam na die SD -kaart

Opsie 2 - Kopieer PiWebcam na die SD -kaart
Opsie 2 - Kopieer PiWebcam na die SD -kaart
Opsie 2 - Kopieer PiWebcam na die SD -kaart
Opsie 2 - Kopieer PiWebcam na die SD -kaart
Opsie 2 - Kopieer PiWebcam na die SD -kaart
Opsie 2 - Kopieer PiWebcam na die SD -kaart

Laai die nuutste weergawe van PiWebcam (PiWebcam_vX. X.zip) af, haal die kopie "PiWebcam" na die opstartpartisie.

Vir 'n koplose opstelling, plaas in die opstartpartisie ook 'n leë lêer met die naam "ssh" en 'wpa_supplicant.conf' met u netwerkopstelling. Op hierdie manier sal die Framboos by die aanvang van die verbinding met u WiFi -netwerk begin, en u benodig glad nie die HDMI -kabel nie, maar kan direk via SSH daaraan koppel.

Stap 14: Opsie 2 - Skakel die framboos aan en maak daarby verbinding

Opsie 2 - Skakel die framboos aan en maak daarby verbinding
Opsie 2 - Skakel die framboos aan en maak daarby verbinding
Opsie 2 - Skakel die framboos aan en maak daarby verbinding
Opsie 2 - Skakel die framboos aan en maak daarby verbinding

Koppel die SD -kaart op u Raspberry Pi, skakel dit aan en maak 'n verbinding met 'n SSH -kliënt (of PuTTY op Windows):

  • Gasheernaam: raspberrypi.local
  • Gebruikersnaam: pi
  • Wagwoord: framboos

Stap 15: Opsie 2 - Stel die stelsel vir PiWebcam op

Opsie 2 - Stel die stelsel vir PiWebcam op
Opsie 2 - Stel die stelsel vir PiWebcam op
Opsie 2 - Stel die stelsel vir PiWebcam op
Opsie 2 - Stel die stelsel vir PiWebcam op

Nadat u seker gemaak het dat die framboos aan die internet gekoppel is, voer die volgende opdrag uit:

sudo /boot/PiWebcam/PiWebcam.sh installeer

Dit sal die stelsel volledig konfigureer en die vereiste afhanklikes installeer.

Aan die einde van die installasie word u versoek om die toestel te herlaai om die veranderinge volledig effektief te maak.

Let daarop dat die laaste 6 karakters ewekansig is (bv. PiWebcam-e533fe) en wissel van toestel tot toestel.

Stap 16: Na -installasie -take - Koppel aan PiWebcam se WiFi -toegangspunt

Na -installasie take - Koppel aan PiWebcam se WiFi -toegangspunt
Na -installasie take - Koppel aan PiWebcam se WiFi -toegangspunt
Na -installasie take - Koppel aan PiWebcam se WiFi -toegangspunt
Na -installasie take - Koppel aan PiWebcam se WiFi -toegangspunt

Sodra dit aangeskakel is, begin die toestel as 'n toegangspunt.

Koppel aan die WiFi -netwerk wat deur die toestel geskep is. Die wagwoordfrase van die netwerk sowel as die wagwoord van die admin-gebruiker (vir beide die webkoppelvlak en SSH) is dieselfde as die SSID (bv. PiWebcam-XXXXX). Wys u blaaier na https://PiWebcam.local en word geverifieer met die gebruikersnaam "admin" en met die wagwoord dieselfde as die naam van die netwerk.

Stap 17: Koppel die webkamera aan u WiFi -netwerk

Koppel die webkamera aan u WiFi -netwerk
Koppel die webkamera aan u WiFi -netwerk
Koppel die webkamera aan u WiFi -netwerk
Koppel die webkamera aan u WiFi -netwerk

As u die webkamera wil verbind met 'n bestaande WiFi -netwerk, gaan na Apparaat / netwerk, kies 'WiFi -kliënt' en vul u 'WiFi -netwerk' en 'Wagwoordfrase' in.

Wag 1-2 minute, skakel terug na u netwerk en wys u blaaier op https://camera_name.your_network (bv. Http: //PiWebcam-e533fe.local)

Stap 18: Maak die webcam -omhulsel toe

Maak die Webcam Case toe
Maak die Webcam Case toe
Maak die Webcam Case toe
Maak die Webcam Case toe

Sodra dit getoets is dat die webcam deur die netwerk bereik kan word en die basiese konfigurasie wat in die vorige stap aangebied is, uitgevoer is, is dit nou tyd om die saak te sluit.

Stap 19: Aan die gang met PiWebcam

Aan die gang met PiWebcam
Aan die gang met PiWebcam
Aan die gang met PiWebcam
Aan die gang met PiWebcam
Aan die gang met PiWebcam
Aan die gang met PiWebcam
Aan die gang met PiWebcam
Aan die gang met PiWebcam

PiWebcam het reeds redelike standaardinstellings. Nadat dit geïnstalleer is, is geen bykomende konfigurasie nodig nie; PiWebcam begin foto's neem en video's opneem, ongeag of dit aan die netwerk gekoppel is of nie.

Die hele toestelkonfigurasie (kamera, netwerk, kennisgewing en stelselinstellings) kan via die webkoppelvlak uitgevoer word. Die konfigurasielêer kan maklik uitgevoer en ingevoer word onder toestel / stelsel.

As 'n beweging opgespoor word, sal PiWebcam 'n video begin opneem (wat dan beskikbaar gestel sal word via die 'Playback' menu van die webkoppelvlak). As daar nie meer beweging is nie, word 'n prentjie wat die gemerkte beweging met 'n rooi blokkie beklemtoon, ook gestoor. As die objekopsporingsfunksie geaktiveer is, sal enige beweging wat nie die gekonfigureerde voorwerp bevat nie, geïgnoreer word om vals positiewe te verminder (byvoorbeeld as 'n beweging opgespoor word, maar geen persoon word geïdentifiseer nie).

As kennisgewings geaktiveer is, word die momentopname na die gebruiker se e-posadres gestuur en/of op die gekonfigureerde Slack-kanaal geplaas. As 'n internetverbinding nie beskikbaar is nie, word die kennisgewing in die ry geplaas en vrygestel wanneer die verbinding daarna herstel word.

'N Gedetailleerde opsomming van al die beskikbare instellings word op die projekbladsy gerapporteer.

Stap 20: Internettoegang op afstand

Toegang tot die internet
Toegang tot die internet

U kan ook die webkoppelvlak vanaf die internet bereik sonder enige bykomende konfigurasie in u netwerk of tuisrouter. Om hierdie funksie moontlik te maak, merk die toepaslike blokkie onder Toestel / netwerk.

As afstandstoegang tot die internet geaktiveer is, begin die toestel 'n SSH -tonnel deur servo.net, sonder om 'n NAT of UPnP in u router op te stel. Die toestelnaam word as gasheernaam gebruik en beide die web- en ssh -dienste word blootgestel.

Stap 21: Tegniese besonderhede

Alle PiWebcam -lêers lê in die opstartpartisie van die SD -kaart, in 'n gids genaamd PiWebcam. Dit bevat 'n enkele bash -lêer, PiWebcam.sh en die PHP -bladsye vir die administrasiepaneel.

Tydens die installasieproses word 'n baie basiese stelselkonfigurasie uitgevoer, 'n initramfs -beeld geskep en die PiWebcam.sh -script word bygevoeg /etc/rc.local om dit met die parameter 'configure' te begin.

By die eerste herlaai sal die initramfs -beeld die wortelpartisie krimp (voorheen uitgebrei om die hele SD -kaart deur die Raspbian -installeerder te vul) en net daarna 'n datapartisie skep.

Beide die opstart- en wortellêerstelsels is slegs-lees-gemonteer en 'n oorlêerstelsel word deur die initram-beeld op die wortellêerstelsel geskep, sodat enige verandering aan die stelsel slegs in die geheue gestoor word en verlore raak by die volgende herlaai. Op hierdie manier is die toestel robuuster vir verkeerde konfigurasies, kan dit maklik herstel word na fabrieksinstellings en kan dit enige kragonderbreking oorleef, aangesien geen stelsellêer ooit tydens normale werking na die SD -kaart geskryf is nie. Die datalêerstelsel is in plaas daarvan geformateer met F2FS (Flash-Friendly File System) wat die eienskappe van geheue-gebaseerde geheue-toestelle in ag neem.

Tydens die opstart lees PiWebcam die konfigurasielêer wat op /boot/PiWebcam/PiWebcam.conf gestoor is, stel die stelsel, die kamera, die netwerk en die kennisgewings op, gebaseer op die instellings wat daar gevind word en implementeer die webkoppelvlak van/boot/PiWebcam/web in die web wortel ligging.

Beide rolprente en films word in die datalêerstelsel gestoor en volgens jaar/maand/dag/uur in dopgehou gegroepeer om makliker toegang te verkry. Al die opnames kan deur die webkoppelvlak hersien word met h5ai, 'n moderne lêerindekser, waarmee lêers en gidse op 'n aantreklike manier vertoon kan word en voor- en afbeeldings van video en video kan verskyn sonder dat u die inhoud vooraf hoef af te laai.

As 'n beweging opgespoor word, word PiWebcam.sh aangeroep met die 'notify' parameter deur die gebeurtenis van die on_picture_save/on_movie_end. As voorwerpopsporing geaktiveer is om die beeld verder te ontleed, word die prent na Clarifai gestuur om al die voorwerpe in die beeld te herken. Dit sal wonderlik wees om vals positiewe dinge te verlaag, bv. as u belangstel om te weet of daar iemand in u huis steel en nie net 'n skielike ligverandering nie.

Daarna moet PiWebcam kyk of daar 'n internetverbinding beskikbaar is, en indien wel, stuur u die kennisgewing uit. Benewens die tradisionele e-poskennisgewings wat met ssmtp gestuur word, met die gedetecteerde rolprent aangeheg, kan PiWebcam ook dieselfde foto na 'n Slack-kanaal oplaai. As jy nie Slack ken nie, kyk gerus (); Dit is 'n wonderlike samewerkingsinstrument, maar kan ook gebruik word om 'n groep vir u gesin op te stel, toegang tot u gesinslede te verleen, met hulle te gesels en PiWebcam- of Home Automation -hulpprogramme (soos bv. eGeoffrey) toe te laat om opdaterings daar te plaas. As daar geen internetverbinding is nie, gaan die kennisgewing nie verlore nie, maar dit word in die ry geplaas en uitgestuur wanneer die verbinding herstel is.

'N Opgraderingsfunksie word ook via die webkoppelvlak verskaf.

Aanbeveel: