Innholdsfortegnelse:

Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi: 21 trinn
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi: 21 trinn

Video: Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi: 21 trinn

Video: Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi: 21 trinn
Video: Fordeler med utendørs HD-overvåkningskamera 2024, Juli
Anonim
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi
Fullt utstyrt utendørs sikkerhetskamera basert på Raspberry Pi

Hvis du hadde skuffende erfaringer med billige webkameraer, deres dårlig skrevet programvare og/eller utilstrekkelig maskinvare, kan du enkelt bygge et semi-profesjonelt webkamera med en Raspberry Pi og noen andre elektroniske komponenter som er lett å finne på som kjører PiWebcam, en gratis og dummy -sikkert programvare som bare slår på enheten din i et kraftig og fullt utstyrt webkamera.

Trinn 1: Inspirasjon

Inspirasjon
Inspirasjon

Etter å ha kjempet mot den begrensede programvaren til de fleste billige sikkerhetskameraene på markedet (f.eks. Dårlig nattsyn, uklar app for konfigurasjonen, ingen offlineopptak, unøyaktig bevegelsesdeteksjon, etc.) bestemte jeg meg for å bygge noe selv og Raspberry Pi så for meg den mest passende plattformen.

Selv om det allerede finnes et stort antall prosjekter for bruk av en Raspberry Pi som et webkamera, synes jeg dem personlig er for komplekse og generelt sett mer ad-hoc-løsninger for avanserte brukere i stedet for endelige produkter.

Likevel fokuserer de fleste bare på programvaren i stedet for maskinvaren, noe som er like viktig for brukskameraet for sikkerhetskameraer.

Trinn 2: Maskinvare

Maskinvare
Maskinvare

For å bygge et innendørs webkamera ville en enkel Raspberry Pi (hvilken som helst modell) og et vedlagt kamera (hvilken som helst modell) med IR -lysdioder for nattesyn fungere helt fint. Det er allerede mange sett tilgjengelig med denne kombinasjonen, så hvis dette er det du vil oppnå, kjøp et av dem og gå til trinn 12.

Den samme maskinvaren ville imidlertid ikke passe for et utendørs kamera: bildet tatt fra det IR-kompatible bringebærkameraet utenfor huset ditt ville for det meste se rosa ut (på grunn av at det infrarøde lyset ble fanget av kameraet) og med det lille out-of-the -box IR -lysdioder vil du ikke kunne se noe over 1 meter.

For å løse det første problemet trenger vi noe som kalles mekanisk IR CUT -filter, som i utgangspunktet gir deg de sanne fargene tilbake i dagslys, men som fortsatt lar deg fange IR -lysene i løpet av natten. De fleste enhetene på markedet har to ledninger: en kort puls på en ledning vil flytte IR -filteret foran sensoren (dagmodus), en kort puls på den andre ledningen vil fjerne filteret (nattmodus). De fungerer vanligvis mellom 3v og 9v, og hvis de er festet til bringebæret vårt, kan vi ha full kontroll over når vi skal bytte nattmodus. Imidlertid kan IR Cut -filteret ikke styres direkte fra en pin av Raspberry siden den mekaniske delen inne i det krever mye mer strøm enn den Pi kan levere. Vi vil omgå det ved å bruke en H-bro drevet av bringebærets 5v og kontrollert av to pinner.

For å løse det andre problemet, trenger vi et kraftigere IR -LED -kort for å oppnå et anstendig nattsyn. Brett med færre, men større lysdioder foretrekkes fremfor de med mange små lysdioder. De fleste tavlene på markedet har også en LDR (Light Dependent Resistor) festet som brukes til å bestemme når lysdiodene skal slås på hvis de er mørke. De fungerer vanligvis på 12v og har en liten plugg (merket "IRC") som kan brukes til å koble til et IR -kuttfilter. Imidlertid sendes ingen puls direkte gjennom denne pluggen, men i løpet av natten (lysdioder på) dannes et (vanligvis) 5v spenningsfall mellom både ledninger og jord. Hvis du fester en av ledningene til bringebæret vårt og overvåker signalet til pinnen, kan vi avgjøre om vi går inn eller ut av nattmodus (det er akkurat det PiWebcam gjør)

En siste ting å vurdere om maskinvaren er hvordan du driver Raspberry Pi. Siden vi har en 12v strømforsyning og vi trenger 5v for å mate Pi, er en spenningsregulator nødvendig.

