Tartalomjegyzék:
- 1. lépés: PIR mozgásérzékelő
- 2. lépés: PIR mozgásérzékelő beállítása
- 3. lépés: Raspberry Pi kamera modul és beállítás
- 4. lépés: Kombinálja a PIR mozgásérzékelőt és a kamera modult
- 5. lépés: A lombik beállítása
- 6. lépés: Eredmény
Videó: Raspberry Pi emberi érzékelő + kamera + lombik: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ebben az oktatóanyagban a Raspberry Pi IoT projektem lépéseit fogom végigjárni - PIR mozgásérzékelő, Raspberry Camera modul használata egy egyszerű biztonsági IoT eszköz létrehozásához, valamint az észlelési napló elérése lombik segítségével.
1. lépés: PIR mozgásérzékelő
A PIR jelentése "passzív infravörös", ez a mozgásérzékelő az infravörös nézet figyelésével és az infravörös változások észlelésével veszi fel a mozgásokat. Ezért, amikor egy levél és egy ember elhalad az érzékelő mellett, csak az embert észleli, mivel mi emberek hőt termelünk, és így infravörös sugarat bocsátunk ki. Ezért a mozgásérzékelő jó választás az emberi mozgások észlelésére.
2. lépés: PIR mozgásérzékelő beállítása
A PIR mozgásérzékelőnek három csapja van: teljesítmény, kimenet és föld. A csapok alatt láthatja a címkéket, VCC a tápellátáshoz, Out kimenethez és GND a földhöz. Amikor az érzékelő mozgásokat észlel, a kimeneti csap HIGH jelet ad ki a Raspberry Pi csapnak, amelyhez csatlakoztatja az érzékelőt. A Power pin esetében győződjön meg arról, hogy a Raspberry Pi 5V -os csatlakozójához csatlakozik a tápellátás érdekében. A projektemhez úgy döntök, hogy összekapcsolom a kimeneti tűt a Pin11 -el a Pi -n.
Miután mindent csatlakoztatott, szöveget küldhet az érzékelőnek az alábbi parancsfájlok futtatásával:
importálja az RPi. GPIO -t GPIO -ként importálja az időt GPIO.cleanup () GPIO.setwarnings (False) GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. IN) #Olvassa el a PIR mozgásérzékelő kimenetét a 11 -es tűn, míg True: i = GPIO.input (11), ha i == 0: #Amikor a mozgásérzékelő kimenete LOW print "Nincs érzékelés", akkor i time.sleep (0,1) elif i == 1: #Amikor a mozgásérzékelő kimenete HIGH print " Mozgás észlelve ", i time.sleep (0,1)
Futtassa a forgatókönyvet a Pi -n, és tegye a kezét vagy a barátját az érzékelő elé, hogy ellenőrizze, érzékeli -e a mozgást.
3. lépés: Raspberry Pi kamera modul és beállítás
Az ember a hő hatására infravörös sugarat bocsát ki, és a hőmérsékletű tárgyak is. Ezért állatok vagy forró tárgyak is kiválthatják a mozgásérzékelőt. Szükségünk van egy módszerre annak ellenőrzésére, hogy az észlelés érvényes -e. A megvalósításnak számos módja van, de projektemben a Raspberry Pi kameramodult használom a képek készítéséhez, amikor a mozgásérzékelő felveszi a mozgásokat.
A kameramodul használatához először győződjön meg arról, hogy a csapok be vannak dugva a Pi kamerájába. típus
sudo raspi-config
a Pi -n, hogy megnyissa a konfigurációs felületet, és engedélyezze a fényképezőgépet az „interfész beállítások” között. Az újraindítás után gépeléssel tesztelheti, hogy a Pi valóban csatlakozik -e a fényképezőgéphez
vcgencmd get_camera
és megmutatja az állapotot. Az utolsó lépés a picamera modul gépeléssel történő telepítése
pip install picamera
Az összes beállítás után tesztelheti kameráját az alábbihoz hasonló szkriptek futtatásával:
a picamera import PiCamera -ból
from time import alvó kamera = PiCamera () camera.start_preview () sleep (2) camera.capture ('image.jpg') camera.stop_preview ()
A kép 'image.jpg' néven kerül tárolásra a könyvtárban, ugyanúgy, mint a fényképezőgép szkriptje. Figyelje meg, hogy meg szeretné győződni arról, hogy az „alvás (2)” van, és a szám nagyobb, mint 2, így a fényképezőgépnek elegendő ideje van a fényviszonyok beállításához.
4. lépés: Kombinálja a PIR mozgásérzékelőt és a kamera modult
A projektem ötlete az, hogy a mozgásérzékelő és a kamera azonos irányba néznek. Amikor a mozgásérzékelő felveszi a mozgásokat, a fényképezőgép készít egy képet, hogy utána ellenőrizhessük, mi okozza a mozgásokat.
A script:
importálja az RPi. GPIO -t GPIO -ként a dátumból importálás időpontja importálási időből a picamera importálásból PiCamera
GPIO.cleanup ()
GPIO.setwarnings (Hamis) GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. IN) #Olvasás kimenete a PIR mozgásérzékelő üzenetből = 'start' counter = 0 log_f = open ('static/log.txt', 'w') log_f.close ()
kamera = PiCamera ()
pic_name = 0
camera.start_preview ()
time.sleep (2)
míg igaz:
i = GPIO.input (11), ha i == 0: #Amikor a mozgásérzékelő kimenete LOW, ha számláló> 0: end = str (datetime.now ()) log_f = open ('static/log.txt', ' a ') üzenet = üzenet +'; end at ' + end +' / n 'print (message) log_f.write (üzenet) log_f.close () final =' static/' + str (pic_name) + ".jpg" pic_name = pic_name + 1 camera.capture (végső) számláló = 0 nyomtatás "Nincs betolakodó", i time.sleep (0,1) elif i == 1: #Amikor a mozgásérzékelő kimenete HIGH, ha számláló == 0: current = str (datetime.now ()) üzenet = 'Ember észlelve:' + 'start' ' + aktuális számláló = számláló + 1 nyomtatás "Behatoló észlelve", i time.sleep (0,1) camera.stop_preview ()
A „log.txt” és a képek könyvtárai „statikusak”, ami szükséges a lombik működéséhez.
5. lépés: A lombik beállítása
A Flask egy Pythonban írt mikro webes keretrendszer, amely a Werkzeug eszköztáron és a Jinja2 sablonmotoron alapul. Könnyen megvalósítható és karbantartható. A lombik jobb bemutatója érdekében ezt a linket ajánlom: Flask Mega Tutorial
Projektem fő szkriptje, a route.py:
from appfolder import appFlaskfrom lombik import render_template, redirect import os
APP_ROOT = os.path.dirname (os.path.abspath (_ file_)) # az application_top
APP_STATIC = os.path.join (APP_ROOT, 'static')
@appFlask.route ('/', metódusok = ['GET', 'POST'])
def view (): log_f = open (os.path.join (APP_STATIC, 'log.txt'), 'r') logs = log_f.readlines () final_logs = a bejelentkezési naplókhoz: final_logs.append (log. strip ()) name = str (len (final_logs) -1)+'. jpg' return render_template ('view.html', logs = final_logs, filename = név)
A "view.html" HTML fájl a felső sávban található (mert amikor ide másolom a HTML kódokat, valójában HTML FORMAT formátumra vált …)
És a projekt szerkezetének az alábbiak szerint kell kinéznie (de természetesen több fájl van, mint ezek):
iotproject / appfolder / route.py sablonok / view.html static / log.txt 0-j.webp
6. lépés: Eredmény
Ehhez a megvalósításhoz, miután minden megfelelően be lett állítva, hozzá kell férnie a Raspberry Pi -hez úgy, hogy beírja az IP -címét a böngészőben, és az eredménynek ebben a lépésben a felső sáv képének kell lennie.