Indholdsfortegnelse:

Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi: 21 trin
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi: 21 trin

Video: Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi: 21 trin

Video: Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi: 21 trin
Video: Lav dit eget overvågningskamera... Overvågningskameraer, del 3 2024, Juli
Anonim
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi
Fuldt udstyret udendørs sikkerhedskamera baseret på Raspberry Pi

Hvis du havde skuffende oplevelser med billige webkameraer, deres dårligt skrevne software og/eller utilstrækkelig hardware, kan du nemt bygge et semi-professionelt webcam med en Raspberry Pi og et par andre elektroniske komponenter, der let er at finde på, hvor der kører PiWebcam, en gratis og dummy -sikkert stykke software, der drejer med et enkelt klik på din enhed i et kraftfuldt og fuldt udstyret webcam.

Trin 1: Inspiration

Inspiration
Inspiration

Efter at have kæmpet mod den begrænsede software for de fleste af de billige sikkerhedskameraer på markedet (f.eks. Dårligt nattesyn, uklar app til konfigurationen, ingen offline -optagelse, unøjagtig bevægelsesdetektering osv.), Besluttede jeg at bygge noget af mig selv og Raspberry Pi så for mig den mest passende platform.

Selvom der allerede er omkring et stort antal projekter til brug af en Raspberry Pi som webcam, finder jeg dem personligt for komplekse og generelt set mere ad-hoc-løsninger til avancerede brugere frem for endelige produkter.

Ikke desto mindre fokuserer de fleste af dem kun på softwaren frem for hardware, hvilket er lige så vigtigt for sikkerhedskameraets brugstilfælde.

Trin 2: Hardware

Hardware
Hardware

Til opbygning af et indendørs webcam ville en simpel Raspberry Pi (enhver model) og et vedhæftet kamera (enhver model) med IR -LED'er til nattesyn fungere fint. Der er allerede masser af kits til rådighed med denne kombination, så hvis det er det, du vil opnå, skal du købe et af dem og springe til trin 12.

Den samme hardware ville dog ikke passe til et udendørs kamera: billedet taget fra det IR-kompatible hindbærkamera uden for dit hus ville for det meste se lyserødt ud (på grund af at det infrarøde lys blev fanget af kameraet) og med den lille out-of-the -box IR -lysdioder, ville du ikke kunne se noget over 1 meter.

For at løse det første problem har vi brug for noget, der kaldes mekanisk IR CUT -filter, som dybest set giver dig de sande farver tilbage i dagslys, men stadig giver mulighed for at fange IR -lysene i løbet af natten. De fleste enheder på markedet har to ledninger: en kort puls på en ledning vil flytte IR -filteret foran sensoren (dagtilstand), en kort puls på den anden ledning vil fjerne filteret (nattilstand). De fungerer normalt mellem 3v og 9v, og hvis de er tilsluttet vores hindbær, kan vi have fuld kontrol over, hvornår vi skal skifte nattilstand. IR Cut -filteret kan dog ikke styres direkte fra en pin af hindbæret, da den mekaniske del inde i det kræver meget mere strøm end den, Pi kan levere. Vi vil omgå det ved at bruge en H-bro drevet af hindbærets 5v og styret af to ben.

For at løse det andet problem ville vi have brug for et mere kraftfuldt IR LED -kort for at opnå et anstændigt nattesyn. Tavler med færre, men større lysdioder foretrækkes frem for dem med mange små lysdioder. De fleste tavler på markedet har også en LDR (Light Dependent Resistor), der bruges til at bestemme, hvornår LED'erne skal tændes, hvis de er mørke. De fungerer normalt ved 12v og har et lille stik (mærket "IRC"), der kan bruges til at tilslutte et IR -skåret filter. Imidlertid sendes der ingen puls direkte gennem dette stik, men i løbet af natten (lysdioder tændt) dannes der et (normalt) 5v spændingsfald mellem både ledninger og jord. Hvis vi tilslutter en af ledningerne til vores hindbær og overvåger pin -signalet, kan vi afgøre, om vi går ind i eller forlader nattilstand (hvilket er præcis, hvad PiWebcam gør)

En sidste ting at overveje vedrørende hardwaren er, hvordan man driver Raspberry Pi. Da vi har en 12v strømforsyning, og vi har brug for 5v til at fodre Pi, er en spændingsregulator nødvendig.

Trin 3: Software

Software
Software