Trinn 3: Programvare

Programvare
Programvare

Ideen bak PiWebcam var å tilby en kraftig bildeplattform for alle, uavhengig av hans/hennes tidligere kunnskap. Et installasjonsskript vil sørge for å fullstendig konfigurere systemet med rimelige standardinnstillinger, slik at brukeren kan tilpasse via et rent og mobilvennlig webgrensesnitt bare et svært begrenset antall relevante parametere. Men takket være den kraftige bevegelsesdeteksjonsfunksjonen som er forsterket med objektgjenkjenningsfunksjoner drevet av en kunstig intelligensmodell, kan PiWebcam varsle brukeren om enhver oppdaget bevegelse ved å sende et øyeblikksbilde til en e-postmottaker eller ved å legge det ut brukerens favoritt Slack-kanal.

  • Prosjektside:
  • Brukerhåndbok:

Trinn 4: Liste over materialer

Stykklister
Stykklister
Stykklister
Stykklister
Stykklister
Stykklister

Følgende materialliste er for det utendørs webkameraet som er innebygd i denne opplæringen:

  • Raspberry Pi Zero W
  • Raspberry Pi -kamera (hvilken som helst modell, denne inkluderer et IR -kuttfilter)
  • Raspberry Pi Zero kamerakabel
  • Vanntett kamerahus (hvilken som helst modell der bringebæren passer)
  • SD -kort (16 GB anbefalt)
  • IR Led Board (ethvert kort som passer til kamerahuset)
  • IR Cut -filter (bare hvis det ikke allerede er innebygd i kameraet)
  • 12v - 5v regulator (sørg for at det er en bukkregulator som til slutt kan gi 1A)
  • Micro USB hannkontakt
  • 12v hunnkontakt
  • 12v 3A strømforsyning
  • H-bro
  • Kvinne-Kvinne Dupont kaler

Trinn 5: Klargjøring av komponentene

Klargjøring av komponentene
Klargjøring av komponentene
Klargjøring av komponentene
Klargjøring av komponentene
Klargjøring av komponentene
Klargjøring av komponentene

Buck -omformeren (spenningsregulatoren) er ansvarlig for å konvertere 12v strømforsyningen til 5v Raspberry Pi krever. De fleste komponentene på markedet er justerbare (f.eks. Kan du endre utgangsspenningen ved å skru en skrue). Siden innsiden av webkameraet kan skruen flyttes ved et uhell, for å sikre en fast og konstant 5v utgang, legg litt tinn i 5v -sporet for å lodde sammen de to kantene og kutte ledningen på kretskortet (med en kniv) som går inn i "ADJ" (øverst til venstre på bildet)

Siden vi ønsker å ha full kontroll over IR Cut -filteret gjennom bringebæret (enten filteret er innebygd i kameraet som på bildet), må vi kvitte oss med den lille kontakten. Klipp de to ledningene og koble en kvinnelig dupontkabel for hver ledning. Ikke kast den lille pluggen siden vi må bruke den for å motta status for LDR montert på IR Led Board. Koble til en annen kvinnelig dupontkabel på en av de to ledningene (spiller ingen rolle hvilken).

Trinn 6: Koble til IR Led Board til strømforsyningen

Koble til IR Led Board til strømforsyningen
Koble til IR Led Board til strømforsyningen
Koble til IR Led Board til strømforsyningen
Koble til IR Led Board til strømforsyningen
Koble til IR Led Board til strømforsyningen
Koble til IR Led Board til strømforsyningen

La oss starte med å koble 12v strømforsyningsinngangen inn i kamerahuset til komponentene.

Koble følgende til den negative (svarte) ledningen:

  • Negativ ledning til IR Led -kortet
  • Negativ ledning til bukkomformeren
  • Negativ ledning til USB -hankontakten

Koble følgende til den positive (røde) ledningen:

  • Den positive (12v) ledningen til IR Led -kortet
  • Vin -kabelen til bukkomformeren

Trinn 7: Slå på Raspberry Pi

Slå på Raspberry Pi
Slå på Raspberry Pi
Slå på Raspberry Pi
Slå på Raspberry Pi

Koble Vout -kabelen til buck -omformeren til USB -kontakten som driver Raspberry.

Etter at du har koblet alle ledningene, lodder du dem sammen eller bare strammer dem med isolasjonstape.

Trinn 8: Koble til IR Cut Filter

