Innehållsförteckning:

Fullt utrustad utomhuskamera baserad på Raspberry Pi: 21 steg
Fullt utrustad utomhuskamera baserad på Raspberry Pi: 21 steg

Video: Fullt utrustad utomhuskamera baserad på Raspberry Pi: 21 steg

Video: Fullt utrustad utomhuskamera baserad på Raspberry Pi: 21 steg
Video: DEN BILLIGASTE mini wifi-kameran med SPÅRNING. 2024, November
Anonim
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi
Fullt utrustad utomhus säkerhetskamera baserad på Raspberry Pi

Om du hade nedslående erfarenheter av billiga webbkameror, deras dåligt skrivna programvara och/eller otillräcklig hårdvara, kan du enkelt bygga en halvprofessionell webbkamera med en Raspberry Pi och några andra elektroniska komponenter som är lätta att hitta på vilka PiWebcam körs, en gratis och dummy -säker programvara som vrids med bara ett klick på din enhet i en kraftfull och fullt utrustad webbkamera.

Steg 1: Inspiration

Inspiration
Inspiration

Efter att ha kämpat mot den begränsade programvaran för de flesta av de billiga säkerhetskamerorna på marknaden (t.ex. dålig nattsyn, dunkel app för konfigurationen, ingen offlineinspelning, felaktig rörelsedetektering, etc.) bestämde jag mig för att bygga något själv och Raspberry Pi såg för mig den lämpligaste plattformen.

Även om det redan finns ett stort antal projekt för att använda en Raspberry Pi som webbkamera tycker jag dem personligen är för komplexa och i allmänhet mer ad-hoc-lösningar för avancerade användare snarare än ändliga produkter.

Men de flesta av dem fokuserar bara på programvaran snarare än hårdvaran, vilket är lika viktigt för kamerans användning.

Steg 2: Hårdvara

Hårdvara
Hårdvara

För att bygga en inomhuswebkamera skulle en enkel Raspberry Pi (vilken modell som helst) och en bifogad kamera (vilken modell som helst) med IR -lysdioder för mörkerseende fungera alldeles utmärkt. Det finns redan gott om kit med denna kombination, så om det är det du vill uppnå köper du en av dem och går vidare till steg 12.

Samma hårdvara skulle dock inte passa för en utomhuskamera: bilden tagen från den IR-kapabla hallonkameran utanför ditt hus skulle se mestadels rosa ut (på grund av att det infraröda ljuset fångas av kameran) och med den lilla out-of-the -box IR -lysdioder skulle du inte kunna se någonting över 1 meter.

För att lösa det första problemet behöver vi något som kallas mekaniskt IR CUT -filter som i princip ger dig tillbaka de sanna färgerna i dagsljus men ändå låter dig fånga IR -lamporna under natten. De flesta enheter på marknaden har två ledningar: en kort puls på en tråd kommer att flytta IR -filtret framför sensorn (dagsläge), en kort puls på den andra ledningen kommer att ta bort filtret (nattläge). De fungerar vanligtvis mellan 3v och 9v och om de är anslutna till vårt hallon kan vi ha full kontroll över när vi ska växla nattläge. IR Cut -filtret kan emellertid inte styras direkt från en nål på hallon eftersom den mekaniska delen inuti kräver mycket mer ström än den som Pi kan leverera. Vi kommer att kringgå det med hjälp av en H-Bridge som drivs av hallonens 5v och styrs av två stift.

För att ta itu med det andra problemet skulle vi behöva en kraftfullare IR -LED -skiva för att uppnå en anständig nattsyn. Brädor med färre men större lysdioder är att föredra framför dem med många små lysdioder. De flesta brädorna på marknaden har också en LDR (Light Dependent Resistor) fäst som används för att avgöra när lysdioderna ska slås på om det är mörkt. De fungerar vanligtvis vid 12v och har en liten kontakt (märkt "IRC") som kan användas för att ansluta ett IR -skärfilter. Ingen puls skickas dock ut direkt via denna kontakt men under natten (lysdioder på) skapas ett (vanligtvis) 5v spänningsfall mellan både ledningar och jord. Om vi kopplar en av ledningarna till vårt hallon och övervakar stiftets signal kan vi avgöra om vi går in eller lämnar nattläge (vilket är exakt vad PiWebcam gör)

En sista sak att tänka på när det gäller hårdvaran är hur man driver Raspberry Pi. Eftersom vi har en 12v strömförsörjning och vi behöver 5v för att mata Pi, behövs en spänningsregulator.