Ideen bag PiWebcam var at levere en kraftfuld billedplatform til alle, uanset hans/hendes tidligere viden. Et installationsskript sørger for fuldt ud at konfigurere systemet med rimelige standardindstillinger, så brugeren kun kan tilpasse via en ren og mobilvenlig webgrænseflade kun et meget begrænset antal relevante parametre. Ikke desto mindre kan PiWebcam takket være dens kraftfulde bevægelsesdetekteringsfunktion forstærket af objektergenkendelsesfunktioner drevet af en kunstig intelligensmodel, give brugeren besked om enhver registreret bevægelse ved at sende et øjebliksbillede til en e-mail-modtager eller ved at sende den brugerens foretrukne Slack-kanal.

  • Projektside:
  • Brugermanual:

Trin 4: Bill of Materials

Materialeseddel
Materialeseddel
Materialeseddel
Materialeseddel
Materialeseddel
Materialeseddel

Følgende materialeseddel er til det udendørs webcam, der er bygget i denne vejledning:

  • Raspberry Pi Zero W
  • Raspberry Pi -kamera (enhver model, denne indeholder et IR -filter)
  • Raspberry Pi Zero kamerakabel
  • Vandtæt kamerahus (enhver model, som hindbær passer til)
  • SD -kort (16 GB anbefales)
  • IR Led Board (ethvert kort, der passer til kamerahuset)
  • IR Cut -filter (kun hvis det ikke allerede er integreret i kameraet)
  • 12v - 5v regulator (sørg for at det er en bukkregulator, der endelig kan levere 1A)
  • Micro USB -hanstik
  • 12v hunstik
  • 12v 3A strømforsyning
  • H-bro
  • Kvinde-Kvinde Dupont-kaler

Trin 5: Klargøring af komponenterne

Klargøring af komponenterne
Klargøring af komponenterne
Klargøring af komponenterne
Klargøring af komponenterne
Klargøring af komponenterne
Klargøring af komponenterne

Buck -omformeren (spændingsregulatoren) er ansvarlig for at konvertere 12v -strømforsyningen til den 5v, Raspberry Pi kræver. De fleste komponenter på markedet er justerbare (f.eks. Kan du ændre udgangsspændingen ved at dreje en skrue). Da inde i webkameraet skruen ved et uheld kunne blive flyttet, for at sikre en fast og konstant 5v output, kom lidt tin i 5v åbningen for at lodde de to kanter sammen og skære tråden på printet (med en kniv), der går ind i "ADJ" (øverst til venstre på billedet)

Da vi ønsker at have fuld kontrol over IR Cut -filteret gennem hindbæret (uanset om filteret er integreret i kameraet som på billedet eller ej), skal vi af med det lille stik. Klip de to ledninger og tilslut et hun -dupont -kabel til hver ledning. Smid ikke det lille stik, da vi skal bruge det til at modtage status for LDR monteret på IR Led Board. Tilslut endnu et hun -dupont -kabel på en af de to ledninger (er ligegyldigt hvilken).

Trin 6: Tilslut til IR Led Board til strømforsyningen

Tilslut til IR Led Board til strømforsyningen
Tilslut til IR Led Board til strømforsyningen
Tilslut til IR Led Board til strømforsyningen
Tilslut til IR Led Board til strømforsyningen
Tilslut til IR Led Board til strømforsyningen
Tilslut til IR Led Board til strømforsyningen

Lad os starte med at tilslutte 12v strømforsyningsindgangen til vores bare kamerahus til komponenterne.

Tilslut følgende til den negative (sorte) ledning:

  • Negativ ledning af IR Led -kortet
  • Negativ ledning af bukkomformeren
  • Negativ ledning til USB -hanstikket

Tilslut følgende til den positive (røde) ledning:

  • Den positive (12v) ledning på IR Led -kortet
  • Vin -ledningen i bukkomformeren

Trin 7: Tænd for Raspberry Pi

Tænd for Raspberry Pi
Tænd for Raspberry Pi
Tænd for Raspberry Pi
Tænd for Raspberry Pi

Tilslut Vout -kablet til buck -konverteren til USB -stikket, der driver Raspberry.

Efter tilslutning af alle ledninger skal du lodde dem sammen eller bare stramme dem med isoleringstape.

Trin 8: Tilslut IR Cut Filter

Tilslut IR Cut Filter
Tilslut IR Cut Filter
Tilslut IR Cut Filter
Tilslut IR Cut Filter
Tilslut IR Cut Filter
Tilslut IR Cut Filter

