Tartalomjegyzék:

Raspberry Pi emberi érzékelő + kamera + lombik: 6 lépés
Raspberry Pi emberi érzékelő + kamera + lombik: 6 lépés

Videó: Raspberry Pi emberi érzékelő + kamera + lombik: 6 lépés

Videó: Raspberry Pi emberi érzékelő + kamera + lombik: 6 lépés
Videó: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Július
Anonim
Raspberry Pi emberi érzékelő + kamera + lombik
Raspberry Pi emberi érzékelő + kamera + lombik

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ő

PIR mozgásérzékelő
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

PIR mozgásérzékelő beállítása
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

Raspberry Pi kamera modul és beállítá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

Beállítás a lombikhoz
Beállítás a lombikhoz

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

Eredmény
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.