Steg 3: Programvara

programvara
programvara

Tanken bakom PiWebcam var att tillhandahålla en kraftfull bildplattform för alla, oavsett hans/hennes tidigare kunskaper. Ett installationsskript tar hand om att konfigurera systemet fullt ut med rimliga standardinställningar, så att användaren endast kan anpassa via ett rent och mobilvänligt webbgränssnitt ett mycket begränsat antal relevanta parametrar. Tack vare dess kraftfulla rörelsedetekteringsfunktion som förstärks av objektigenkänningsmöjligheter som drivs av en artificiell intelligensmodell kan PiWebcam meddela användaren om upptäckt rörelse genom att skicka en ögonblicksbild till en e-postmottagare eller genom att lägga ut den som användarens favorit Slack-kanal.

  • Projektsida:
  • Användarmanual:

Steg 4: Materialförteckning

Materialförteckning
Materialförteckning
Materialförteckning
Materialförteckning
Materialförteckning
Materialförteckning

Följande materialförslag gäller för utomhuswebbkameran som är inbyggd i denna handledning:

  • Raspberry Pi Zero W
  • Raspberry Pi -kamera (vilken modell som helst, den här innehåller ett IR -filter)
  • Raspberry Pi Zero Camera Cable
  • Vattentätt kamerahus (vilken modell som hallon skulle passa i)
  • SD -kort (rekommenderas 16 GB)
  • IR Led Board (alla kort som passar kamerahuset)
  • IR Cut -filter (endast om det inte redan är inbäddat i kameran)
  • 12v - 5v regulator (se till att det är en buckregulator som kan ge slutligen 1A)
  • Micro USB hankontakt
  • 12v honkontakt
  • 12v 3A strömförsörjning
  • H-bro
  • Kvinna-hona Dupont kal

Steg 5: Förbereda komponenterna

Förbereda komponenterna
Förbereda komponenterna
Förbereda komponenterna
Förbereda komponenterna
Förbereda komponenterna
Förbereda komponenterna

Buck -omvandlaren (spänningsregulator) ansvarar för att konvertera 12v -strömförsörjningen till den 5v som Raspberry Pi kräver. De flesta komponenterna på marknaden är justerbara (t.ex. kan du ändra utspänningen genom att vrida en skruv). Eftersom inuti webbkameran kan skruven flyttas av misstag, för att säkerställa en fast och konstant 5v -utmatning, lägg lite tenn i 5v -facket för att löda ihop de två kanterna och klipp av tråden på kretskortet (med en kniv) som går in i "ADJ" (längst upp till vänster på bilden)

Eftersom vi vill ha full kontroll över IR Cut -filtret genom hallon (oavsett om filtret är inbäddat i kameran som på bilden) eller inte, måste vi bli av med den lilla kontakten. Klipp av de två trådarna och anslut en honkontaktkabel för varje tråd. Kasta inte bort den lilla kontakten eftersom vi måste använda den för att få status för LDR monterad på IR Led Board. Anslut en annan kvinnlig dupontkabel på en av de två ledningarna (spelar ingen roll vilken).

Steg 6: Anslut till IR Led Board till strömförsörjningen

Anslut till IR Led Board till strömförsörjningen
Anslut till IR Led Board till strömförsörjningen
Anslut till IR Led Board till strömförsörjningen
Anslut till IR Led Board till strömförsörjningen
Anslut till IR Led Board till strömförsörjningen
Anslut till IR Led Board till strömförsörjningen

Låt oss börja med att ansluta 12V -strömförsörjningen som går in i vårt kamerahus till komponenterna.

Anslut följande till den negativa (svarta) ledningen:

  • Negativ tråd av IR Led -kortet
  • Negativ tråd av buck -omvandlaren
  • Negativ kabel till USB -hankontakten

Anslut följande till den positiva (röda) ledningen:

  • Den positiva (12v) ledningen på IR Led -kortet
  • Vin -tråden i buck -omvandlaren

Steg 7: Slå på Raspberry Pi

Driv Raspberry Pi
Driv Raspberry Pi
Driv Raspberry Pi
Driv Raspberry Pi

Anslut Vout -kabeln till buck -omvandlaren till USB -kontakten som driver Hallon.

Efter att ha anslutit alla trådar, lödda ihop dem eller bara fixera dem med lite isoleringstejp.

Steg 8: Anslut IR Cut Filter

