- Nepieciešamās sastāvdaļas:
- Darba skaidrojums:
- Ķēdes apraksts:
- Raspberry Pi konfigurācijas un programmēšanas skaidrojums:
Lietu interneta (IoT) pasaulē, kad mūsu rīcībā ir visas tehnoloģijas, lai radītu pārmaiņas mūsu dzīvē, ir lieliska ideja izstrādāt sistēmu, kuru var kontrolēt un uzraudzīt no jebkuras vietas. Mājas drošībai ir daudz labu drošības sistēmu un kameru, taču tās ir daudz dārgākas, tāpēc šodien mēs izveidosim zemu izmaksu vienkāršu Raspberry Pi bāzētu iebrucēju trauksmes sistēmu, kas ne tikai brīdina jūs, izmantojot e-pastu, bet arī nosūta attēlu Iebrucējs, kad to atklāj.
Šajā IoT balstītajā projektā mēs izveidosim mājas drošības sistēmu, izmantojot PIR sensoru un PI kameru. Šī sistēma noteiks iebrucēja klātbūtni un ātri brīdinās lietotāju, nosūtot viņam brīdinājuma pastu. Šis pasts saturēs arī iebrucēja attēlu, ko uzņem Pi kamera. Aveņu Pi izmanto visas sistēmas kontrolei. Šo sistēmu var uzstādīt pie jūsu mājas vai biroja galvenajām durvīm, un jūs varat to uzraudzīt no jebkuras vietas pasaulē, izmantojot savu e-pastu internetā.
Nepieciešamās sastāvdaļas:
- Aveņu Pi
- Pi kamera
- PIR sensors
- LED
- Maizes dēlis
- Rezistors (1k)
- Savienojošie vadi
- Enerģijas padeve
Visus šajā projektā izmantotos komponentus varat iegādāties šeit.
Darba skaidrojums:
Šī projekta darbība ir ļoti vienkārša. PIR sensors tiek izmantots, lai noteiktu jebkuras personas klātbūtni, un Pi kamera tiek izmantota, lai attēlotu attēlus, kad tā ir atklājusi klātbūtni.
Ikreiz, kad kāds vai iebrucējs nonāk PIR sensora diapazonā, PIR sensors iedarbina Pi kameru caur Raspberry Pi. Aveņu pi nosūta komandas Pi kamerai, lai noklikšķinātu uz attēla un to saglabātu. Pēc tam Raspberry Pi izveido pastu un nosūta to uz norādīto pasta adresi ar nesen noklikšķinātiem attēliem. Pastā kā pielikums ir ievietots ziņojums un iebrucēja attēls. Šeit mēs izmantojām ziņojumu “Lūdzu, atrodiet pielikumu”, to varat attiecīgi mainīt kodā, kas norādīts beigās.
Šeit attēli tiek saglabāti Raspberry Pi ar nosaukumu, kurā pats ir norādīts ievadīšanas laiks un datums. Lai mēs varētu pārbaudīt iebrucēja iebraukšanas laiku un datumu, vienkārši apskatot Attēla nosaukumu, pārbaudiet zemāk redzamos attēlus. Ja esat jauns ar Pi Camera, pārbaudiet mūsu iepriekšējo apmācību par apmeklētāju uzraudzības sistēmu ar Pi kameru.
Izmantojot PIR sensora potenciometrus, jūs varat arī pielāgot šīs sistēmas noteikšanas diapazonu vai attālumu. Uzziniet vairāk par PIR sensoru šeit, lai pielāgotu diapazonu, kā arī pārbaudiet uz PIR sensora balstītu ielaušanās trauksmi.
Ķēdes apraksts:
Šajā iebrucēju trauksmes sistēmā mums tikai jāpieslēdz Pi kameras modulis un PIR sensors ar Raspberry Pi 3. Pi Kamera ir pievienota Raspberry Pi kameras slotā, un PIR ir savienots ar GPIO tapu 18. Gaismas diode ir savienota arī ar GPIO tapu 17 caur 1k rezistoru.
Raspberry Pi konfigurācijas un programmēšanas skaidrojums:
Mēs šeit Programmai izmantojam Python valodu. Pirms kodēšanas lietotājam jākonfigurē Raspberry Pi. Jums vajadzētu būt zemāk par divām pamācībām, kā sākt darbu ar Raspberry Pi un instalēt un konfigurēt Raspbian Jessie OS Pi:
- Darba sākšana ar Raspberry Pi - ievads
- Darba sākšana ar Raspberry Pi - konfigurācija
Pēc veiksmīgas Raspbian OS instalēšanas Raspberry Pi, mums jāinstalē Pi kameras bibliotēkas faili, lai palaistu šo projektu Raspberry pi. Lai to izdarītu, mums jāievēro norādītās komandas:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Pēc tam lietotājam jāiespējo Raspberry Pi kamera, izmantojot Raspberry Pi programmatūras konfigurācijas rīku (raspi-config):
$ sudo raspi-config
Pēc tam atlasiet Iespējot kameru un Iespējot to.
Pēc tam lietotājam jāpārstartē Raspberry Pi, izsniedzot sudo pārstartēšanu , lai varētu veikt jaunu iestatījumu. Tagad jūsu Pi kamera ir gatava lietošanai.
Pēc Pi kameras iestatīšanas mēs instalēsim programmatūru pasta sūtīšanai. Šeit mēs izmantojam ssmtp, kas ir vienkāršs un labs risinājums pasta sūtīšanai, izmantojot komandrindu vai Python skriptu. Lai nosūtītu vēstules, izmantojot SMTP, mums jāinstalē divas bibliotēkas:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Pēc bibliotēku instalēšanas lietotājam ir jāatver ssmtp.conf fails un jārediģē šis konfigurācijas fails, kā parādīts zemāk esošajā attēlā, un pēc tam fails jāsaglabā. Lai saglabātu un izietu no faila, nospiediet taustiņu kombināciju CTRL + x, pēc tam taustiņu 'y' un pēc tam nospiediet taustiņu 'Enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 resursdatora nosaukums = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
Mēs to varam arī pārbaudīt, nosūtot pārbaudes pastu, izsniedzot komandu zemāk. Jūs saņemsit pastu uz minēto e-pasta adresi, ja viss darbojas labi:
atbalss "Sveiks, sadams" - pasts -s "Notiek pārbaude…" [email protected]
Šī projekta Python programmai ir ļoti svarīga loma visu darbību veikšanā. Pirmkārt, mēs iekļaujam nepieciešamās bibliotēkas e-pastam, inicializējam mainīgos un definējam PIR, LED un citu komponentu tapas. Lai nosūtītu vienkāršu e-pastu, pietiek ar smtplib, taču, ja vēlaties sūtīt vēstules tīrākā veidā ar tēmas rindiņu, pielikumu utt., Tad jāizmanto MIME (daudzfunkcionāli interneta pasta paplašinājumi).
importēt RPi.GPIO kā gpio importēt picamera importēšanas laiku importēt smtplib no e-pasta. MIMEMultipart importēt MIMEMultipart no e-pasta. MIMEText importēt MIMEText no e-pasta.
Pēc tam mēs esam inicializējuši pastu un definējuši pasta adresi un ziņojumus:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Pielikums" body = "Lūdzu, atrodiet pielikumu"
Tad mēs esam izveidojuši def sendMail (datu) funkciju pasta sūtīšanai:
def sendMail (dati): mail.attach (MIMEText (body, 'plain')) drukas dati dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (attēls) serveris = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "jūsu parole") text = mail. as_string () server.sendmail (fromaddr, toaddr, teksts) server.quit ()
Funkcija def capture_image () ir izveidota, lai attēlotu iebrucēja attēlu ar laiku un datumu.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) drukāt datus camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (dati)
Tad mēs inicializējām Picamera ar dažiem tās iestatījumiem:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Un tagad beidzot, mēs esam izlasījuši PIR sensora izvadi, un, kad tas kļūst augsts, Raspberry Pi izsauc funkciju capture_image (), lai attēlotu iebrucēja attēlu un nosūtītu brīdinājuma ziņojumu ar ielaušanās attēlu kā pielikumu. E- pasta nosūtīšanai mēs izmantojām funkciju sendmail () insdie capture_image () .
kamēr 1: ja gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image (), savukārt (gpio.input (pir) == 1): time.sleep (1) cits: gpio.output led, LOW) laiks. gulēt (0,01)
Tādējādi, kā darbojas šī Raspberry Pi drošības sistēma, varat arī izmantot ultraskaņas sensoru vai IR sensoru, lai noteiktu ielaušanās vai ielaušanās klātbūtni. Tālāk pārbaudiet pilnu kodu un demonstrācijas video.