Koble til IR Cut Filter
Koble til IR Cut Filter
Koble til IR Cut Filter
Koble til IR Cut Filter
Koble til IR Cut Filter
Koble til IR Cut Filter

Siden IR Cut-filteret ikke kan styres direkte fra en pin av Raspberry, vil vi bruke en H-Bridge drevet av Raspberry's 5v pin og kontrollert av to pins.

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

På denne måten, når en puls vil bli sendt gjennom f.eks. pin 39, 5v vil bli levert til MOTOR1 slik at filteret veksles.

Trinn 9: Koble IR Led Board til bringebæret

Koble IR Led Board til bringebæret
Koble IR Led Board til bringebæret

For å vite når det begynner å bli mørkt, utnytter vi LDR montert på IR LED -kortet. Bruk den lille pluggen som ble kuttet ut av IR -filteret i de foregående trinnene, koble den ene siden til kontakten merket "IRC" på IR LED -kortet og den andre til pin 40 (BCM 21) på bringebæret.

Trinn 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

Fest kameraet på det dedikerte sporet på IR LED -kortet med et isolerende tape eller andre midler. Ting å ta i betraktning på dette stadiet:

  • IR -LED -kortet blir veldig varmt når det er på, så beskytt kameraet deretter;
  • Sørg for at ingen IR -lys kan komme inn i sporet der kameraet er plassert; IR lysrefleksjon er en av de vanligste årsakene til at nattesynet er dårlig (uskarpt);
  • Sørg for at det er litt plass igjen mellom objektivet og glasset i kamerahuset, ellers kan refleksjon eller bildeforvrengning finne sted;

IKKE lukk kamerahuset ennå:-)

Trinn 11: Alternativ 1 - Flash et forhåndskonfigurert PiWebcam -bilde (anbefalt)