Anslut IR Cut Filter
Anslut IR Cut Filter
Anslut IR Cut Filter
Anslut IR Cut Filter
Anslut IR Cut Filter
Anslut IR Cut Filter

Eftersom IR Cut-filtret inte kan styras direkt från en nål på hallon kommer vi att använda en H-bro som drivs av hallonens 5v-stift och styrs av två stift.

  • Anslut stift 4 (5v) på hallon till "+" på H-bron
  • Anslut stift 5 (GND) på hallon till "-" på H-bron
  • Anslut stift 39 (BCM 20) på hallon till INT1 på H-bron
  • Anslut tapp 36 (BCM 16) på hallon till INT2 på H-bron
  • Anslut de två trådarna på IR Cut Filter till MOTOR1 och MOTOR2 eller H-Bridge

På detta sätt, när en puls kommer att skickas genom t.ex. stift 39, 5v kommer att levereras till MOTOR1 så att filtret växlar.

Steg 9: Anslut IR -ledkortet till Hallon

Anslut IR -ledkortet till Hallon
Anslut IR -ledkortet till Hallon

För att veta när det börjar bli mörkt utnyttjar vi LDR monterat på IR -LED -kortet. Använd den lilla kontakten som skurits ur IR -filtret i föregående steg, anslut ena sidan till kontakten märkt "IRC" på IR -LED -kortet och den andra till stift 40 (BCM 21) på Hallon.

Steg 10: Montera kameran på IR -ledkortet

Montera kameran på IR -ledkortet
Montera kameran på IR -ledkortet
Montera kameran på IR -ledkortet
Montera kameran på IR -ledkortet

Fixera kameran på den dedikerade platsen på IR -LED -kortet med ett isoleringstejp eller andra medel. Saker att ta hänsyn till i detta skede:

  • IR -LED -kortet blir väldigt varmt när det är på så skydda kameran i enlighet därmed;
  • Se till att inget IR -ljus kan komma in i facket där kameran är placerad. IR -ljusreflektion är en av de vanligaste orsakerna till att nattsynen är dålig (suddig);
  • Se till att det finns lite utrymme kvar mellan objektivet och glaset i kamerahuset annars kan reflektion eller bildförvrängning ske.

Stäng INTE kamerahuset än:-)

Steg 11: Alternativ 1 - Flasha en förkonfigurerad PiWebcam -bild (rekommenderas)

