- Szükséges alkatrészek:
- Áramkör és magyarázat:
- Könyvtár telepítése az ujjlenyomat-érzékelőhöz:
- Ujjlenyomat-érzékelő működtetése Raspberry Pi-vel:
- Python programozás:
Az ujjlenyomat-érzékelő, amelyet néhány évvel ezelőtt a Sci-Fi nyalábjainál láttunk, ma már nagyon elterjedt az adott személy személyazonosságának ellenőrzésére különféle célokból. Jelenleg ujjlenyomat-alapú rendszereket láthatunk mindennapjainkban, például az irodákban való részvétel, az alkalmazottak ellenőrzése a bankokban, a készpénzfelvétel vagy az ATM-be történő befizetés, az identitás ellenőrzése a kormányhivatalokban stb. Már összekapcsoltuk az Arduinóval, ma összekapcsoljuk a FingerPrint Sensort a Raspberry Pi-vel. Ezzel a Raspberry Pi FingerPrint rendszerrel új ujjlenyomatokat regisztrálhatunk a rendszerbe, és törölhetjük a már betáplált ujjlenyomatokat. A rendszer teljes működését a cikk végén bemutatott videó mutatja.
Szükséges alkatrészek:
- Raspberry Pi
- USB - soros átalakító
- Ujjlenyomat modul
- Nyomógombok
- 16x2 LCD
- 10 ezer fazék
- Bread Board vagy PCB (megrendelt JLCPCB-től)
- Jumper huzalok
- LED (opcionális)
- Ellenállás 150 ohm -1 k ohm (opcionális)
Áramkör és magyarázat:
Ebben a Raspberry Pi ujjlenyomat-érzékelő interfész projektben négy nyomógombot használtunk: egyet az új ujjbegy regisztrálásához, egyet a már betáplált ujjlenyomatok törléséhez, kettőt pedig a már betáplált ujjlenyomatok pozíciójának növeléséhez / csökkentéséhez. A LED arra szolgál, hogy jelezze, hogy az ujjlenyomat-érzékelő készen áll az ujj elvitelére az egyezéshez. Itt egy ujjlenyomat-modult használtunk, amely az UART-on működik. Tehát itt összekötöttük ezt az ujjlenyomat-modult a Raspberry Pi-vel USB-Serial átalakító segítségével.
Tehát először is meg kell tennünk az összes szükséges kapcsolatot az alábbi áramköri ábra szerint. A csatlakoztatás egyszerű, most csatlakoztattuk az ujjlenyomat-modult a Raspberry Pi USB-porthoz az USB-Serial konverter használatával. 16x2 LCD-t használnak az összes üzenet megjelenítésére. 10k potot is használnak az LCD-vel annak kontrasztjának szabályozására. Az RS, EN, d4, d5, d6 és d7 16x2 LCD tüskék a Raspberry Pi 18, 23, 24, 25, 8 és 7 GPIO-csatlakozóival vannak összekötve. Négy nyomógomb csatlakozik a Raspberry Pi GPIO 5., 6., 13. és 19. tűjéhez. A LED is csatlakozik az RPI 26. érintkezőjéhez.
Könyvtár telepítése az ujjlenyomat-érzékelőhöz:
Az összes kapcsolat létrehozása után be kell kapcsolnunk a Raspberry Pi-t, és készen kell állnunk a nyitott terminállal. Most telepítenünk kell a Raspberry Pi ujjlenyomat-könyvtárát python nyelvre az alábbi lépések végrehajtásával.
1. lépés: A könyvtár telepítéséhez root jogosultságokra van szükség. Tehát először gyökérben adjuk meg a megadott parancsot:
sudo bash
2. lépés: Ezután töltsön le néhány szükséges csomagot a megadott parancsok használatával:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - apt-key add - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / etc / apt / sources.list.d /
3. lépés: Ezt követően frissítenünk kell a Raspberry pi programot, és telepítenünk kell a letöltött ujjlenyomat-érzékelő könyvtárat:
sudo apt-get update sudo apt-get install python-fingerprint – igen
4. lépés: A könyvtár telepítése után most meg kell ellenőriznünk az USB portot, amelyre az ujjlenyomat-érzékelő csatlakozik, a megadott parancs használatával:
ls / dev / ttyUSB *
Most cserélje le a képernyőn található USB-portra az USB-portot, és cserélje ki a python-kódba. A teljes Python-kód a projekt végén található.
Ujjlenyomat-érzékelő működtetése Raspberry Pi-vel:
A projekt működtetése egyszerű, csak futtassa a python kódot, és az LCD-n keresztül lesznek néhány bevezető üzenetek, majd a felhasználót felkérik, hogy tegye az ujját az ujjnyomásra. Most egy ujjal az ujjlenyomat-modul fölé helyezve ellenőrizhetjük, hogy az ujjlenyomatunk már tárolva van-e. Ha az ujjlenyomatát tárolja, akkor az LCD megjeleníti az üzenetet az ujjlenyomat tárolási helyzetével, például „ Fount at Pos: 2”, különben a „Nincs találat” felirat .
Most , hogy beiratkozik egy ujj nyomtatás, a felhasználói igények, hogy nyomja meg a gombot regisztrálnia, és kövesse az utasításokat üzenetek az LCD képernyőn.
Ha a felhasználó törölni akarja az ujjlenyomatokat, meg kell nyomnia a törlés gombot. Ezt követően az LCD kéri a törölni kívánt ujjlenyomat helyzetét. Most, hogy egy újabb két nyomógombot használ a növekményhez és a csökkentéshez, a felhasználó kiválaszthatja a mentett ujjlenyomat pozícióját, és megnyomhatja a regisztrációs gombot (ekkor a regisztrációs gomb OK gombként viselkedik) az ujjlenyomat törléséhez. A megértés érdekében nézze meg a projekt végén található videót.
Python programozás:
A Python az ujjlenyomat-érzékelő és az RPi összekapcsolására egyszerű az ujjlenyomat-könyvtár funkcióinak használatával. De ha a felhasználó maga akarja összekapcsolni, akkor először nehéz lesz. Az ujjlenyomat-érzékelő adatlapjain minden megadható, ami szükséges ugyanazon modul összekapcsolásához. GitHub kód áll rendelkezésre a Raspberry pi teszteléséhez az ujjlenyomat-érzékelővel.
Itt használtuk a könyvtárat, így csak meg kell hívnunk a library függvényt. A kódban először olyan könyvtárakat kell importálnunk, mint az ujjlenyomat, a GPIO és az idő, majd meg kell határoznunk az LCD, a LED és a nyomógombok csapjait.
importálási idő a pyfingerprint.py ujjlenyomatból PyFingerprint importálása RPi.GPIO mint gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 regisztráció = 5 törlés = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LOW = 0
Ezt követően inicializálnunk kell és irányt kell adnunk a kiválasztott csapoknak
gpio.setwarnings (False) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (regisztrál, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (törlés, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (inc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Most inicializáltuk az ujjlenyomat-érzékelőt
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == Hamis): raise ValueError ('Az adott ujjlenyomat-érzékelő jelszava hibás!'), kivéve e kivételként: print ('Kivételes üzenet:' + str (e)) kilépés (1)
Írtunk néhány funkciót az LCD inicializálásához és meghajtásához, ellenőrizze az alábbi teljes kódot a kód részben:
def kezdődik (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Az összes LCD illesztőprogram-funkció megírása után elhelyeztünk funkciókat az ujjlenyomatok bejegyzéséhez, kereséséhez és törléséhez.
def enroll Az ujj () funkció az új ujjlenyomatok bejegyzéséhez vagy mentéséhez használható.
def searchFinger () függvény a már tárolt ujjlenyomatok
felkutatására szolgál. def deleteFinger () functinos a már mentett ujjlenyomatok beillesztésére szolgál a correspontind nyomógomb megnyomásával.
Az összes fenti függvény kódja az alább megadott python kódot kapja.
Ezután végül inicializálnunk kell a rendszert egy ciklus alatt, miközben megkérjük, helyezze az ujját az ujjlenyomat-érzékelőre, majd a rendszer ellenőrzi, hogy ez az ujjlenyomat érvényes-e vagy sem, és ennek megfelelően jeleníti meg az eredményeket.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) Welc "Welcome") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Helyezze az ujját"), ha a gpio.input (regisztrál) == 0: gpio.output led, LOW) enrollFinger () elif gpio.input (törlés) == 0: gpio.output (led, LOW), míg a gpio.input (törlés) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
A teljes Python-kód és egy működő videó az alábbiakban található.