Kun esineiden internetissä (IoT) on kaikki tekniikat, jotka muuttavat elämäämme, on hieno idea kehittää järjestelmä, jota voidaan hallita ja valvoa mistä tahansa. Kodinturvallisuuteen on olemassa monenlaisia hyviä turvajärjestelmiä ja kameroita, mutta ne ovat paljon kalliimpia, joten tänään rakennamme edullisen yksinkertaisen Raspberry Pi -pohjaisen tunkeilijahälytysjärjestelmän, joka paitsi hälyttää sähköpostitse myös lähettää kuvan Tunkeilija, kun se havaitsee minkä tahansa.
Tässä IoT-pohjaisessa projektissa rakennamme kodin turvajärjestelmän käyttämällä PIR-anturia ja PI-kameraa. Tämä järjestelmä tunnistaa tunkeilijan läsnäolon ja hälyttää käyttäjän nopeasti lähettämällä hänelle hälytyspostin. Tämä viesti sisältää myös Pi-kameralla kaapatun kuvan tunkeilijasta. Vadelma Pi: tä käytetään koko järjestelmän hallintaan. Tämä järjestelmä voidaan asentaa kotiisi tai toimistollesi pääovelle, ja voit seurata sitä mistä päin maailmaa tahansa, käyttämällä sähköpostia Internetin kautta.
Vaaditut komponentit:
- Vadelma Pi
- Pi-kamera
- PIR-anturi
- LED
- Leipälauta
- Vastus (1k)
- Johtojen liittäminen
- Virtalähde
Voit ostaa kaikki tässä projektissa käytetyt komponentit täältä.
Työselitys:
Tämän projektin tekeminen on hyvin yksinkertaista. PIR-anturia käytetään havaitsemaan kenenkään läsnäolo ja Pi-kameraa käytetään kuvien ottamiseen havaitun läsnäolon yhteydessä.
Aina kun joku tai tunkeilija joutuu PIR-anturin alueelle, PIR-anturi laukaisee Pi-kameran Vadelma Pi: n kautta. Vadelma pi lähettää komentoja Pi-kameralle napsauttamaan kuvaa ja tallentamaan sen. Sen jälkeen Raspberry Pi luo sähköpostin ja lähettää sen määritettyyn sähköpostiosoitteeseen äskettäin napsautettujen kuvien kanssa. Posti sisältää viestin ja kuvan tunkeilijasta liitteenä. Tässä olemme käyttäneet viestiä "Etsi liitetiedosto", voit muuttaa sitä vastaavasti lopussa annetussa koodissa.
Täällä kuvat tallennetaan Vadelma Pi -laitteeseen nimellä, joka itse sisältää merkinnän ajan ja päivämäärän. Tarkista alla olevat kuvat, jotta voimme tarkistaa tunkeilijan sisäänpääsyn ajan ja päivämäärän katsomalla vain kuvan nimeä. Jos olet uusi Pi-kameran kanssa, tarkista edellinen opastus Pi-kameran vierailijavalvontajärjestelmästä.
Voit myös säätää tämän järjestelmän tunnistusaluetta tai etäisyyttä PIR-anturin potentiometreillä. Lue lisää PIR-anturista täältä säätääksesi aluetta tarkista myös PIR-anturiin perustuva murtohälytin.
Piirin kuvaus:
Tässä tunkeilijoiden hälytysjärjestelmässä meidän on vain kytkettävä Pi-kameramoduuli ja PIR-anturi Raspberry Pi 3: een. Pi Kamera on kytketty Raspberry Pi: n kamerapaikkaan ja PIR on kytketty GPIO-nastaan 18. LED-valo on kytketty myös GPIO-nastaan 17 1k-vastuksen kautta.
Vadelma Pi -määrityksen ja ohjelmoinnin selitys:
Käytämme tässä Python-kieltä ohjelmassa. Ennen koodaamista käyttäjän on määritettävä Raspberry Pi. Alla on kaksi opasohjetta Raspberry Pi: n käytön aloittamiseen ja Raspbian Jessie -käyttöjärjestelmän asentamiseen ja määrittämiseen Pi: ssä:
- Raspberry Pi: n käytön aloittaminen - Johdanto
- Raspberry Pi: n käytön aloittaminen - kokoonpano
Kun Raspbian OS on asennettu onnistuneesti Raspberry Pi: hen, meidän on asennettava Pi-kamerakirjastotiedostot tämän projektin suorittamiseksi Raspberry pi: ssä. Tätä varten meidän on noudatettava annettuja komentoja:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Sen jälkeen käyttäjän on otettava Raspberry Pi -kamera käyttöön Raspberry Pi -ohjelmiston määritystyökalulla (raspi-config):
$ sudo raspi-config
Valitse sitten Ota kamera käyttöön ja Ota se käyttöön.
Sitten käyttäjä tarvitsee käynnistää uudelleen Raspberry Pi, antamalla sudo reboot , jotta uusi asetus voi ottaa. Pi-kamerasi on nyt käyttövalmis.
Pi-kameran asennuksen jälkeen asennamme ohjelmiston postin lähettämistä varten. Tässä käytämme ssmtp: tä, joka on helppo ja hyvä ratkaisu postin lähettämiseen komentorivillä tai Python-komentosarjalla. Meidän on asennettava kaksi kirjastoa sähköpostin lähettämiseen SMTP: n avulla:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Kirjastojen asentamisen jälkeen käyttäjän on avattava ssmtp.conf- tiedosto ja muokattava tätä määritystiedostoa alla olevan kuvan osoittamalla tavalla ja tallennettava tiedosto. Tallentaaksesi ja poistuaksesi tiedostosta, paina 'CTRL + x', sitten 'y' ja paina sitten '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
Voimme myös testata sen lähettämällä testipostin antamalla alla olevan komennon. Saat postin mainittuun sähköpostiosoitteeseen, jos kaikki toimii hyvin:
echo "Hello saddam" - sähköposti -s "Testataan…" [email protected]
Tämän projektin Python-ohjelmalla on erittäin tärkeä rooli kaikkien toimintojen suorittamisessa. Ensinnäkin sisällytämme vaaditut kirjastot sähköpostiin, alustamme muuttujat ja määritämme nastat PIR: lle, LEDille ja muille komponenteille. Yksinkertaisen sähköpostin lähettämiseen riittää smtplib, mutta jos haluat lähettää viestejä puhtaammin aihe-rivillä, liitteellä jne., Sinun on käytettävä MIME-ohjelmaa (Monikäyttöiset Internet-postilaajennukset).
Tuo RPi.GPIO gpio-muodossa Tuo pikakameran tuontiaika tuoda smtplib sähköpostista.MIMEMultipart tuonti MIMEMultipart sähköpostista.
Sen jälkeen olemme alustaneet postin ja määrittäneet sähköpostiosoitteen ja viestit:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Liite" body = "Löydät liitteen"
Sitten olemme luoneet def sendMail (data) -toiminnon postin lähettämistä varten:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) tulosta data dat = '% s.jpg'% data print dat attachment = avoin (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (kuva) palvelin = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "salasanasi") text = mail. as_string () palvelin.sendmail (fromaddr, toaddr, teksti) server.quit ()
Funktio def capture_image () luodaan kaappaamaan tunkeilijan kuva kellonajan ja päivämäärän kanssa.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) tulosta datakamera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (data)
Sitten alustimme Picameran joidenkin asetusten kanssa:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Ja viimeisenä, olemme lukeneet PIR-anturin lähdön, ja kun Raspberry Pi kutsuu korkealle, se kutsuu captive_image () -toiminnon kaappaamaan tunkeilijan kuvan ja lähettämään hälytysviestin, jossa on tunkeilijan kuva liitteenä. Olemme käyttäneet sendmail () insdie capture_image () -toimintoa postin lähettämiseen.
kun 1: jos gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () kun taas (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (led, LOW) aika. nukkunut (0,01)
Joten tämä Raspberry Pi -turvajärjestelmä toimii, voit myös käyttää ultraäänitunnistinta tai IR-anturia havaitsemaan murtovarkauden tai tunkeilijan. Edelleen tarkista koodista ja esittelyn video alla.