Innehållsförteckning:
- Steg 1: Avrunda nödvändiga komponenter
- Steg 2: Komma igång Pi
- Steg 3: Skapa laserdetekteringskretsen
- Steg 4: Ändra lasern för extern ström
- Steg 5: Starta lasern och testa detekteringskretsen
- Steg 6: Anslut din webbkamera och testa dess funktion
- Steg 7: Paus
- Steg 8: Övervaka lasern med programvara
- Steg 9: Skapa en webbsida för att visa din ström
- Steg 10: Konfigurera e -postvarningar
- Steg 11: Trigger e -postskript när laser utlöses
- Steg 12: Skapa ett huvudskript för att initiera systemet
- Steg 13: Slutsats
Video: Raspberry Pi Laser Security System: 13 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Tack för att du kollade in min instruerbara. I slutet av denna instruerbara konstruerar du raspberry pi laser tripwire -systemet med e -postvarningsfunktioner som visas i videon.
För att slutföra detta instruerbara måste du vara bekant med allmänna kretsar och lödningar, veta hur man använder en brödbräda och vara bekväm med att använda terminalen på pi. Att ha erfarenhet av python kommer också att vara till hjälp.
Detta projekt består av tre huvudsystem. Raspberry pi, laser tripwire -krets och en observationsdator. Vårt mål är att använda hallon -pi för att upptäcka en spänningsförändring på lasertrådkretsen och sedan varna en observerande dator i form av ett e -post- och videoström.
Låt oss börja.
Steg 1: Avrunda nödvändiga komponenter
För att slutföra detta projekt behöver du följande objekt.
- Minst en operativ Raspberry Pi. I detta bygge använde jag en modell B -stil Pi som kör raspbian wheezy. Jag är säker på att denna handledning kommer att fungera bra om du kör raspbian jessie.
- En extern strömkälla för hallon pi. Vi kommer att dra en betydande mängd strömstyrka när allt detta har anslutits. Jag ägnade mycket tid åt att diagnostisera en elak strömförsörjning som min källa till problem under mitt första bygge. Se till att du har en kraftfull effekt som kan leverera minst 2 ampere.
- En billig laserpekare. Jag hittade mitt bredvid kassan på en bensinstation. Om du vill ha den exakta lasern kan du hitta den här. Etiketten säger 630-680 nm för våglängden. Vilken laser du än får bestämmer några av de andra komponenterna i byggnaden. Så se till att etiketten identifierar dess våglängd.
-
En webbkamera i usb -stil. Denna webbkamera har en justerbar fot som låter dig placera kameran snyggt. Jag fann att usb -kabeln som följde med webbkameran var för kort för min applikation så jag hittade en förlängning på monopris.
-
Någon form av breakout -kit för hallonpi så att du enkelt kan komma åt stiften på processorn.
- En brödbräda.
- Ett lödkolv.
- Bygelkablar till brödbrädan.
-
Kretskomponenter. Multiplicera med den mängd tripptrådar du vill ha.
- En fungerande ledde
- Ett 100 ohm motstånd
- Ett 1k motstånd
- Ett 10k motstånd
- Ett 200k motstånd Verkligen kommer alla stora motstånd att göra. Jag testade det med ett 1M motstånd och det fungerade bra. FYI 10k var för liten.
- En PNP-transistor PN: 2N4403-APCT-ND
- En fotodiod (matcha detta till din laservåglängd) PN: PDB-C142-ND
Jag kommer att bifoga kicad -filerna för kretskortet men kommer inte att gå över tillverkningen av kortet i denna instruerbara.
Under hela projektet tyckte jag att följande valfria verktyg var praktiska:
- Installera synergi på hallon pi. Om du inte är bekant tillåter denna programvara dig att styra hallon Pi -musen och tangentbordet med en annan dator. Det här är trevligt om du är som jag och är bekvämare på en annan dator. Det här är också programvara som alla borde ha.
- En usb -hubb. För varje webbkamera du vill använda behöver du en port.
- Spänningsmätare eller oscilloskop om du har det.
- Använda MobaXterm för att styra hallon pi och manipulera filer genom ssh. Det är ett måste för alla som höjs på fönster. Se den här självstudien för att konfigurera att använda den.
Steg 2: Komma igång Pi
Pi med minimala komponenter bifogade
Innan vi kan skjuta lasrar finns det flera lager av programvara som måste konstrueras. För att ha den bästa chansen att lyckas är det bra att börja med en ren skiffer. För att göra detta, koppla bort alla onödiga objekt från Pi. Detta minskar risken för störningar från en ansluten enhet.
Se sedan till att din Raspberry Pi är igång med den senaste programvaran genom att ange följande i terminalen
sudo apt-get uppdatering
Med hallon pi uppdaterad är det dags för nästa steg
Steg 3: Skapa laserdetekteringskretsen
Placera komponenterna på brödbrädan enligt bilden. Driv brödbrädan med 5V -utgången från pi eller en strömförsörjning vid bänken. I figur 1 är 5v -matningen ansluten till den positiva skivbrädan i nedre vänstra delen av bilden och marken till den övre vänstra. Denna krets använder fotodioden som omkopplare för att utlösa transistorn. Transistorn omvandlar den lilla spänningsändringen i fotodioden till en något digital signal som pi kan läsa. För alla efterföljande steg är punkten mellan 100ohm och signalledningen där vi provar kretsen med pi.
-
Fig 1: Circuit breadboard layout topp
-
Fig 2: Circuit breadboard layout alternativ vy
Om du vill ha ett renare utseende bifogade jag kicad -filerna för tavlan som visas nedan.
-
Fig 3: Sensorkortet ovanifrån
-
Bild 4: Sensorkort ISO
-
Den orange tråden ersätter den tillfälliga tryckknappen
-
Visar positiva och negativa leads
-
Kulled
-
Uttagsledning
-
Kula och sockel monterad
-
Arbetslaser med en frisk stråle
-
Strålen är inte trasig och lysdioden är släckt
-
Inkräktare bryter strålen så att lysdioden tänds
-
mjpg-streamer provutmatning
-
Brödbräda layout med PiCobler
-
Rätt konsolutmatning (visas med MobaXterm)
-
Skärmdump av de bifogade filerna i drift
- your_ip = "192.168.0.177"
- your_ip_optional_port = ": 8080"
- port_to_camera = ": 8081"
- sending_email_username = "ditt e -postnamn"
- sending_email_password = "ditt lösenord"
-
Skärmdump av de bifogade filerna i drift
Steg 4: Ändra lasern för extern ström
I de följande stegen bygger du laserpekarenheten.
- Ta isär laserpekaren. När du gör det, notera batteripolernas riktning i förhållande till lasersändaren.- Lossa sedan batteriförbindningsfjädern och den korta tryckknappen från lasern.- Löd en bit tråd mellan terminalerna där knappen var. När strömmen försörjs till lasern slås den på automatiskt.- Löd nu de positiva och negativa ledningarna till lasern. Om du använder samma laser från dellistan kan du använda bilden nedan för att se lödpunkterna. Om du inte är det kan du behöva hitta lödpunkterna själv. Du kan använda batteriets orientering som en ledtråd för den positiva eller negativa avledningen. För att hitta den sista lödpunkten kan du använda en 5v strömförsörjning och mäta kretsen med två testledningar. När du har skapat rätt krets har du hittat lödpunkten och lasern tänds.
- Det sista steget är att göra en riktad monteringsstolpe för lasern så att den enkelt kan justeras för att rikta mot laserkontakten. Jag har funnit att de flesta lego bionicle -kit är en utmärkt källa för billig boll i sockelfogar. Lim en bit av kulleden på laserpekaren med hjälp av superlim. Nu kan du montera sockelfogen på valfri yta och snäppa in lasern.
Steg 5: Starta lasern och testa detekteringskretsen
Anslut lasern till din brödbräda. Den positiva måste anslutas till 5v och jorda den negativa ledningen. Om lasern slår på bra, om inte, dubbelkolla att du har rätt spänning med en multimeter. Om det fortfarande inte fungerar, försök byta ledningarna om du kopplade det bakåt. Om det fortfarande inte fungerar kanske du inte har lödt till rätt kuddar, gå tillbaka till det sista steget.
När du har laserstrålat är det dags att testa detekteringskretsen. Rikta lasern mot fotodioden. Lysdioden ska stänga av signalen att strålen är aktiv. Vifta med handen genom strålen och lysdioden ska tändas för att signalera en resa.
Steg 6: Anslut din webbkamera och testa dess funktion
Anslut din webbkamera till usb -porten. För att kunna streama videon behöver vi mjpg-streamer. Här är en bra handledning om hur du gör just det. När du har mjpg-streamer installerad korrekt. Börja strömma video genom att ange följande kommando i terminalen.
cd /där du installerade mjpg-streamer /mjpg-streamer
./mjpg_streamer -i "./input_uvc.so -y/dev/video0" -o "./output_http.so -w./www -p 8081"
Detta kommando kommer att skapa en ström på port 8081 med hjälp av video0 -källan. Om du vill ha flera webbkameror anger du kommandot ovan igen men ändrar video0 till video1 och 8081 till 8082. Jag har streamat upp till 3 webbkameror på det här sättet och pi överbelastades inte.
Testa att anslutningen fungerar genom att öppna en webbläsare på en annan dator och ange ip-address-of-pi: 8081 eller på pi kan du bara ange localhost: 8081. Om du inte känner till din IP för pi anger du följande i terminalen
ifconfig
Om allt fungerar bör du se mpg-streamer-hemsidan. Klicka på fliken ström för att se din webbkameraström. Nedan är en skärmdump av gränssnittet.
När jag gjorde denna handledning för andra gången kunde jag komma åt mjpg-streamer-hemsidan men såg ingen ström. För att fixa detta läste jag det här inlägget (länken är nu trasig), särskilt delen om YUYV -pixelformat, om du stöter på en tom ström bör du också konsultera den.
Steg 7: Paus
Okej, så vid denna tidpunkt borde vi ha vår hallonpi igång. Vår laser har modifierats för extern ström. Vår detekteringskrets har konstruerats och du har bekräftat att när laserstrålen träffar fotodioden slocknar lysdioden och när du bryter strålen ska lysdioden tändas. Slutligen bör du ha din webbkamera ansluten och funktionellt strömma.
Nu är det dags att sätta ihop allt. Låt oss börja enkelt genom att försöka upptäcka att laserstrålen snubblar med programvara.
Anslut detekteringskretsen till brödbrädan enligt bilden. Se till att du ansluter givarens signalkabel till stift 25 som förberedelse för nästa steg. Dragmotståndet är inte tillval. Jag hade en 10k som låg, men alla motstånd borde göra.
Steg 8: Övervaka lasern med programvara
Låt oss skriva ett kort program för att lyssna på lasersignalen och posta utmatningen till terminalen. Du kan ladda ner koden som bilaga.
Du kommer förmodligen att behöva installera beroenden för detta skript. Python och gpio -modulen. För att installera dessa enter
sudo apt-get install python-rpi.gpio python3-rpi.gpio
När du har lyckats installera python, ladda ner det bifogade python -skriptet read_pin.py och kör
cd /katalog där du lägger filen /chmod 777 read_pin.py
Kommandot chmod ger skriptet tillstånd att köra. Testa sedan att allt är bra och dandy genom att springa
sudo python3 read_pin.py
Om allt går bra bör du se en konsolutmatning som visas nedan. För att avsluta python -skriptet, ange
Ctrl-C
Vifta handen framför laserstrålen och du bör se en viss utgång på konsolen som varnar dig om att strålen har brutits. Lek gärna med manuset för att få ditt system att fungera på olika sätt.
Steg 9: Skapa en webbsida för att visa din ström
Nu måste vi konfigurera ett webbkameravisningsgränssnitt. För detta steg måste du installera apache -webbservern. Det finns gott om självstudier om hur man konfigurerar en. Men här är den korta listan med minimal konfiguration.
sudo apt-get install apache2
en gång installerat bör du kunna skriva i din webbläsare på hallon pi
lokal värd
Du bör se välkomstsidan från apache. Om det här är första gången du konfigurerar en webbserver kommer du förmodligen att vilja konfigurera din pi för att ha en statisk ip -adress så att din router alltid tilldelar rätt ip om du gör en strömcykel. Om du vill se ditt säkerhetssystem från en annan plats måste du konfigurera port vidarebefordran på din router. Det har varit ett tag men jag tror också att du kommer att behöva vidarebefordra alla portar som har en webbkamera också. Det finns gott om självstudier där ute som täcker dessa procedurer. Var medveten om att vem som helst kan se din webbkamera om du väljer att konfigurera port vidarebefordran på din router.
De bifogade filerna är exempelwebbsidor som du kan använda för att konfigurera din webbplats. Du måste ändra filtillägget på html -filen eftersom de inte skulle låta mig ladda upp den. Placera sedan filerna i din www -mapp som kallas i din apache -konfigurationsfil. Standardplatsen är
cd /var /www
Om du vill ändra platsen där webbservern letar efter dina html -filer kan du redigera din webbplatsaktiverade fil genom att ange
sudo nano/etc/apache2/sites-enabled/000-default
Ändra en instans av/var/www/till den plats du önskar. Jag lade min i/home/pi/Desktop/www/
När du har html -filerna i webbmappen anger du localhost i webbläsaren eller ip -adressen till pi från en annan dator. Du borde se något liknande.
SÖTE!
Steg 10: Konfigurera e -postvarningar
Bra saker händer! Låt oss trycka på tur genom att försöka skicka en e -postvarning från pi till en fördefinierad e -postadress. Det bifogade python -skriptet bygger din e -post som du vill skicka, ansluter till en e -postleverantör som gmail och skickar e -postmeddelandet med e -postleverantören. Detta uppnås med smtp -paketet med python. Jag föreslår att du gör en dummy -e -postadress bara för ditt säkerhetssystem eftersom vi måste minska säkerheten på ditt gmail -konto för att smtp -paketet ska fungera.
Du måste ändra manuset på flera ställen för att få en lyckad överföring. Det är kraftigt kommenterat och kommer att producera många utgångar på terminalen för din bekvämlighet.
Saker du kommer att behöva ändra kommer att vara
your_ip_optional_port kommer sannolikt att vara tom om inte din apache -server körs på en annan port än standard 80. Jag hade redan en server som körde på 80 så jag ställde in min pi för att köras på 8080. Port_to_camera är porten du anger din kamera till kör med mjpeg streamer.
När du har ändrat dessa variabler i början av skriptet kör programmet genom att ange följande i terminalen.
cd /mapp där du lägger skriptet /
sudo python3 send_mail.py
Om stjärnorna är rätt inriktade och alla variabler är korrekta bör du få ett e -postmeddelande som liknar det nedan.
Det finns många platser där det här skriptet kan misslyckas. Bli inte frustrerad om det inte fungerar första gången. Använd felsökningspunkterna i skriptet för att begränsa problemområdena och fokusera sedan på ett problem i taget.
Steg 11: Trigger e -postskript när laser utlöses
Nu när pi kan skicka e -post, låt oss automatisera det så att varje gång lasern utlöses får vi ett e -postmeddelande. Ladda ner den bifogade filen som är en modifierad version av read_pin.py som innehåller en ny funktion för att hylla e -postskriptet. Den viktigaste tilläggslinjen är följande
sm_pid = os.spawnlp (os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")
Den här raden startar skicka e -postskriptet parallellt med lasersensorskriptet. Detta är önskvärt eftersom det tar några sekunder att skicka e -postskriptet och det skulle blockera laseravkänningsskriptet från att köras tills e -postmeddelandet skickades. Detta är inte ett problem för ett enda kamerasystem, men om du hade flera kameror skulle du vilja upptäcka en laserresa på kamera 1 även om kamera 2 har utlöst en e -posthändelse. Sm_pid -variabeln innehåller pid för processen som startas av detta kommando. Vi söker efter detta id om e -postutlösaren anropas igen om den finns, e -postmeddelandet skickas fortfarande så vi ignorerar händelsen. Om det inte finns är det troligtvis en ny händelse och ett e -postmeddelande skickas.
Testa allt fungerar genom att köra
cd /katalog där du lägger filen /
chmod 777 read_pin_with_mail.py
sudo python3 read_pin_with_mail.py
När du bryter laserstrålen bör du få ett mejl med ögonblicksbilden från webbkameran.
Steg 12: Skapa ett huvudskript för att initiera systemet
Vid denna tidpunkt är projektet mestadels klart. Ett sista steg är att förenkla uppstarten av systemet med ett sista skript. Det kommer att starta alla delprogram och ställa in webbkameran med ett skript. Den bifogade filen kan startas vid start genom att redigera din /etc/rc.local -fil. Du måste ändra filtillägget och kan behöva redigera skriptet för att inkludera rätt sökvägar om du lägger dina skript på en annan plats.
Steg 13: Slutsats
Det är väl det. Jag hoppas att du njöt av detta instruerbara! Låt mig veta i kommentarerna om du har några frågor eller behöver mer detaljerad information inom några områden. Fortsätt pyssla!
Rekommenderad:
Pizero Motion Detect Webcam Security System: 3 steg
Pizero Motion Detect Webcam Security System: Detta system använder en pizero, wifi -dongel och en gammal webbkamera i ett anpassat matchbox -fodral. Det spelar in videor för rörelsedetektering vid 27 bps av någon betydande rörelse på min uppfart. Det laddar sedan upp klippen till ett dropbox -konto. Kan också se loggarna och
IOT Home Security System: 3 steg
IOT Home Security System: En av de mest användbara IoT -applikationerna är hemmasäkerhet. Tänk dig en tjuv som skär din säkerhetskameratråd medan du försöker bryta sig in i ditt hus, det här händer inte om ditt säkerhetssystem går trådlöst och smart
Arduino Home Security System: 7 steg (med bilder)
Arduino Home Security System: Detta är ett hemmasäkerhetssystem som använder Arduino Mega 2560, vilket kommer att utlösa larm när någon dörr öppnas eller rörelse detekteras i rummet när systemet aktiveras. Det är ett trevligt projekt för alla under sista året på universitetet. du kan uppgradera det
Laser Box Music Laser Light Show: 18 steg (med bilder)
Laser Box Music Laser Light Show: Jag har tidigare publicerat en Instructable som beskrev hur man använder datorns hårddiskar för att göra en laserlaser. Jag bestämde mig för att göra en kompakt version med hjälp av en elektrisk låda och RC -bilmotorer. Innan jag börjar borde jag förmodligen berätta för dig den där
NowGuard Security System: 9 steg (med bilder)
NowGuard Security System: Detta instruerbara skapades för att uppfylla projektkravet för Makecourse vid University of South Florida (www.makecourse.com). Detta i NowGuard -säkerhetssystemet, ett snabbt säkerhetssystem som är perfekt för enkla säkerhetsbehov