- Nødvendige komponenter:
- Arbejdsforklaring:
- Beskrivelse af kredsløb:
- Raspberry Pi Konfiguration og programmering Forklaring:
I verden af tingenes internet (IoT), når vi har alle teknologierne til at revolutionere vores liv, er det en god ide at udvikle et system, der kan styres og overvåges hvor som helst. Der er mange typer gode sikkerhedssystemer og kameraer derude til sikkerhed i hjemmet, men de er meget dyre, så i dag vil vi opbygge et billigt simpelt Raspberry Pi-baseret indtrængningsalarmsystem, som ikke kun advarer dig via en e-mail, men også sender billedet af Indtrænger, når den opdager nogen.
I dette IoT-baserede projekt bygger vi et hjemmesikkerhedssystem ved hjælp af PIR-sensor og PI-kamera. Dette system registrerer tilstedeværelsen af Intruder og advarer hurtigt brugeren ved at sende ham en alarmpost. Denne mail indeholder også billedet af indtrængeren, fanget af Pi-kameraet. Raspberry Pi bruges til at kontrollere hele systemet. Dette system kan installeres ved hoveddøren til dit hjem eller kontor, og du kan overvåge det overalt i verden ved hjælp af din e-mail over internettet.
Nødvendige komponenter:
- Hindbær Pi
- Pi-kamera
- PIR-sensor
- LED
- Brødbræt
- Modstand (1k)
- Tilslutning af ledninger
- Strømforsyning
Du kan købe alle de komponenter, der bruges i dette projekt herfra.
Arbejdsforklaring:
Arbejdet med dette projekt er meget simpelt. En PIR-sensor bruges til at registrere tilstedeværelsen af enhver person, og et Pi-kamera bruges til at tage billederne, når den tilstedeværelse detekterede.
Når nogen eller en ubuden gæst kommer inden for rækkevidde af PIR-sensor, udløser PIR-sensor Pi-kameraet gennem Raspberry Pi. Raspberry pi sender kommandoer til Pi-kamera for at klikke på billedet og gemme det. Efter det opretter Raspberry Pi en mail og sender den til den definerede e-mail-adresse med for nylig klikkede billeder. Mailen indeholder en besked og et billede af en ubuden gæst som vedhæftet fil. Her har vi brugt meddelelsen "Find venligst den vedhæftede fil", du kan ændre den i overensstemmelse med den kode, der er givet til sidst.
Her gemmes billederne i Raspberry Pi med navnet, som i sig selv indeholder tidspunkt og dato for indtastning. For at vi kan kontrollere tidspunktet og datoen for en indtrængers indrejse ved blot at se på billednavnet, skal du kontrollere billederne nedenfor. Hvis du er ny med Pi Camera, skal du tjekke vores tidligere tutorial om Visitor Monitoring System med Pi Camera.
Du kan også justere detektionsområdet eller afstanden for dette system ved hjælp af PIR-sensorens potentiometre. Lær mere om PIR-sensor her for at justere rækkevidden, og kontroller også PIR-sensorbaseret tyverialarm.
Beskrivelse af kredsløb:
I dette Intruder Alert System behøver vi kun at forbinde Pi-kameramodul og PIR-sensor til Raspberry Pi 3. Pi Camera er tilsluttet ved Raspberry Pi's kameraåbning, og PIR er forbundet til GPIO-pin 18. En LED er også forbundet til GPIO-pin 17 gennem en 1k-modstand.
Raspberry Pi Konfiguration og programmering Forklaring:
Vi bruger Python-sprog her til programmet. Før kodning skal brugeren konfigurere Raspberry Pi. Du skal nedenfor to vejledninger til Kom godt i gang med Raspberry Pi og installation og konfiguration af Raspbian Jessie OS i Pi:
- Kom godt i gang med Raspberry Pi - Introduktion
- Kom godt i gang med Raspberry Pi - Konfiguration
Efter succesfuld installation af Raspbian OS på Raspberry Pi, skal vi installere Pi-kamerabiblioteksfiler for at køre dette projekt i Raspberry pi. For at gøre dette skal vi følge de givne kommandoer:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Efter det skal brugeren aktivere Raspberry Pi Camera ved hjælp af Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Vælg derefter Aktivér kamera, og Aktiver det.
Derefter skal brugeren genstarte Raspberry Pi ved at udstede sudo-genstart , så den nye indstilling kan tage. Nu er dit Pi-kamera klar til brug.
Efter installation af Pi Camera installerer vi nu software til afsendelse af mailen. Her bruger vi ssmtp, som er en nem og god løsning til afsendelse af mail ved hjælp af kommandolinjen eller ved hjælp af Python Script. Vi skal installere to biblioteker til afsendelse af mails ved hjælp af SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Efter installation af biblioteker skal brugeren åbne ssmtp.conf- filen og redigere denne konfigurationsfil som vist i billedet nedenfor og derefter gemme filen. For at gemme og afslutte filen skal du trykke på 'CTRL + x', derefter 'y' og derefter trykke på 'enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
Vi kan også teste det ved at sende en testmail ved at udstede nedenstående kommando, du får mailen på den nævnte e-mail-adresse, hvis alt fungerer fint:
ekko "Hello saddam" - mail -s "Testing…" [email protected]
Python-programmet for dette projekt spiller en meget vigtig rolle for at udføre alle operationer. Først og fremmest inkluderer vi påkrævede biblioteker til e-mail, initialiserer variabler og definerer ben til PIR, LED og andre komponenter. For at sende enkel e-mail er smtplib nok, men hvis du vil sende mail på renere måde med emnelinje, vedhæftet fil osv., Skal du bruge MIME (Multipurpose Internet Mail Extensions).
import RPi.GPIO som gpio import picamera importtid import smtplib fra email.MIMEMultipart import MIMEMultipart fra email.MIMEText import MIMEText fra email.MIMEBase import MIMEBase fra email import kodere fra email.mime.image import MIMEImage
Efter det har vi initialiseret mail og definerer mailadresse og meddelelser:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Vedhæftet fil" body = "Find vedhæftet fil"
Derefter har vi oprettet def sendMail (data) funktion til afsendelse af mail:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat vedhæftet fil = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (image) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "din adgangskode") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funktion def capture_image () er oprettet for at fange billedet af ubuden gæst med tid og dato.
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)
Derefter initialiserede vi Picamera med nogle af dens indstillinger:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Og nu til sidst har vi læst PIR-sensoroutput, og når det går højt, kalder Raspberry Pi capture_image () -funktionen for at fange billedet af en ubuden gæst og sende en advarselsmeddelelse med billedet af en ubuden gæst som vedhæftet fil. Vi har brugt sendmail () insdie capture_image () funktion til at sende mailen.
mens 1: hvis gpio.input (pir) == 1: gpio.output (ledet, HIGH) capture_image () mens (gpio.input (pir) == 1): time.sleep (1) andet: gpio.output (ledet, LAVT) time.sleep (0.01)
Så dette, hvordan dette Raspberry Pi Security System fungerer, kan du også bruge ultralydssensor eller IR-sensor til at opdage tilstedeværelsen af indbrudstyv eller indtrænger. Yderligere kontrollere fulde kode og demonstration video nedenfor.