- Szükséges alkatrészek:
- Munka magyarázat:
- Áramkör leírása:
- Raspberry Pi konfigurációs és programozási magyarázat:
A tárgyak internete (IoT) világában, amikor minden technológiával rendelkezünk életünk forradalmasítására, nagyszerű ötlet olyan rendszert kifejleszteni, amely bárhonnan irányítható és ellenőrizhető. Sokféle jó biztonsági rendszer és kamera létezik az otthoni biztonság érdekében, de ezek drágábbak, ezért ma olcsó, egyszerű Raspberry Pi alapú behatoló riasztórendszert fogunk építeni, amely nemcsak e-mailen keresztül figyelmeztet, hanem képet is küld Betolakodó, ha észlel bárkit.
Ebben az IoT alapú projektben otthoni biztonsági rendszert építünk fel PIR érzékelő és PI kamera használatával. Ez a rendszer észleli a behatoló jelenlétét, és riasztó levél küldésével gyorsan figyelmezteti a felhasználót. Ez a levél tartalmazza a behatoló képét, amelyet Pi kamera rögzített. A Raspberry Pi az egész rendszer vezérlésére szolgál. Ez a rendszer telepíthető otthona vagy irodája fő ajtajára, és a világ bármely pontjáról figyelemmel kísérheti az e-mail segítségével az interneten keresztül.
Szükséges alkatrészek:
- Raspberry Pi
- Pi kamera
- PIR érzékelő
- VEZETTE
- Kenyérlap
- Ellenállás (1k)
- Csatlakozó vezetékek
- Tápegység
A projektben használt összes alkatrészt itt vásárolhatja meg.
Munka magyarázat:
A projekt kidolgozása nagyon egyszerű. A PIR érzékelőt bármely személy jelenlétének detektálására, a Pi kamerát pedig a képek rögzítésére használják, amikor az észlelte jelenlétét.
Amikor bárki vagy betolakodó a PIR-érzékelő hatósugarába esik, a PIR-érzékelő a Raspberry Pi-n keresztül aktiválja a Pi kamerát. A Raspberry pi parancsokat küld a Pi kamerának, hogy kattintson a képre és mentse. Utána a Raspberry Pi létrehoz egy levelet és a nemrégiben kattintott képekkel elküldi a megadott e-mail címre. A levél mellékletként egy üzenetet és a behatoló képét tartalmazza. Itt a „Kérjük, keresse meg a mellékletet” üzenetet használtuk, ennek megfelelően módosíthatja a végén megadott kódban.
Itt a képeket a Raspberry Pi programba menti a név, amely magában foglalja a belépés idejét és dátumát. Annak érdekében, hogy a Kép nevét nézegetve ellenőrizhessük a behatoló belépésének idejét és dátumát, ellenőrizze az alábbi képeket. Ha még nem ismeri a Pi Camera alkalmazást, akkor ellenőrizze a Pi Camera használatával végzett látogatófigyelő rendszerről szóló korábbi bemutatónkat.
A rendszer érzékelési tartományát vagy távolságát a PIR érzékelő potenciométereivel is beállíthatja. Tudjon meg többet a PIR érzékelőről itt, hogy beállítsa a hatótávolságot, és ellenőrizze a PIR érzékelő alapú betörésjelzőt is.
Áramkör leírása:
Ebben a behatoló riasztási rendszerben csak a Pi kamera modult és a PIR érzékelőt kell csatlakoztatnunk a Raspberry Pi 3-hoz. A Pi fényképezőgép a Raspberry Pi kamerahelyéhez csatlakozik, a PIR pedig a GPIO 18 tűhöz csatlakozik. A LED a GPIO 17 tűhöz is csatlakozik 1k ellenállással.
Raspberry Pi konfigurációs és programozási magyarázat:
Itt Python nyelvet használunk a Programhoz. Kódolás előtt a felhasználónak konfigurálnia kell a Raspberry Pi programot. Alább két oktatóanyagot kell megadnia a Raspberry Pi használatának megkezdéséhez, valamint a Raspbian Jessie OS telepítéséhez és konfigurálásához a Pi-ben:
- Az első lépések a Raspberry Pi-vel - Bevezetés
- A Raspberry Pi használatának megkezdése - konfiguráció
Miután sikeresen telepítette a Raspbian operációs rendszert a Raspberry Pi-re, telepítenünk kell a Pi kamera könyvtár fájljait a projekt futtatásához a Raspberry pi programban. Ehhez a megadott parancsokat kell követnünk:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Ezt követően a felhasználónak engedélyeznie kell a Raspberry Pi kamerát a Raspberry Pi szoftver konfigurációs eszköz (raspi-config) használatával:
$ sudo raspi-config
Ezután válassza a Kamera engedélyezése és Engedélyezés lehetőséget.
Ezután a felhasználónak újra kell indítania a Raspberry Pi -t a sudo újraindítás kiadásával, hogy az új beállítás megtörténhessen. Most a Pi kamerája használatra kész.
A Pi Camera beállítása után telepítünk egy szoftvert a levelek küldésére. Itt az ssmtp-t használjuk, amely egyszerű és jó megoldás a levelek küldésére parancssorral vagy Python Script használatával. Két könyvtárat kell telepítenünk az SMTP használatával történő levelek küldéséhez:
Sudo apt-get install ssmtp sudo apt-get install mailutils
A könyvtárak telepítése után a felhasználónak meg kell nyitnia az ssmtp.conf fájlt, és módosítania kell ezt a konfigurációs fájlt az alábbi képen látható módon, majd el kell mentenie a fájlt. A fájl mentéséhez és kilépéséhez nyomja meg a „CTRL + x”, majd az „y”, majd az „Enter” gombot.
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
Azt is tesztelhetjük, hogy tesztlevelet küldünk az alábbi parancs kiadásával. Ha minden rendben működik, akkor megkapja a levelet az említett e-mail címen:
echo "Hello saddam" - mail -s "Testing…" [email protected]
A projekt Python programja nagyon fontos szerepet játszik az összes művelet végrehajtásában. Először is tartalmazzuk az e-mailhez szükséges könyvtárakat, inicializáljuk a változókat és meghatározzuk a PIR, a LED és más alkatrészek csapjait. Egyszerű e-mail küldéséhez elegendő az smtplib, de ha tisztább módon szeretne levelet küldeni, tárgysorral, mellékletekkel stb., Akkor a MIME-t kell használnia (Többcélú internetes levélkiterjesztések).
importálja az RPi.GPIO-t mint gpio importálja a picamera importálási idejét az smtplib importálása az e-mailből. MIMEMultipart importálja a MIMEMultipart e-mailből.
Ezt követően inicializáltuk a levelet, és meghatároztuk a mail címet és az üzeneteket:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Melléklet" body = "Kérjük, keresse meg a mellékletet"
Ezután létrehoztunk def sendMail (adat) függvényt az e-mail küldéséhez:
def sendMail (adatok): mail.attach (MIMEText (törzs, 'sima')) adatok nyomtatása dat = '% s.jpg'% adatok nyomtatása dat melléklet = nyitott (dat, 'rb') kép = MIMEImage (melléklet.olvasott ()) attach.close () mail.attach (image) szerver = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "a jelszó") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
A def capture_image () függvény azzal a céllal jön létre, hogy rögzítse a behatoló képét idővel és dátummal.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) adatok nyomtatása camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (adatok)
Ezután inicializáltuk a Picamerát néhány beállításával:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
És most utoljára a PIR szenzor kimenetét olvastuk, és ha magasra emelkedik, a Raspberry Pi felhívja a capture_image () függvényt, hogy rögzítse a behatoló képét és riasztási üzenetet küldjön a behatoló képével mellékletként. A mail küldéséhez a sendmail () insdie capture_image () függvényt használtuk.
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) idő. alszik (0,01)
Így működik ez a Raspberry Pi Biztonsági Rendszer, továbbá használhatja az ultrahangos érzékelőt vagy az infravörös érzékelőt a betörő vagy behatoló jelenlétének észlelésére. Az alábbiakban ellenőrizze a teljes kódot és a bemutató videót.