- Komponenter som krävs:
- Arbetsförklaring:
- Kretsbeskrivning:
- Raspberry Pi Konfiguration och programmering Förklaring:
I världens Internet of Things (IoT) när vi har all teknik för att revolutionera vårt liv, är det en bra idé att utveckla ett system som kan styras och övervakas var som helst. Det finns många typer av bra säkerhetssystem och kameror där ute för hemsäkerhet men de är mycket dyra, så idag kommer vi att bygga ett billigt enkelt Raspberry Pi-baserat Intruder Alert System, som inte bara varnar dig via ett e-post utan också skickar bilden av Intrång när den upptäcker någon.
I detta IoT-baserade projekt kommer vi att bygga ett hemskyddssystem med PIR-sensor och PI-kamera. Detta system kommer att upptäcka närvaron av Intruder och snabbt varna användaren genom att skicka ett varningsmeddelande till honom. Det här meddelandet innehåller också bilden av inkräktaren, fångad av Pi-kameran. Raspberry Pi används för att styra hela systemet. Detta system kan installeras vid huvuddörren till ditt hem eller kontor och du kan övervaka det var som helst i världen med din e-post via internet.
Komponenter som krävs:
- Raspberry Pi
- Pi-kamera
- PIR-sensor
- LED
- Brödbräda
- Motstånd (1k)
- Anslutande ledningar
- Strömförsörjning
Du kan köpa alla komponenter som används i detta projekt härifrån.
Arbetsförklaring:
Att arbeta med detta projekt är mycket enkelt. En PIR-sensor används för att upptäcka någon persons närvaro och en Pi-kamera används för att fånga bilderna när närvaron den upptäckte.
När någon eller inkräktare kommer inom PIR-sensorn, utlöser PIR-sensorn Pi-kameran genom Raspberry Pi. Raspberry pi skickar kommandon till Pi-kameran för att klicka på bilden och spara den. Efter det skapar Raspberry Pi ett mail och skickar det till den definierade e-postadressen med nyligen klickade bilder. E-postmeddelandet innehåller ett meddelande och en bild av inkräktaren som bilaga. Här har vi använt meddelandet "Please find the attachment", du kan ändra det i enlighet med koden i slutet.
Här sparas bilderna i Raspberry Pi med namnet som i sig innehåller tid och datum för inmatningen. För att vi ska kunna kontrollera tid och datum för inkräktare genom att bara titta på bildnamnet, kolla bilderna nedan. Om du är ny med Pi Camera, kolla in vår tidigare handledning om Visitor Monitoring System med Pi Camera.
Du kan också justera detektionsområdet eller avståndet för detta system med PIR-sensorns potentiometrar. Läs mer om PIR-sensor här för att justera räckvidden, kolla också PIR-sensorbaserat inbrottslarm.
Kretsbeskrivning:
I detta Intruder Alert System behöver vi bara ansluta Pi Camera-modul och PIR-sensor till Raspberry Pi 3. Pi-kamera är ansluten till Raspberry Pi-kameraplatsen och PIR är ansluten till GPIO-stift 18. En LED är också ansluten till GPIO-stift 17 via ett 1k-motstånd.
Raspberry Pi Konfiguration och programmering Förklaring:
Vi använder Pythonspråk här för programmet. Innan kodning måste användaren konfigurera Raspberry Pi. Du bör nedan två handledning för att komma igång med Raspberry Pi och installera och konfigurera Raspbian Jessie OS i Pi:
- Komma igång med Raspberry Pi - Introduktion
- Komma igång med Raspberry Pi - Konfiguration
Efter att ha lyckats installera Raspbian OS på Raspberry Pi, måste vi installera Pi-kamerabiblioteksfiler för att köra detta projekt i Raspberry pi. För att göra detta måste vi följa givna kommandon:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Efter det måste användaren aktivera Raspberry Pi Camera med hjälp av Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Välj sedan Aktivera kamera och Aktivera den.
Då måste användaren starta om Raspberry Pi, genom att utfärda sudo-omstart , så att den nya inställningen kan ta. Nu är din Pi-kamera redo att användas.
Efter att ha konfigurerat Pi Camera kommer vi att installera programvara för att skicka e-post. Här använder vi ssmtp som är en enkel och bra lösning för att skicka e-post med hjälp av kommandoraden eller med Python Script. Vi måste installera två bibliotek för att skicka e-post med SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Efter att ha installerat bibliotek måste användaren öppna ssmtp.conf- filen och redigera den här konfigurationsfilen enligt bilden nedan och sedan spara filen. För att spara och avsluta filen, tryck på 'CTRL + x', sedan 'y' och tryck sedan på 'enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 värdnamn = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = JA UseSTARTTLS = JA UseTLS = YES
Vi kan också testa det genom att skicka ett testmeddelande genom att utfärda kommandot nedan, du får posten på den nämnda e-postadressen om allt fungerar bra:
echo "Hello saddam" - mail -s "Testing…" [email protected]
Python-programmet för detta projekt spelar en mycket viktig roll för att utföra alla operationer. Först och främst inkluderar vi obligatoriska bibliotek för e-post, initierar variabler och definierar stift för PIR, LED och andra komponenter. För att skicka enkel e-post räcker det med smtplib men om du vill skicka e-post på ett renare sätt med ämnesraden, bilagor etc. måste du använda MIME (Multipurpose Internet Mail Extensions).
importera RPi.GPIO som gpio importera picamera importtid importera smtplib från e-post.MIMEMultipart importera MIMEMultipart från e-post.MIMEText importera MIMEText från e-post.MIMEBase importera MIMEBase från e-post importera kodare från email.mime.image importera MIMEImage
Efter det har vi initierat e-post och definierat e-postadress och meddelanden:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Bilaga" body = "Vänligen hitta bilagan"
Sedan har vi skapat def sendMail (data) -funktion för att skicka e-post:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (image) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "ditt lösenord") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funktion def capture_image () skapas för att fånga bilden av inkräktaren med tid och datum.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) print data camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (data)
Sedan initierade vi Picamera med några av dess inställningar:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Och nu till sist har vi läst PIR-sensorns utgång och när det går högt kallar Raspberry Pi funktionen capture_image () för att fånga bilden av inkräktaren och skicka ett varningsmeddelande med bilden av inkräktaren som en bilaga. Vi har använt funktionen sendmail () insdie capture_image () för att skicka e-post.
medan 1: om gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () medan (gpio.input (pir) == 1): time.sleep (1) annat: gpio.output (led, LOW) time.sleep (0.01)
Så här hur detta Raspberry Pi Security System fungerar kan du också använda ultraljudssensor eller IR-sensor för att upptäcka närvaron av inbrottstjuv eller inkräktare. Ytterligare kontrollera hela koden och demonstration video nedan.