Da IR Cut-filteret ikke kan styres direkte fra en pin af Raspberry, vil vi bruge en H-Bridge drevet af Raspberry's 5v pin og styret af to pins.

  • Tilslut pin 4 (5v) på hindbæret til "+" på H-broen
  • Tilslut pin 5 (GND) af hindbæret til "-" på H-broen
  • Tilslut pin 39 (BCM 20) af hindbæret til INT1 på H-broen
  • Tilslut pin 36 (BCM 16) på hindbæret til INT2 på H-broen
  • Tilslut de to ledninger i IR Cut Filter til MOTOR1 og MOTOR2 eller H-Bridge

På denne måde, når der sendes en puls gennem f.eks. pin 39, 5v vil blive leveret til MOTOR1, hvilket får filteret til at skifte.

Trin 9: Tilslut IR Led Board til Raspberry

Tilslut IR Led Board til hindbæret
Tilslut IR Led Board til hindbæret

For at vide, hvornår det er ved at blive mørkt, udnytter vi LDR monteret på IR LED -kortet. Brug det lille stik, der er skåret ud af IR -filteret i de foregående trin, tilslut den ene side til stikket mærket "IRC" på IR LED -kortet og den anden til pin 40 (BCM 21) på hindbæret.

Trin 10: Monter kameraet på IR Led Board

Monter kameraet på IR Led Board
Monter kameraet på IR Led Board
Monter kameraet på IR Led Board
Monter kameraet på IR Led Board

Fastgør kameraet på den dedikerede slot på IR LED -kortet med et isolerende tape eller andre midler. Ting at tage i betragtning på dette stadium:

  • IR LED -kortet bliver meget varmt, når det er tændt, så beskytt kameraet i overensstemmelse hermed;
  • Sørg for, at der ikke kan komme noget IR -lys ind i den slot, hvor kameraet er placeret; IR -lysrefleksion er en af de mest almindelige årsager til, at nattesynet er dårligt (sløret);
  • Sørg for, at der er plads mellem objektivet og kameraets glas, ellers kan refleksion eller billedforvrængning finde sted.

Luk IKKE kamerahuset endnu:-)

Trin 11: Mulighed 1 - Blink et forudkonfigureret PiWebcam -billede (anbefales)

