- Nødvendige komponenter:
- Arbeidsforklaring:
- Kretsbeskrivelse:
- Raspberry Pi Konfigurasjon og programmering Forklaring:
I verden av tingenes internett (IoT) når vi har alle teknologiene for å revolusjonere livet vårt, er det en god idé å utvikle et system som kan kontrolleres og overvåkes hvor som helst. Det er mange typer gode sikkerhetssystemer og kameraer der ute for hjemmets sikkerhet, men de er mye dyre, så i dag skal vi bygge et billig Raspberry Pi-basert inntrengervarslingssystem, som ikke bare varsler deg via en e-post, men også sender bildet av Inntrenger når den oppdager noe.
I dette IoT-baserte prosjektet vil vi bygge et hjemmesikkerhetssystem ved hjelp av PIR-sensor og PI-kamera. Dette systemet vil oppdage tilstedeværelsen av Intruder og raskt varsle brukeren ved å sende ham en varselpost. Denne e-posten vil også inneholde bildet av inntrengeren, tatt av Pi-kameraet. Raspberry Pi brukes til å kontrollere hele systemet. Dette systemet kan installeres ved hoveddøren til hjemmet eller kontoret, og du kan overvåke det fra hvor som helst i verden ved hjelp av e-posten din via internett.
Nødvendige komponenter:
- Bringebær Pi
- Pi-kamera
- PIR-sensor
- LED
- Brødtavle
- Motstand (1k)
- Koble ledninger
- Strømforsyning
Du kan kjøpe alle komponentene som brukes i dette prosjektet herfra.
Arbeidsforklaring:
Arbeidet med dette prosjektet er veldig enkelt. En PIR-sensor brukes til å oppdage tilstedeværelsen til enhver person, og et Pi-kamera brukes til å ta bilder når tilstedeværelsen den oppdaget.
Når noen eller en inntrenger kommer innen rekkevidde av PIR-sensor, utløser PIR-sensor Pi-kameraet gjennom Raspberry Pi. Raspberry pi sender kommandoer til Pi-kameraet for å klikke på bildet og lagre det. Etter det oppretter Raspberry Pi en e-post og sender den til den definerte e-postadressen med nylig klikkede bilder. Posten inneholder en melding og bilde av inntrenger som vedlegg. Her har vi brukt meldingen "Vennligst finn vedlegget", du kan endre det tilsvarende i koden gitt på slutten.
Her lagres bildene i Raspberry Pi med navnet som i seg selv inneholder tidspunkt og dato for oppføring. For å kunne sjekke tidspunkt og dato for inntrenger ved å bare se på Navnet på bildet, sjekk bildene nedenfor. Hvis du er ny med Pi Camera, kan du sjekke vår forrige opplæring om Visitor Monitoring System with Pi Camera.
Du kan også justere deteksjonsområdet eller avstanden til dette systemet ved hjelp av PIR-sensorens potensiometre. Lær mer om PIR-sensor her for å justere rekkevidden, sjekk også PIR-sensorbasert innbruddsalarm.
Kretsbeskrivelse:
I dette Intruder Alert System trenger vi bare å koble Pi Camera-modul og PIR-sensor til Raspberry Pi 3. Pi Camera er koblet til kamerasporet på Raspberry Pi, og PIR er koblet til GPIO-pin 18. En LED er også koblet til GPIO-pin 17 gjennom en 1k motstand.
Raspberry Pi Konfigurasjon og programmering Forklaring:
Vi bruker Python-språk her for programmet. Før koding må brukeren konfigurere Raspberry Pi. Du bør nedenfor to veiledninger for å komme i gang med Raspberry Pi og installere og konfigurere Raspbian Jessie OS i Pi:
- Komme i gang med Raspberry Pi - Introduksjon
- Komme i gang med Raspberry Pi - Konfigurasjon
Etter å ha installert Raspbian OS på Raspberry Pi, må vi installere Pi-kamerabiblioteksfiler for å kjøre dette prosjektet i Raspberry pi. For å gjøre dette må vi følge gitte kommandoer:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Etter det må brukeren aktivere Raspberry Pi Camera ved å bruke Raspberry Pi Software Configuration Tool (raspi-config):
$ sudo raspi-config
Velg deretter Aktiver kamera og Aktiver det.
Da må brukeren starte Raspberry Pi på nytt, ved å utstede sudo-omstart , slik at ny innstilling kan ta. Nå er Pi-kameraet ditt klart til bruk.
Nå etter å ha satt opp Pi Camera, installerer vi programvare for sending av e-post. Her bruker vi ssmtp, som er en enkel og god løsning for å sende e-post ved hjelp av kommandolinjen eller bruke Python Script. Vi må installere to biblioteker for å sende e-post ved hjelp av SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Etter at biblioteker er installert, må brukeren åpne ssmtp.conf- filen og redigere denne konfigurasjonsfilen som vist i bildet nedenfor og deretter lagre filen. For å lagre og avslutte filen, trykk 'CTRL + x', deretter 'y' og trykk deretter '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 å sende en testpost ved å utstede kommandoen nedenfor. Du får posten på den nevnte e-postadressen hvis alt fungerer bra:
ekko "Hello saddam" - mail -s "Testing…" [email protected]
Python-programmet til dette prosjektet spiller en veldig viktig rolle for å utføre alle operasjonene. Først og fremst inkluderer vi nødvendige biblioteker for e-post, initialiserer variabler og definerer pinner for PIR, LED og andre komponenter. For å sende enkel e-post er smtplib nok, men hvis du vil sende e-post på renere måte med emnelinje, vedlegg osv., Må du bruke MIME (Multipurpose Internet Mail Extensions).
importere RPi.GPIO som gpio importere picamera importtid importere smtplib fra e-post.MIMEMultipart import MIMEMultipart fra e-post.MIMETekst importere MIMETekst fra e-post.MIMEBase import MIMEBase fra e-post importere kodere fra email.mime.image import MIMEImage
Etter det har vi initialisert e-post og definerer e-postadresse og meldinger:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Vedlegg" body = "Vennligst finn vedlegget"
Så har vi opprettet def sendMail (data) -funksjon for å sende e-post:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat vedlegg = 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 passord") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funksjon def capture_image () er opprettet for å fange bildet av inntrenger 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)
Så initialiserte vi Picamera med noen av innstillingene:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Og nå til slutt, har vi lest PIR-sensorutgangen, og når den går høyt, kaller Raspberry Pi capture_image () -funksjonen for å fange bildet av inntrenger og sende en varselmelding med bildet av inntrenger som vedlegg. Vi har brukt sendmail () insdie capture_image () -funksjon for å sende e-posten.
mens 1: hvis gpio.input (pir) == 1: gpio.output (ledet, HIGH) capture_image () mens (gpio.input (pir) == 1): time.sleep (1) annet: gpio.output (ledet, LAV) tid. søvn (0.01)
Så dette hvordan dette Raspberry Pi Security System fungerer, kan du også bruke ultralydsensor eller IR-sensor for å oppdage tilstedeværelsen av innbruddstyv eller inntrenger. Videre sjekk Full-koden og demonstrasjon Video nedenfor.