- Componente necesare:
- Explicație de lucru:
- Descrierea circuitului:
- Configurare și programare Raspberry Pi Explicație:
În lumea Internetului obiectelor (IoT), când avem toate tehnologiile pentru a ne revoluționa viața, este o idee minunată să dezvoltăm un sistem care poate fi controlat și monitorizat de oriunde. Există multe tipuri de sisteme și camere de securitate bune pentru securitate la domiciliu, dar acestea sunt mult mai scumpe, așa că astăzi vom construi un sistem de alertă intrus simplu bazat pe Raspberry Pi, care nu numai că vă avertizează printr-un e-mail, ci și trimite imaginea Intrus atunci când detectează vreunul.
În acest proiect bazat pe IoT, vom construi un sistem de securitate la domiciliu utilizând senzorul PIR și camera PI. Acest sistem va detecta prezența intrusului și va alerta rapid utilizatorul, trimițându-i un e-mail de alertă. Acest e-mail va conține, de asemenea, Picture of the Intruder, capturat de camera Pi. Raspberry Pi este folosit pentru a controla întregul sistem. Acest sistem poate fi instalat la ușa principală a casei sau a biroului și îl puteți monitoriza de oriunde din lume folosind e-mailul dvs. prin internet.
Componente necesare:
- Raspberry Pi
- Camera Pi
- Senzor PIR
- LED
- Pâine
- Rezistor (1k)
- Conectarea firelor
- Alimentare electrică
Puteți cumpăra toate componentele utilizate în acest proiect de aici.
Explicație de lucru:
Lucrul acestui proiect este foarte simplu. Un senzor PIR este utilizat pentru a detecta prezența oricărei persoane și o cameră Pi este utilizată pentru a captura imaginile atunci când a detectat prezența.
Ori de câte ori cineva sau un intrus vine în gama senzorului PIR, senzorul PIR declanșează camera Pi prin Raspberry Pi. Raspberry pi trimite comenzi către camera Pi pentru a face clic pe imagine și a o salva. După aceasta, Raspberry Pi creează un e-mail și îl trimite la adresa de e-mail definită cu imagini recent făcute clic. E-mailul conține un mesaj și o imagine a intrusului ca atașament. Aici am folosit mesajul „Vă rugăm să găsiți atașamentul”, îl puteți modifica corespunzător în Codul dat la final.
Aici imaginile sunt salvate în Raspberry Pi cu numele care conține în sine ora și data intrării. Pentru a putea verifica ora și data intrării intrusului, uitându-ne doar la numele imaginii, verificați imaginile de mai jos. Dacă sunteți nou în camera Pi, consultați tutorialul nostru anterior privind sistemul de monitorizare a vizitatorilor cu camera Pi.
De asemenea, puteți regla intervalul de detectare sau distanța acestui sistem folosind potențiometrele senzorului PIR. Aflați mai multe despre senzorul PIR aici pentru a regla intervalul, verificați și alarma antiefracție bazată pe senzorul PIR.
Descrierea circuitului:
În acest sistem de avertizare împotriva intrușilor, trebuie să conectăm doar modulul Pi Camera și senzorul PIR la Raspberry Pi 3. Camera Pi este conectată la slotul camerei Raspberry Pi, iar PIR este conectat la pinul GPIO 18. Un LED este, de asemenea, conectat la pinul GPIO 17 printr-un rezistor de 1k.
Configurare și programare Raspberry Pi Explicație:
Aici folosim limbajul Python pentru program. Înainte de codificare, utilizatorul trebuie să configureze Raspberry Pi. Ar trebui mai jos două tutoriale pentru Noțiuni introductive despre Raspberry Pi și instalarea și configurarea sistemului de operare Raspbian Jessie în Pi:
- Noțiuni introductive despre Raspberry Pi - Introducere
- Noțiuni introductive despre Raspberry Pi - Configurare
După instalarea cu succes a Raspbian OS pe Raspberry Pi, trebuie să instalăm fișierele bibliotecii de camere Pi pentru a rula acest proiect în Raspberry pi. Pentru a face acest lucru, trebuie să urmăm comenzile date:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
După aceasta, utilizatorul trebuie să activeze camera Raspberry Pi utilizând instrumentul de configurare software Raspberry Pi (raspi-config):
$ sudo raspi-config
Apoi selectați Activați camera și Activați-o.
Apoi, utilizatorul trebuie să repornească Raspberry Pi, emițând sudo reboot , astfel încât să poată lua o nouă setare. Acum, camera dvs. Pi este gata de utilizare.
Acum, după configurarea camerei Pi, vom instala software pentru trimiterea e-mailului. Aici folosim ssmtp, care este o soluție ușoară și bună pentru trimiterea de e-mail folosind linia de comandă sau folosind Python Script. Trebuie să instalăm două biblioteci pentru trimiterea de mesaje prin SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
După instalarea bibliotecilor, utilizatorul trebuie să deschidă fișierul ssmtp.conf și să editeze acest fișier de configurare așa cum se arată în imaginea de mai jos și apoi să salveze fișierul. Pentru a salva și a ieși din fișier, apăsați „CTRL + x”, apoi „y” și apoi apăsați „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
Putem, de asemenea , să-l testăm prin trimiterea unui e-mail de testare prin emiterea comenzii de mai jos, veți primi e-mailul pe adresa de e-mail menționată dacă totul funcționează bine:
ecou „Bună ziua saddam” - e-mail „Testare…” [email protected]
Programul Python al acestui proiect joacă un rol foarte important pentru a efectua toate operațiunile. În primul rând, includem bibliotecile necesare pentru e-mail, inițializăm variabilele și definim pini pentru PIR, LED și alte componente. Pentru trimiterea unui e-mail simplu, smtplib este suficient, dar dacă doriți să trimiteți e-mailuri într-un mod mai curat cu subiect, atașament etc., atunci trebuie să utilizați MIME (Multipurpose Internet Mail Extensions).
import RPi.GPIO ca gpio import picamera import timp import smtplib din e-mail.MIMEM import multipart MIMEMultipart din e-mail.MIMEText import MIMEText din e-mail.MIMEBase import MIMEBase din e-mail import codificatori din email.mime.image import MIMEImage
După aceasta, am inițializat poșta și am definit adresa de e-mail și mesajele:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Attachment" body = "Vă rugăm să găsiți atașamentul"
Apoi am creat funcția def sendMail (date) pentru trimiterea e-mailului:
def sendMail (date): 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, "parola ta") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funcția def capture_image () este creată pentru a captura imaginea intrusului cu ora și data.
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 (date)
Apoi am inițializat Picamera cu câteva dintre setările sale:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Și acum, în sfârșit, am citit ieșirea senzorului PIR și când acesta crește, Raspberry Pi apelează funcția capture_image () pentru a captura imaginea intrusului și a trimite un mesaj de alertă cu imaginea intrusului ca atașament. Am folosit funcția sendmail () insdie capture_image () pentru trimiterea e-mailului.
în timp ce 1: if gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (led, LOW) time.sleep (0,01)
Deci, așa cum funcționează acest sistem de securitate Raspberry Pi, puteți utiliza, de asemenea, senzor cu ultrasunete sau senzor IR pentru a detecta prezența unui spargător sau a unui intrus. Verificați în continuare Codul complet și videoclipul demonstrativ de mai jos.