Alternativ 1 - Flash et forhåndskonfigurert PiWebcam -bilde (anbefalt)
Alternativ 1 - Flash et forhåndskonfigurert PiWebcam -bilde (anbefalt)
  • Last ned det siste PiWebcam -bildet (PiWebcam_vX. X.img.zip) fra
  • Pakk ut filen Skriv bildet til et SD-kort (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Koble SD -kortet til Raspberry Pi og slå det på
  • Enheten begynner å fungere som et tilgangspunkt
  • Fortsett med oppgavene etter installasjonen

Trinn 12: Alternativ 2 - Bygg et PiWebcam -bilde

Alternativ 2 - Bygg et PiWebcam -bilde
Alternativ 2 - Bygg et PiWebcam -bilde

Å bygge et PiWebcam -bilde krever en ny installasjon av Raspbian og et SD -kort. Ikke bruk en eksisterende installasjon på nytt, men begynn på nytt:

  • Last ned operativsystemet Raspbian Stretch Lite
  • Skriv bildet til et SD -kort (for eksempel ved hjelp av Win32 Disk Imager)

Trinn 13: Alternativ 2 - Kopier PiWebcam til SD -kortet

Alternativ 2 - Kopier PiWebcam til SD -kortet
Alternativ 2 - Kopier PiWebcam til SD -kortet
Alternativ 2 - Kopier PiWebcam til SD -kortet
Alternativ 2 - Kopier PiWebcam til SD -kortet
Alternativ 2 - Kopier PiWebcam til SD -kortet
Alternativ 2 - Kopier PiWebcam til SD -kortet

Last ned den siste versjonen av PiWebcam (PiWebcam_vX. X.zip), trekk ut og kopier "PiWebcam" -katalogen til oppstartspartisjonen.

For et hodeløst oppsett plasser i oppstartspartisjonen også en tom fil som heter "ssh" og en "wpa_supplicant.conf" med nettverkskonfigurasjonen. På denne måten vil bringebæret begynne å koble til WiFi -nettverket ditt ved oppstart, og du trenger ikke HDMI -kabelen i det hele tatt, men kan koble den direkte via SSH til den.

Trinn 14: Alternativ 2 - Slå på bringebæret og koble til det

Alternativ 2 - Slå på bringebæret og koble til det
Alternativ 2 - Slå på bringebæret og koble til det
Alternativ 2 - Slå på bringebæret og koble til det
Alternativ 2 - Slå på bringebæret og koble til det

Koble SD -kortet til Raspberry Pi, slå det på og koble til en SSH -klient (eller PuTTY på Windows):

  • Vertsnavn: raspberrypi.local
  • Brukernavn: pi
  • Passord: bringebær

Trinn 15: Alternativ 2 - Konfigurer systemet for PiWebcam

Alternativ 2 - Konfigurer systemet for PiWebcam
Alternativ 2 - Konfigurer systemet for PiWebcam
Alternativ 2 - Konfigurer systemet for PiWebcam
Alternativ 2 - Konfigurer systemet for PiWebcam

Etter å ha kontrollert at bringebæret er koblet til Internett, kjør følgende kommando:

sudo /boot/PiWebcam/PiWebcam.sh installere

Dette vil fullt ut konfigurere systemet og installere de nødvendige avhengighetene.

På slutten av installasjonen vil du bli bedt om å starte enheten på nytt for å gjøre endringene fullt ut effektive. Alle legitimasjonene vil bli oppsummert på skjermen.

Vær oppmerksom på at de siste 6 tegnene er tilfeldige (f.eks. PiWebcam-e533fe) og varierer fra enhet til enhet.

Trinn 16: Oppgaver etter installasjon - Koble til PiWebcams WiFi -tilgangspunkt

Oppgaver etter installasjon - Koble til PiWebcams WiFi -tilgangspunkt
Oppgaver etter installasjon - Koble til PiWebcams WiFi -tilgangspunkt
Oppgaver etter installasjon - Koble til PiWebcams WiFi -tilgangspunkt
Oppgaver etter installasjon - Koble til PiWebcams WiFi -tilgangspunkt

Når enheten er slått på, begynner den å fungere som et tilgangspunkt.

Koble til WiFi -nettverket som er opprettet av enheten. Passordfrasen til nettverket samt passordet til adminbrukeren (både for webgrensesnittet og SSH) er det samme som SSID (f.eks. PiWebcam-XXXXX). Pek nettleseren din på https://PiWebcam.local og godkjent med brukernavn "admin" og med passord det samme som navnet på nettverket.

Trinn 17: Koble webkameraet til ditt WiFi -nettverk

Koble webkameraet til ditt WiFi -nettverk
Koble webkameraet til ditt WiFi -nettverk
Koble webkameraet til ditt WiFi -nettverk
Koble webkameraet til ditt WiFi -nettverk

Hvis du vil koble webkameraet til et eksisterende WiFi -nettverk, gå til Enhet / nettverk, velg "WiFi Client" og fyll ut ditt "WiFi Network" og "Passphrase".

Vent i 1-2 minutter, koble til nettverket igjen og pek nettleseren på https://camera_name.your_network (f.eks. Http: //PiWebcam-e533fe.local)

Trinn 18: Lukk webkameraet

Lukk webkameraet
Lukk webkameraet
Lukk webkameraet
Lukk webkameraet

Når det er testet at webkameraet kan nås gjennom nettverket og utføre den grunnleggende konfigurasjonen som ble presentert i forrige trinn, er det nå på tide å lukke saken.

Trinn 19: Komme i gang med PiWebcam

Komme i gang med PiWebcam
Komme i gang med PiWebcam
Komme i gang med PiWebcam
Komme i gang med PiWebcam
Komme i gang med PiWebcam
Komme i gang med PiWebcam
Komme i gang med PiWebcam
Komme i gang med PiWebcam

PiWebcam har allerede rimelige standardinnstillinger. Når den er installert, er det ikke nødvendig med ytterligere konfigurasjon; PiWebcam begynner å ta øyeblikksbilder og ta opp videoer, enten de er koblet til nettverket eller ikke.

Hele enhetskonfigurasjonen (kamera, nettverk, varsling og systeminnstillinger) kan utføres via webgrensesnittet. Konfigurasjonsfilen kan enkelt eksporteres og importeres under Enhet / System.

Når en bevegelse oppdages, begynner PiWebcam å spille inn en video (som deretter vil bli gjort tilgjengelig via "Avspilling" -menyen i webgrensesnittet). Når det ikke er mer bevegelse, lagres også et bilde som markerer med den røde boksen den oppdagede bevegelsen. Hvis objektgjenkjenningsfunksjonen er aktivert, ignoreres enhver bevegelse som ikke inneholder det konfigurerte objektet for å senke falske positiver (f.eks. Hvis en bevegelse oppdages, men ingen person identifiseres).

Når varsler er aktivert, blir øyeblikksbildet sendt til brukerens e-postadresse og/eller lagt ut på den konfigurerte Slack-kanalen. Hvis en Internett -tilkobling ikke er tilgjengelig, vil varselet stå i kø og slippes når tilkoblingen gjenopprettes neste gang.

En detaljert oppsummering av alle tilgjengelige innstillinger er rapportert på prosjektsiden.

Trinn 20: Fjern Internett -tilgang

Ekstern Internett -tilgang
Ekstern Internett -tilgang

Eventuelt kan webgrensesnittet nås fra Internett uten ytterligere konfigurasjon i nettverket eller hjemme -ruteren. For å aktivere denne funksjonaliteten, merker du av i boksen under Enhet / nettverk.

Hvis ekstern Internett -tilgang er aktivert, starter enheten en SSH -tunnel gjennom servo.net, uten å måtte konfigurere noen NAT eller UPnP i ruteren. Enhetsnavnet brukes som vertsnavn, og både Internett- og ssh -tjenester blir avslørt.

Trinn 21: Tekniske detaljer

Alle PiWebcam -filer ligger i oppstartspartisjonen til SD -kortet, i en katalog som heter PiWebcam. Dette inkluderer en enkelt bash -fil, PiWebcam.sh og PHP -sidene for administrasjonspanelet.

Under installasjonsprosessen utføres en helt grunnleggende systemkonfigurasjon, et initramfs -bilde opprettes og PiWebcam.sh -skriptet legges til /etc/rc.local for å bli utført ved oppstart med parameteren "configure".

Ved den første omstarten vil initramfs -bildet krympe rotpartisjonen (tidligere utvidet til å fylle hele SD -kortet av Raspbian -installasjonsprogrammet) og opprette en datapartisjon like etter.

Både oppstarts- og rotfilsystemet er montert skrivebeskyttet, og et overleggs filsystem opprettes av initram-bildet på rotfilsystemet, slik at enhver endring av systemet bare lagres i minnet og går tapt ved neste omstart. På denne måten vil enheten være mer robust for feilkonfigurasjoner, kan enkelt gjenopprettes til fabrikkinnstillinger og kan overleve til strømbrudd siden ingen systemfil noen gang er skrevet til SD -kortet under normale operasjoner. Datafilsystemet er i stedet formatert med F2FS (Flash-Friendly File System) som tar hensyn til egenskapene til flash-minnebaserte lagringsenheter.

Under oppstart leser PiWebcam konfigurasjonsfilen som er lagret på /boot/PiWebcam/PiWebcam.conf, konfigurerer systemet, kameraet, nettverket og varslene basert på innstillingene som finnes der og distribuerer webgrensesnittet fra/boot/PiWebcam/web til webrotplasseringen.

Både film og filmer lagres i datafilsystemet og grupperes i mapper etter år/måned/dag/time for å gi en lettere tilgang. Alle opptakene kan gjennomgås via webgrensesnittet med h5ai, en moderne filindekser som lar filer og kataloger vises på en tiltalende måte og gir forhåndsvisninger av bilder og videoer uten å måtte laste ned innholdet på forhånd.

Når en bevegelse oppdages, påkalles PiWebcam.sh med parameteren "varsling" gjennom hendelsen on_picture_save/on_movie_end. Hvis objektdeteksjon er aktivert for ytterligere analyse av bildet, sendes bildet til Clarifai for å gjenkjenne alle objektene i bildet. Dette ville fungere flott for å senke ned falske positiver f.eks. hvis du er interessert i å vite om det er noen som stjeler i huset ditt og ikke bare en plutselig lysendring.

Etter det sjekker PiWebcam om en Internett -tilkobling er tilgjengelig, og sender i så fall varselet. I tillegg til tradisjonelle e-postvarsler, sendt ut med ssmtp, med det oppdagede filmbildet vedlagt, kan PiWebcam også laste opp det samme bildet til en Slack-kanal. Hvis du ikke kjenner Slack, sjekk det ut (); det er et flott samarbeidsverktøy, men kan også brukes til å opprette en gruppe dedikert til familien din, gi tilgang til familiemedlemmene dine, chatte med dem og la PiWebcam eller Home Automation -verktøy (som f.eks. eGeoffrey) legge ut oppdateringer der borte. Hvis det ikke er noen Internett -tilkobling, går ikke varselet tapt, men det står i kø og sendes ut når tilkoblingen gjenopprettes.

En oppgraderingsfunksjonalitet tilbys også via webgrensesnittet.

Anbefalt: