- Potrebne komponente:
- Kružni dijagram i objašnjenje:
- Instaliranje knjižnice za senzor otiska prsta:
- Rad senzora otiska prsta s Raspberry Pi:
- Programiranje na Python:
Senzor za otisak prsta, koji smo prije nekoliko godina vidjeli u znanstveno-fantastičnim filmovima, danas je vrlo čest za provjeru identiteta osobe u razne svrhe. U današnje vrijeme sustave zasnovane na otiscima prstiju možemo vidjeti svugdje u svakodnevnom životu, poput posjećivanja ureda, provjere zaposlenika u bankama, podizanja gotovine ili pologa na bankomatima, provjere identiteta u državnim uredima itd. Već smo to povezali s Arduinom, danas ćemo spojiti FingerPrint senzor s Raspberry Pi. Korištenjem ovog Raspberry Pi FingerPrint sustava možemo u sustav upisati nove otiske prstiju i izbrisati već ugrađene otiske prstiju. Kompletan rad sustava prikazan je u videu na kraju članka.
Potrebne komponente:
- Raspberry Pi
- USB u serijski pretvarač
- Modul otiska prsta
- Tipke
- LCD 16x2
- 10k lonac
- Daska za kruh ili PCB (naručeno od JLCPCB)
- Žice kratkospojnika
- LED (opcija)
- Otpornik 150 ohm -1 k ohm (opcija)
Kružni dijagram i objašnjenje:
U ovom projektu povezivanja senzora otiska prsta Raspberry Pi koristili smo 4 tipke: jednu za upis novog pringa, drugu za brisanje već unesenih otisaka prstiju, a ostale dvije za povećanje / smanjenje položaja već unesenih otisaka prstiju. LED se koristi za naznaku da je senzor otiska prsta spreman je da se prst za usklađivanje. Ovdje smo koristili modul otiska prsta koji radi na UART-u. Dakle, ovdje smo povezali ovaj modul otiska prsta s Raspberry Pi pomoću pretvarača USB u serijski.

Dakle, prije svega, moramo uspostaviti sve potrebne veze kako je prikazano na donjem krugovnom dijagramu. Veze su jednostavne, upravo smo povezali modul otiska prsta na Raspberry Pi USB priključak pomoću pretvarača USB u serijski. LCD 16x2 koristi se za prikaz svih poruka. 10k posuda se također koristi s LCD-om za kontrolu kontrasta istih. LCD igle 16x2 RS, EN, d4, d5, d6 i d7 povezane su s GPIO Pin 18, 23, 24, 25, 8 i 7 Raspberry Pi. Četiri tipke spojene su na GPIO pin 5, 6, 13 i 19 Raspberry Pi. LED je također povezan na pin 26 RPI.


Instaliranje knjižnice za senzor otiska prsta:
Nakon uspostavljanja svih veza trebamo napajati Raspberry Pi i pripremiti ga s otvorenim terminalom. Sada moramo instalirati biblioteku otisaka prstiju za Raspberry Pi na jeziku python slijedeći korake u nastavku.
Korak 1: Da biste instalirali ovu knjižnicu, potrebne su root privilegije. Dakle, prvo unesemo u root prema zadanoj naredbi:
sudo bash
Korak 2: Zatim preuzmite neke potrebne pakete pomoću zadanih naredbi:
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 /

Korak 3: Nakon ovoga moramo ažurirati Raspberry pi i instalirati preuzetu biblioteku senzora za ispis prsta:
sudo apt-get update sudo apt-get install python-fingerprint –da

Korak 4: Nakon instalacije biblioteke sada moramo provjeriti USB priključak na koji je povezan senzor otiska prsta, pomoću zadane naredbe:
ls / dev / ttyUSB *
Sada zamijenite USB priključak br., USB priključkom koji ste prešli preko zaslona i zamijenite ga u python kodu. Kompletni Python kôd dat je na kraju ovog projekta.
Rad senzora otiska prsta s Raspberry Pi:
Rad ovog projekta je jednostavan, samo pokrenite python kod i na LCD-u će se pojaviti neke uvodne poruke, a zatim će se od korisnika tražiti da stavi prst na senzor za ispis prsta. Sada stavljanjem prsta preko modula otiska prsta možemo provjeriti jesu li naši otisci prstiju već pohranjeni ili ne. Ako je vaš otisak prsta pohranjen, na LCD-u će se prikazati poruka s položajem za pohranu otiska prsta poput " Fount at Pos: 2", u suprotnom će se prikazati "No Match Found" .

Sada da bi upisao ispis prsta , korisnik treba pritisnuti gumb za registraciju i slijediti upute na LCD zaslonu.
Ako korisnik želi izbrisati bilo koji otisak prsta, tada treba pritisnuti gumb za brisanje. Nakon toga, LCD će tražiti položaj otiska prsta koji se želi izbrisati. Sada pomoću druge dvije tipke za povećavanje i smanjivanje, korisnik može odabrati položaj spremljenog otiska prsta i pritisnuti gumb za registraciju (trenutno se gumb za registraciju ponaša kao gumb Ok) kako bi izbrisao taj otisak prsta. Za više razumijevanja pogledajte videozapis dat na kraju projekta.

Programiranje na Python:
Python za povezivanje senzora otiska prsta s RPi jednostavan je pomoću funkcija knjižnice otiska prsta. Ali ako korisnik želi sam sučelje s njim, tada će to biti malo teško po prvi puta. U tablicama podataka senzora otiska prsta dato je sve što je potrebno za povezivanje istog modula. Dostupan je GitHub kôd za testiranje vašeg Raspberry pi senzora za otisak prsta.
Ovdje smo koristili knjižnicu pa samo trebamo pozvati funkciju knjižnice. U kodu prvo moramo uvesti knjižnice poput otiska prsta, GPIO i vremena, zatim moramo definirati igle za LCD, LED i tipke.
vrijeme uvoza s pyfingerprint.pyfingerprint uvoz PyFingerprint uvoz RPi.GPIO kao gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 upis = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 NISKO = 0
Nakon toga trebamo inicijalizirati i dati smjer odabranim iglama
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 (enroll, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (delet, 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)
Sada smo inicijalizirali Senzor otiska prsta
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): podići ValueError ('Data lozinka senzora otiska prsta je pogrešna!') osim iznimke kao e: print ('Poruka o iznimci:' + str (e)) exit (1)
Napisali smo neku funkciju za inicijalizaciju i upravljanje LCD-om, provjerite donji kod u odjeljku koda:
def start (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Nakon pisanja svih funkcija upravljačkog programa LCD-a, postavili smo funkcije za upis, traženje i brisanje otisaka prstiju.
def enroll Funkcija prsta () koristi se za upis ili spremanje novih otisaka prstiju.
funkcija def searchFinger () koristi se za pretragu već pohranjenih otisaka prstiju
def deleteFinger () functinos koristi se za uklanjanje već spremljenih otisaka prstiju pritiskom na odgovarajući gumb.
Kôd svih gore navedenih funkcija dobiva in python kod koji je naveden u nastavku.
Nakon toga, konačno, moramo inicijalizirati sustav pomoću in while 1 petlje tako što ćemo tražiti da stavimo prst na senzor za ispis prsta, a zatim će sustav provjeriti je li ovaj otisak prsta valjan ili ne i u skladu s tim prikazati rezultate.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint) time.sleep (3) zastava = 0 lcdclear () dok je 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") ako je gpio.input (enroll) == 0: gpio.output (vodio, LOW) enrollFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) dok je gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Kompletni Python kod i radni video prikazan je u nastavku.