Alternativ 1 - Flasha en förkonfigurerad PiWebcam -bild (rekommenderas)
Alternativ 1 - Flasha en förkonfigurerad PiWebcam -bild (rekommenderas)
  • Ladda ner den senaste PiWebcam -bilden (PiWebcam_vX. X.img.zip) från
  • Packa upp filen Skriv bilden till ett SD-kort (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Anslut SD -kortet på din Raspberry Pi och slå på det
  • Enheten börjar fungera som en åtkomstpunkt
  • Fortsätt med efterinstallationsuppgifterna

Steg 12: Alternativ 2 - Skapa en PiWebcam -bild

Alternativ 2 - Skapa en PiWebcam -bild
Alternativ 2 - Skapa en PiWebcam -bild

Att bygga en PiWebcam -bild kräver en ny installation av Raspbian och ett SD -kort. Vänligen återanvänd inte en befintlig installation utan börja om från början:

  • Ladda ner operativsystemet Raspbian Stretch Lite
  • Skriv bilden till ett SD -kort (till exempel med Win32 Disk Imager)

Steg 13: Alternativ 2 - Kopiera PiWebcam till SD -kortet

Alternativ 2 - Kopiera PiWebcam till SD -kortet
Alternativ 2 - Kopiera PiWebcam till SD -kortet
Alternativ 2 - Kopiera PiWebcam till SD -kortet
Alternativ 2 - Kopiera PiWebcam till SD -kortet
Alternativ 2 - Kopiera PiWebcam till SD -kortet
Alternativ 2 - Kopiera PiWebcam till SD -kortet

Ladda ner den senaste versionen av PiWebcam (PiWebcam_vX. X.zip), extrahera och kopiera "PiWebcam" -katalogen till startpartitionen.

För en huvudlös installation placera i startpartitionen också en tom fil som heter "ssh" och en "wpa_supplicant.conf" med din nätverkskonfiguration. På så sätt börjar Hallon ansluta till ditt WiFi -nätverk vid start och du skulle inte behöva HDMI -kabeln alls utan kan ansluta direkt via SSH till den.

Steg 14: Alternativ 2 - Slå på hallon och anslut till det

Alternativ 2 - Slå på hallon och anslut till det
Alternativ 2 - Slå på hallon och anslut till det
Alternativ 2 - Slå på hallon och anslut till det
Alternativ 2 - Slå på hallon och anslut till det

Anslut SD -kortet på din Raspberry Pi, slå på det och anslut med en SSH -klient (eller PuTTY på Windows) till det:

  • Värdnamn: raspberrypi.local
  • Användarnamn: pi
  • Lösenord: hallon

Steg 15: Alternativ 2 - Konfigurera systemet för PiWebcam

Alternativ 2 - Konfigurera systemet för PiWebcam
Alternativ 2 - Konfigurera systemet för PiWebcam
Alternativ 2 - Konfigurera systemet för PiWebcam
Alternativ 2 - Konfigurera systemet för PiWebcam

Efter att ha säkerställt att Hallon är anslutet till Internet kör du följande kommando:

sudo /boot/PiWebcam/PiWebcam.sh installera

Detta kommer att konfigurera systemet fullt ut och installera nödvändiga beroenden.

I slutet av installationen kommer du att bli ombedd att starta om enheten för att göra ändringarna fullt ut. Alla referenser kommer att sammanfattas på skärmen.

Observera att de senaste 6 tecknen är slumpmässiga (t.ex. PiWebcam-e533fe) och varierar från enhet till enhet.

Steg 16: Uppgifter efter installationen - Anslut till PiWebcams WiFi -åtkomstpunkt

Upter efter installationen - Anslut till PiWebcams WiFi -åtkomstpunkt
Upter efter installationen - Anslut till PiWebcams WiFi -åtkomstpunkt
Upter efter installationen - Anslut till PiWebcams WiFi -åtkomstpunkt
Upter efter installationen - Anslut till PiWebcams WiFi -åtkomstpunkt

När enheten är påslagen börjar enheten fungera som en åtkomstpunkt.

Anslut till WiFi -nätverket som skapats av enheten. Lösenfrasen för nätverket samt lösenordet för administratörsanvändaren (för både webbgränssnittet och SSH) är samma som SSID (t.ex. PiWebcam-XXXXX). Rikta din webbläsare till https://PiWebcam.local och autentiserad med användarnamnet "admin" och med lösenord samma som namnet på nätverket.

Steg 17: Anslut webbkameran till ditt WiFi -nätverk

Anslut webbkameran till ditt WiFi -nätverk
Anslut webbkameran till ditt WiFi -nätverk
Anslut webbkameran till ditt WiFi -nätverk
Anslut webbkameran till ditt WiFi -nätverk

I du vill ansluta webbkameran till ett befintligt WiFi -nätverk, gå till Enhet / nätverk, välj "WiFi Client" och fyll i ditt "WiFi -nätverk" och "Lösenfras".

Vänta i 1-2 minuter, anslut tillbaka till ditt nätverk och rikta din webbläsare till https://camera_name.your_network (t.ex.

Steg 18: Stäng webbkamerafodralet

Stäng webbkamerafodralet
Stäng webbkamerafodralet
Stäng webbkamerafodralet
Stäng webbkamerafodralet

När vi väl testat att webbkameran kan nås via nätverket och utfört den grundläggande konfigurationen som presenterades i föregående steg, är det nu dags att stänga fallet.

Steg 19: Komma igång med PiWebcam

Komma igång med PiWebcam
Komma igång med PiWebcam
Komma igång med PiWebcam
Komma igång med PiWebcam
Komma igång med PiWebcam
Komma igång med PiWebcam
Komma igång med PiWebcam
Komma igång med PiWebcam

PiWebcam har redan rimliga standardinställningar. Efter installation krävs ingen ytterligare konfiguration; PiWebcam börjar ta ögonblicksbilder och spela in videor, oavsett om de är anslutna till nätverket eller inte.

Hela enhetskonfigurationen (kamera, nätverk, aviseringar och systeminställningar) kan utföras via webbgränssnittet. Konfigurationsfilen kan enkelt exporteras och importeras under enhet / system.

När en rörelse detekteras kommer PiWebcam att börja spela in en video (som sedan görs tillgänglig via "Uppspelning" -menyn i webbgränssnittet). När det inte blir mer rörelse lagras också en bild som markerar med en röd ruta den upptäckta rörelsen. Om objektdetekteringsfunktionen är aktiverad ignoreras alla rörelser som inte innehåller det konfigurerade objektet för att sänka falska positiva (t.ex. om en rörelse detekteras men ingen person identifieras).

När aviseringar är aktiverade skickas ögonblicksbilden till användarens e-postadress och/eller läggs ut på den konfigurerade Slack-kanalen. Om en internetanslutning inte är tillgänglig kommer meddelandet att köas och släppas när anslutningen återställs nästa gång.

En detaljerad sammanfattning av alla tillgängliga inställningar rapporteras på projektsidan.

Steg 20: Fjärråtkomst till Internet

Fjärråtkomst till Internet
Fjärråtkomst till Internet

Eventuellt kan webbgränssnittet nås från Internet utan ytterligare konfiguration i ditt nätverk eller hemrouter. För att aktivera den här funktionen, markera lämplig ruta under Enhet / nätverk.

Om fjärråtkomst till Internet är aktiverat initierar enheten en SSH -tunnel via servo.net, utan att behöva konfigurera NAT eller UPnP i din router. Enhetsnamnet används som värdnamn och både webben och ssh -tjänsterna exponeras.

Steg 21: Tekniska detaljer

Alla PiWebcam -filer finns i startpartitionen på SD -kortet, i en katalog som heter PiWebcam. Detta inkluderar en enda bash -fil, PiWebcam.sh och PHP -sidorna för adminpanelen.

Under installationsprocessen utförs en mycket grundläggande systemkonfiguration, en initramfs -bild skapas och PiWebcam.sh -skriptet läggs till /etc/rc.local för att köras vid start med parametern "configure".

Vid den första omstarten kommer initramfs -bilden att krympa rotpartitionen (tidigare utökad för att fylla hela SD -kortet av Raspbian -installationsprogrammet) och skapa en datapartition strax efter.

Både start- och rotfilsystemen är monterade skrivskyddade och ett överlagringsfilsystem skapas av initram-bilden på rotfilsystemet så att alla ändringar av systemet bara lagras i minnet och går vilse vid nästa omstart. På så sätt blir enheten mer robust mot felkonfigurationer, kan enkelt återställas till fabriksinställningar och kan överleva till alla strömavbrott eftersom ingen systemfil någonsin skrivs till SD -kortet under normal drift. Datafilsystemet är istället formaterat med F2FS (Flash-Friendly File System) som tar hänsyn till egenskaperna hos flashminnesbaserade lagringsenheter.

Under starten läser PiWebcam sin konfigurationsfil som är lagrad på /boot/PiWebcam/PiWebcam.conf, konfigurerar systemet, kameran, nätverket och aviseringarna baserat på inställningarna som finns där och distribuerar webbgränssnittet från/boot/PiWebcam/web till webbrotplatsen.

Både rörliga bilder och filmer lagras i datafilsystemet och grupperas i mappar efter år/månad/dag/timme för att göra det lättare att komma åt. Alla inspelningar kan granskas via webbgränssnittet med h5ai en modern filindexerare som gör att filer och kataloger kan visas på ett tilltalande sätt och ger förhandsgranskningar av bilder och video utan att behöva ladda ner innehållet i förväg.

När en rörelse detekteras anropas PiWebcam.sh med parametern "meddela" genom on_picture_save/on_movie_end rörelsens händelse. Om objektdetektering är aktiverat för ytterligare analys av bilden skickas bilden till Clarifai för att känna igen alla objekt i bilden. Detta skulle fungera utmärkt att sänka falska positiva t.ex. om du är intresserad av att veta om det är någon som stjäl i ditt hus och inte bara en plötslig ljusförändring.

Efter det kontrollerar PiWebcam om en internetanslutning är tillgänglig och skickar i så fall meddelandet. Förutom traditionella e-postmeddelanden, skickade ut med ssmtp, med den upptäckta filmbilden bifogad, kan PiWebcam också ladda upp samma bild till en Slack-kanal. Om du inte känner till Slack, kolla in det (); det är ett fantastiskt samarbetsverktyg men kan också användas för att skapa en grupp som är tillägnad din familj, ge tillgång till dina familjemedlemmar, chatta med dem och låta PiWebcam eller Home Automation -verktyg (som t.ex. eGeoffrey) lägga upp uppdateringar där borta. Om det inte finns någon internetanslutning förloras inte meddelandet, men det köas och skickas ut när anslutningen återställs.

En uppgraderingsfunktion tillhandahålls också via webbgränssnittet.

Rekommenderad: