- Požadované komponenty:
- Pracovné vysvetlenie:
- Popis obvodu:
- Vysvetlenie konfigurácie a programovania Raspberry Pi:
Vo svete internetu vecí (IoT), keď máme všetky technológie, ktoré znamenajú revolúciu v našom živote, je skvelý nápad vyvinúť systém, ktorý je možné ovládať a monitorovať odkiaľkoľvek. Existuje veľa druhov dobrých bezpečnostných systémov a kamier na zabezpečenie domácnosti, ale sú oveľa nákladnejšie, takže dnes zostavíme nízkonákladový jednoduchý systém upozornenia na narušiteľa založený na Raspberry Pi, ktorý vás nielen upozorní prostredníctvom e-mailu, ale aj pošle obrázok Votrelec, keď zistí akékoľvek.
V tomto projekte založenom na IoT postavíme domáci bezpečnostný systém pomocou PIR snímača a PI kamery. Tento systém zistí prítomnosť Votrelca a používateľa rýchlo upozorní zaslaním výstražného e-mailu. Táto pošta bude obsahovať aj Obrázok votrelca zachytený kamerou Pi. Na riadenie celého systému sa používa Raspberry Pi. Tento systém je možné nainštalovať k hlavným dverám vášho domu alebo kancelárie a môžete ho sledovať z ktoréhokoľvek miesta na svete pomocou e-mailu cez internet.
Požadované komponenty:
- Malinový koláč
- Kamera Pi
- PIR senzor
- LED
- Chlebová doska
- Rezistor (1k)
- Pripojovacie vodiče
- Zdroj
Všetky komponenty použité v tomto projekte si môžete kúpiť tu.
Pracovné vysvetlenie:
Práca na tomto projekte je veľmi jednoduchá. Senzor PIR sa používa na detekciu prítomnosti akejkoľvek osoby a kamera Pi sa používa na snímanie snímok, keď zistí prítomnosť.
Kedykoľvek sa niekto alebo votrelec dostane do dosahu PIR snímača, PIR snímač spustí kameru Pi cez Raspberry Pi. Malina pi odosiela príkazy kamere Pi, aby klikli na obrázok a uložili ho. Potom Raspberry Pi vytvorí poštu a odošle ju na definovanú poštovú adresu s nedávno kliknutými obrázkami. Pošta obsahuje ako prílohu správu a obrázok votrelca. Tu sme použili správu „Nájdite prílohu“, ktorú môžete zodpovedajúcim spôsobom zmeniť v Kódexe uvedenom na konci.
Tu sa obrázky ukladajú na Raspberry Pi s menom, ktoré samotné obsahuje čas a dátum zadania. Aby sme mohli skontrolovať čas a dátum vstupu narušiteľa jednoduchým pohľadom na názov obrázka, skontrolujte obrázky uvedené nižšie. Ak ste s kamerou Pi noví, pozrite si náš predchádzajúci návod Monitorovací systém pre návštevníkov s kamerou Pi.
Môžete tiež upraviť detekčný rozsah alebo vzdialenosť tohto systému pomocou potenciometrov senzora PIR. Viac informácií o senzore PIR sa dozviete tu, ak chcete upraviť dosah. Skontrolujte tiež alarm vlámania založený na senzore PIR.
Popis obvodu:
V tomto systéme upozornenia na narušiteľa stačí pripojiť modul kamery Pi a snímač PIR k Raspberry Pi 3. Fotoaparát Pi je pripojený k slotu na kameru Raspberry Pi a PIR je pripojený k GPIO pinu 18. LED dióda je tiež pripojená k GPIO pinu 17 cez rezistor 1k.
Vysvetlenie konfigurácie a programovania Raspberry Pi:
Pre program používame jazyk Python. Pred programovaním musí používateľ nakonfigurovať Raspberry Pi. Mali by ste si prečítať dva tutoriály Začíname s Raspberry Pi a Inštalácia a konfigurácia Raspbian Jessie OS v Pi:
- Začíname s Raspberry Pi - úvod
- Začíname s konfiguráciou Raspberry Pi
Po úspešnej inštalácii Raspbian OS na Raspberry Pi musíme nainštalovať súbory knižnice kamier Pi pre spustenie tohto projektu v Raspberry pi. Aby sme to dosiahli, musíme postupovať podľa zadaných príkazov:
$ sudo apt-get nainštalovať python-picamera $ sudo apt-get nainštalovať python3-picamera
Potom musí používateľ povoliť kameru Raspberry Pi pomocou nástroja na konfiguráciu softvéru Raspberry Pi (raspi-config):
$ sudo raspi-config
Potom vyberte možnosť Povoliť kameru a Povoliť ju.
Potom musí užívateľ reštartovať Raspberry Pi vydaním sudo reboot , aby mohlo nové nastavenie trvať. Teraz je vaša kamera Pi pripravená na použitie.
Teraz po nastavení kamery Pi nainštalujeme softvér na odosielanie pošty. Tu používame ssmtp, čo je ľahké a dobré riešenie na odosielanie pošty pomocou príkazového riadku alebo pomocou Python Script. Potrebujeme nainštalovať dve knižnice na odosielanie e-mailov pomocou protokolu SMTP:
Sudo apt-get nainštalovať ssmtp sudo apt-get nainštalovať mailutils
Po inštalácii knižníc musí užívateľ otvoriť súbor ssmtp.conf, upraviť tento konfiguračný súbor, ako je to znázornené na obrázku nižšie, a potom súbor uložiť. Ak chcete súbor uložiť a ukončiť, stlačte kombináciu klávesov „CTRL + x“, potom „y“ a potom stlačte „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
Môžeme to tiež otestovať zaslaním skúšobnej pošty vydaním nižšie uvedeného príkazu, dostanete poštu na uvedenú e-mailovú adresu, ak všetko funguje:
echo "Hello saddam" - maily "Testovanie…" [email protected]
Program Python tohto projektu hrá veľmi dôležitú úlohu pri vykonávaní všetkých operácií. Najskôr zahrnieme požadované knižnice pre e-mail, inicializujeme premenné a definujeme piny pre PIR, LED a ďalšie komponenty. Na odosielanie jednoduchých e-mailov stačí smtplib, ale ak chcete posielať poštu čistejšie s predmetom, prílohou atď., Musíte použiť MIME (Multipurpose Internet Mail Extensions).
import RPi.GPIO ako gpio import picamera čas importu import smtplib z e-mailu. MIMEMultipart import MIMEMultipart z e-mailu. MIMEText import MIMEText z e-mailu. MIMEBase import MIMEBase z e-mailu import kódovačov z email.mime.image import MIMEImage
Potom sme inicializovali poštu a definovali sme poštovú adresu a správy:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Príloha" body = "Nájdite prílohu"
Potom sme vytvorili funkciu def sendMail (data) na odosielanie pošty:
def sendMail (data): mail.attach (MIMEText (body, 'obyčajné')) tlačené údaje dat = '% s.jpg'% údajov tlačené údaje príloha = otvorený (dat, 'rb') obrázok = MIMEImage (attachment.read ()) attachment.close () mail.attach (obrázok) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "vaše heslo") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Funkcia def capture_image () je vytvorená na zachytenie obrazu votrelca s časom a dátumom.
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)
Potom sme inicializovali Picameru s niektorými jej nastaveniami:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
A teraz ako posledný sme si prečítali výstup senzora PIR a keď bude jeho úroveň vysoká, Raspberry Pi zavolá funkciu capture_image (), ktorá zachytí obraz votrelca a pošle výstražnú správu s obrázkom votrelca ako prílohu. Na odosielanie pošty sme použili funkciu sendmail () insdie capture_image () .
while 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)
Takže ako tento bezpečnostný systém Raspberry Pi funguje, môžete na zistenie prítomnosti vlámača alebo votrelca použiť aj ultrazvukový senzor alebo IR senzor. Ďalej skontrolujte celý kód a ukážkové video nižšie.