Mulighed 1 - Flash et forudkonfigureret PiWebcam -billede (anbefales)
Mulighed 1 - Flash et forudkonfigureret PiWebcam -billede (anbefales)
  • Download det nyeste PiWebcam -billede (PiWebcam_vX. X.img.zip) fra
  • Pak filen ud Skriv billedet til et SD-kort (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Tilslut SD -kortet på din Raspberry Pi og tænd det
  • Enheden begynder at fungere som et adgangspunkt
  • Fortsæt med opgaverne efter installationen

Trin 12: Mulighed 2 - Byg et PiWebcam -billede

Mulighed 2 - Byg et PiWebcam -billede
Mulighed 2 - Byg et PiWebcam -billede

Opbygning af et PiWebcam -billede kræver en ny installation af Raspbian og et SD -kort. Brug ikke en eksisterende installation igen, men start forfra:

  • Download operativsystemet Raspbian Stretch Lite
  • Skriv billedet til et SD -kort (f.eks. Ved hjælp af Win32 Disk Imager)

Trin 13: Mulighed 2 - Kopier PiWebcam til SD -kortet

Mulighed 2 - Kopier PiWebcam til SD -kortet
Mulighed 2 - Kopier PiWebcam til SD -kortet
Mulighed 2 - Kopier PiWebcam til SD -kortet
Mulighed 2 - Kopier PiWebcam til SD -kortet
Mulighed 2 - Kopier PiWebcam til SD -kortet
Mulighed 2 - Kopier PiWebcam til SD -kortet

Download den seneste version af PiWebcam (PiWebcam_vX. X.zip), udtræk og kopier "PiWebcam" -mappen til bootpartitionen.

For en hovedløs opsætning placeres også i bootpartitionen en tom fil kaldet "ssh" og en "wpa_supplicant.conf" med din netværkskonfiguration. På denne måde begynder hindbæret at oprette forbindelse til dit WiFi -netværk ved opstart, og du behøver slet ikke HDMI -kablet, men kan tilslutte det direkte via SSH til det.

Trin 14: Mulighed 2 - Tænd hindbæret og tilslut det

Mulighed 2 - Tænd hindbæret og tilslut det
Mulighed 2 - Tænd hindbæret og tilslut det
Mulighed 2 - Tænd hindbæret og tilslut det
Mulighed 2 - Tænd hindbæret og tilslut det

Tilslut SD -kortet på din Raspberry Pi, tænd for det, og tilslut det til en SSH -klient (eller PuTTY på Windows):

  • Værtsnavn: raspberrypi.local
  • Brugernavn: pi
  • Adgangskode: hindbær

Trin 15: Mulighed 2 - Konfigurer systemet til PiWebcam

Mulighed 2 - Konfigurer systemet til PiWebcam
Mulighed 2 - Konfigurer systemet til PiWebcam
Mulighed 2 - Konfigurer systemet til PiWebcam
Mulighed 2 - Konfigurer systemet til PiWebcam

Efter at have sikret Raspberry er forbundet til internettet, kør følgende kommando:

sudo /boot/PiWebcam/PiWebcam.sh installere

Dette vil fuldt ud konfigurere systemet og installere de nødvendige afhængigheder.

I slutningen af installationen bliver du bedt om at genstarte enheden for at gøre ændringerne fuldt ud effektive. Alle legitimationsoplysninger vil blive opsummeret på skærmen.

Bemærk, at de sidste 6 tegn er tilfældige (f.eks. PiWebcam-e533fe) og varierer fra enhed til enhed.

Trin 16: Opgaver efter installationen - Opret forbindelse til PiWebcam's WiFi Access Point

Opgaver efter installationen - Opret forbindelse til PiWebcam's WiFi Access Point
Opgaver efter installationen - Opret forbindelse til PiWebcam's WiFi Access Point
Opgaver efter installationen - Opret forbindelse til PiWebcam's WiFi Access Point
Opgaver efter installationen - Opret forbindelse til PiWebcam's WiFi Access Point

Når den er tændt, begynder enheden at fungere som et adgangspunkt.

Opret forbindelse til WiFi -netværket, der er oprettet af enheden. Netværkets adgangssætning samt adgangskoden til adminbrugeren (for både webgrænsefladen og SSH) er den samme som SSID (f.eks. PiWebcam-XXXXX). Ret din browser til https://PiWebcam.local og godkendt med brugernavn "admin" og med adgangskode det samme som navnet på netværket.

Trin 17: Tilslut webkameraet til dit WiFi -netværk

Tilslut webkameraet til dit WiFi -netværk
Tilslut webkameraet til dit WiFi -netværk
Tilslut webkameraet til dit WiFi -netværk
Tilslut webkameraet til dit WiFi -netværk

Hvis du vil tilslutte webkameraet til et eksisterende WiFi -netværk, skal du gå til Enhed / netværk, vælge "WiFi -klient" og udfylde dit "WiFi -netværk" og "Adgangssætning".

Vent i 1-2 minutter, opret forbindelse igen til dit netværk og peg din browser på https://camera_name.your_network (f.eks. Http: //PiWebcam-e533fe.local)

Trin 18: Luk webkameraet

Luk webkameraet
Luk webkameraet
Luk webkameraet
Luk webkameraet

Når det er testet, at webkameraet kan nås via netværket og udfører den grundlæggende konfiguration, der blev præsenteret i det foregående trin, er det nu tid til at lukke sagen.

Trin 19: Kom godt i gang med PiWebcam

Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam
Kom godt i gang med PiWebcam

PiWebcam leveres allerede med rimelige standardindstillinger. Når den er installeret, kræves ingen yderligere konfiguration; PiWebcam vil begynde at tage snapshots og optage videoer, uanset om det er forbundet til netværket eller ej.

Hele enhedskonfigurationen (kamera, netværk, meddelelse og systemindstillinger) kan udføres via webgrænsefladen. Konfigurationsfilen kan let eksporteres og importeres under enhed / system.

Når der registreres en bevægelse, begynder PiWebcam at optage en video (som derefter gøres tilgængelig via menuen "Afspilning" i webgrænsefladen). Når der ikke er mere bevægelse, gemmes et billede, der fremhæver med en rød boks også den registrerede bevægelse. Hvis objektdetekteringsfunktionen er aktiveret, ignoreres enhver bevægelse, der ikke indeholder det konfigurerede objekt, for at reducere falske positiver (f.eks. Hvis en bevægelse registreres, men ingen person identificeres).

Når meddelelser er aktiveret, sendes snapshotet til brugerens e-mail-adresse og/eller offentliggøres på den konfigurerede Slack-kanal. Hvis en internetforbindelse ikke er tilgængelig, vil meddelelsen stå i kø og frigives, når forbindelsen næste gang gendannes.

En detaljeret oversigt over alle tilgængelige indstillinger er rapporteret på projektsiden.

Trin 20: Fjernadgang til internettet

Fjernadgang til internettet
Fjernadgang til internettet

Webgrænsefladen kan valgfrit nås fra Internettet uden yderligere konfiguration i dit netværk eller hjemme -router. For at aktivere denne funktionalitet skal du markere det relevante felt under Enhed / netværk.

Hvis ekstern internetadgang er aktiveret, starter enheden en SSH -tunnel via servo.net uden at skulle konfigurere nogen NAT eller UPnP i din router. Enhedsnavnet bruges som værtsnavn, og både web- og ssh -tjenester afsløres.

Trin 21: Tekniske detaljer

Alle PiWebcam -filer ligger i boot -partitionen på SD -kortet i en mappe kaldet PiWebcam. Dette inkluderer en enkelt bash -fil, PiWebcam.sh og PHP -siderne til adminpanelet.

Under installationsprocessen udføres en meget grundlæggende systemkonfiguration, der oprettes et initramfs -billede, og PiWebcam.sh -scriptet tilføjes til /etc/rc.local for at blive udført ved opstart med parameteren "configure".

Ved den første genstart vil initramfs -billedet krympe rodpartitionen (tidligere udvidet til at fylde hele SD -kortet af Raspbian -installationsprogrammet) og oprette en datapartition lige efter.

Både boot- og rodfilsystemerne er monteret skrivebeskyttet, og et overlay-filsystem oprettes af initram-billedet på rodfilsystemet, så enhver ændring af systemet kun gemmes i hukommelsen og går tabt ved den næste genstart. På denne måde vil enheden være mere robust over for fejlkonfigurationer, kan let gendannes til fabriksindstillinger og kan overleve enhver strømafbrydelse, da der aldrig er skrevet en systemfil til SD -kortet under normale operationer. Datafilsystemet er i stedet formateret med F2FS (Flash-Friendly File System), som tager højde for egenskaberne ved flash-hukommelsesbaserede lagerenheder.

Under opstart læser PiWebcam sin konfigurationsfil, der er gemt på /boot/PiWebcam/PiWebcam.conf, konfigurerer systemet, kameraet, netværket og meddelelserne baseret på de indstillinger, der findes der, og implementerer webgrænsefladen fra/boot/PiWebcam/web til webrotplaceringen.

Både film og film gemmes i datafilsystemet og grupperes i mapper efter år/måned/dag/time, så der er lettere adgang. Alle optagelserne kan gennemgås via webgrænsefladen med h5ai, en moderne filindekser, der tillader filer og mapper at blive vist på en tiltalende måde og giver forhåndsvisning af billeder og videoer uden at skulle downloade indholdet på forhånd.

Når en bevægelse registreres, påberåbes PiWebcam.sh med parameteren "underret" gennem on_picture_save/on_movie_end motionens begivenhed. Hvis objektdetektering er aktiveret til yderligere analyse af billedet, sendes billedet til Clarifai for at genkende alle objekterne i billedet. Dette ville fungere fantastisk til at sænke falske positiver f.eks. hvis du er interesseret i at vide, om der er nogen, der stjæler i dit hus og ikke bare en pludselig lysændring.

Derefter kontrollerer PiWebcam, om der er en internetforbindelse, og sender i givet fald meddelelsen. Ud over traditionelle e-mail-meddelelser, sendt ud med ssmtp, med det registrerede film vedhæftet, kan PiWebcam også uploade det samme billede til en Slack-kanal. Hvis du ikke kender Slack, kan du tjekke det (); det er et fantastisk samarbejdsværktøj, men kan også bruges til at oprette en gruppe dedikeret til din familie, give adgang til dine familiemedlemmer, chatte med dem og give PiWebcam eller Home Automation -hjælpeprogrammer (f.eks. eGeoffrey) mulighed for at sende opdateringer derovre. Hvis der ikke er en internetforbindelse, går meddelelsen ikke tabt, men den står i kø og sendes ud, når forbindelsen er gendannet.

En opgraderingsfunktion leveres også via webgrænsefladen.

Anbefalede: