- Potrebne komponente:
- Delovna razlaga:
- Opis vezja:
- Pojasnilo konfiguracije in programiranja Raspberry Pi:
V svetu interneta stvari (IoT), ko imamo vse tehnologije za revolucijo našega življenja, je odlična ideja razviti sistem, ki ga je mogoče nadzorovati in spremljati od kjer koli. Obstaja veliko vrst dobrih varnostnih sistemov in kamer za domačo varnost, vendar so zelo dragi, zato bomo danes zgradili poceni preprost sistem za opozarjanje vsiljivcev na osnovi Raspberry Pi, ki vas ne bo opozoril samo po e-pošti, ampak bo poslal tudi sliko Vsiljivec, ko ga zazna.
V tem projektu, ki temelji na IoT, bomo z uporabo senzorja PIR in kamere PI zgradili sistem za domačo varnost. Ta sistem bo zaznal prisotnost vsiljivca in uporabnika hitro opozoril s pošiljanjem opozorilnega sporočila. V tem sporočilu bo tudi slika vsiljivca, posneta s kamero Pi. Raspberry Pi se uporablja za nadzor celotnega sistema. Ta sistem lahko namestite na glavna vrata vašega doma ali pisarne in ga lahko spremljate od koder koli na svetu z uporabo e-pošte prek interneta.
Potrebne komponente:
- Raspberry Pi
- Pi kamera
- PIR senzor
- LED
- Odbor za kruh
- Upor (1k)
- Priključne žice
- Napajanje
Vse komponente, uporabljene v tem projektu, lahko kupite tukaj.
Delovna razlaga:
Delo s tem projektom je zelo preprosto. Senzor PIR se uporablja za zaznavanje prisotnosti katere koli osebe, kamera Pi pa za zajem slik, ko je prisotnost zaznala.
Kadar koli kdo ali vsiljivec pride v domet PIR senzorja, senzor PIR sproži kamero Pi prek Raspberry Pi. Raspberry pi pošlje ukaze kameri Pi, da klikne sliko in jo shrani. Po njem Raspberry Pi ustvari pošto in jo z nedavno kliknjenimi slikami pošlje na določen poštni naslov. Pošta vsebuje prilogo sporočilo in sliko vsiljivca. Tukaj smo uporabili sporočilo "Prosimo, poiščite prilogo", ki ga lahko ustrezno spremenite v kodi, navedeni na koncu.
Tu so slike shranjene v Raspberry Pi z imenom, ki samo vsebuje čas in datum vnosa. Če želite preveriti uro in datum vstopa vsiljivca tako, da samo pogledamo ime slike, preverite spodnje slike. Če ste novi s kamero Pi, si oglejte našo prejšnjo vadnico o sistemu za spremljanje obiskovalcev s kamero Pi.
Območje zaznavanja ali razdaljo tega sistema lahko prilagodite tudi s potenciometri PIR senzorja. Tukaj lahko izveste več o PIR senzorju za nastavitev obsega. Preverite tudi protivlomni alarm na osnovi PIR senzorja
Opis vezja:
V tem sistemu za opozarjanje vsiljivca moramo na Raspberry Pi 3 priključiti le modul kamere Pi in senzor PIR. Pi Camera je priključen na režo za kamero na Raspberry Pi, PIR pa na GPIO pin 18. LED tudi na GPIO pin 17 prek 1k upora.
Pojasnilo konfiguracije in programiranja Raspberry Pi:
Tukaj za program uporabljamo jezik Python. Pred kodiranjem mora uporabnik konfigurirati Raspberry Pi. Spodaj bi morali predstaviti dve vadnici za začetek uporabe Raspberry Pi ter namestitev in konfiguracijo OS Raspbian Jessie v Pi:
- Uvod v Raspberry Pi - Uvod
- Uvod v Raspberry Pi - Konfiguracija
Po uspešni namestitvi OS Raspbian na Raspberry Pi moramo namestiti datoteke knjižnice fotoaparata Pi za zagon tega projekta v Raspberry pi. Za to moramo slediti danim ukazom:
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
Po tem mora uporabnik s pomočjo orodja za konfiguracijo programske opreme Raspberry Pi (raspi-config) omogočiti kamero Raspberry Pi:
$ sudo raspi-config
Nato izberite Omogoči kamero in Omogoči.
Nato mora uporabnik znova zagnati Raspberry Pi, tako da izda sudo ponovni zagon , da lahko začne nova nastavitev. Zdaj je vaša kamera Pi pripravljena za uporabo.
Zdaj po nastavitvi Pi kamere bomo namestili programsko opremo za pošiljanje pošte. Tu uporabljamo ssmtp, ki je enostavna in dobra rešitev za pošiljanje pošte z ukazno vrstico ali s pomočjo skripta Python. Namestiti moramo dve knjižnici za pošiljanje pošte prek SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Po namestitvi knjižnic mora uporabnik odpreti datoteko ssmtp.conf in urediti to konfiguracijsko datoteko, kot je prikazano na spodnji sliki, nato datoteko shraniti. Če želite datoteko shraniti in zapreti, pritisnite 'CTRL + x', nato 'y' in nato 'enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 ime gostitelja = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = DA UseSTARTTLS = DA UseTLS = YES
Preizkusimo ga lahko tudi s pošiljanjem preizkusnega sporočila z izdajo spodnjega ukaza, če prejmete sporočilo na omenjeni e-poštni naslov, če vse deluje v redu:
echo "Hello saddam" - mail -s "Testing…" [email protected]
Program Python tega projekta igra zelo pomembno vlogo za izvajanje vseh operacij. Najprej vključimo potrebne knjižnice za e-pošto, inicializiramo spremenljivke in določimo nožice za PIR, LED in druge komponente. Za pošiljanje preproste e-pošte zadostuje smtplib, če pa želite pošto pošiljati na čistejši način z zadevo, prilogo itd., Potem morate uporabiti MIME (Večnamenske razširitve internetne pošte).
import RPi.GPIO as gpio import picamera import time import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from email.MIMEBase import MIMEBase from email import encoders from email.mime.image import MIMEImage
Po njem smo inicializirali pošto in opredelili poštni naslov in sporočila:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Priloga" body = "Poiščite prilogo"
Nato smo ustvarili funkcijo def sendMail (data) za pošiljanje pošte:
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, "vaše geslo") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funkcija def capture_image () je ustvarjena za zajem slike vsiljivca s časom in datumom.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) print data camera.capture ('% s. jpg '% podatkov) camera.stop_preview () time.sleep (1) sendMail (data)
Nato smo Picamero inicializirali z nekaterimi nastavitvami:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
In nazadnje smo prebrali izhod senzorja PIR in ko se ta visoko dvigne, Raspberry Pi pokliče funkcijo capture_image (), da zajame podobo vsiljivca in kot prilogo pošlje opozorilno sporočilo s sliko vsiljivca. Za pošiljanje pošte smo uporabili funkcijo sendmail () insdie capture_image () .
while 1: če je 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)
Torej, kako deluje ta varnostni sistem Raspberry Pi, lahko za zaznavanje prisotnosti vlomilca ali vsiljivca uporabite tudi ultrazvočni senzor ali IR senzor. Nadalje preverite celotno kodo in predstavitveni video spodaj.