- Nepieciešamās sastāvdaļas:
- Shēmas shēma un skaidrojums:
- Bibliotēkas instalēšana pirkstu drukas sensoram:
- Pirkstu nospiedumu sensora darbība ar Raspberry Pi:
- Python programmēšana:
Pirkstu nospiedumu sensors, ko mēs dažus gadus atpakaļ redzējām Sci-Fi mauriņos, tagad ir kļuvis ļoti izplatīts, lai pārbaudītu personas identitāti dažādiem mērķiem. Pašlaik mēs varam redzēt uz pirkstu nospiedumiem balstītas sistēmas visur mūsu ikdienas dzīvē, piemēram, apmeklējot birojus, darbinieku pārbaudi bankās, skaidras naudas izņemšanu vai noguldījumus bankomātos, identitātes pārbaudi valdības birojos utt. Mēs jau esam to sasaistījuši ar Arduino, šodien mēs savienosim FingerPrint sensoru ar Raspberry Pi. Izmantojot šo Raspberry Pi FingerPrint sistēmu, mēs varam reģistrēt sistēmā jaunus pirkstu nospiedumus un izdzēst jau padotos pirkstu nospiedumus. Pilnīga sistēmas darbība ir parādīta videoklipā, kas sniegts raksta beigās.
Nepieciešamās sastāvdaļas:
- Aveņu Pi
- USB uz sērijas pārveidotāju
- Pirkstu nospiedumu modulis
- Spiediet pogas
- 16x2 LCD
- 10k katls
- Maizes dēlis vai PCB (pasūtīts no JLCPCB)
- Džemperu vadi
- LED (pēc izvēles)
- Rezistors 150 omi -1 k omi (pēc izvēles)
Shēmas shēma un skaidrojums:
Šajā Raspberry Pi pirkstu drukas sensora saskarnes projektā mēs esam izmantojuši 4 spiedpogas: vienu jaunās pirkstu reģistrēšanai, vienu jau padoto pirkstu nospiedumu dzēšanai un divus pārējos, lai palielinātu / samazinātu jau padoto pirkstu nospiedumu pozīciju. LED izmanto norādi, ka pirkstu nospiedumu sensors ir gatava uzņemties pirkstu par atbilstību. Šeit mēs izmantojām pirkstu nospiedumu moduli, kas darbojas UART. Tātad šeit mēs esam sasaistījuši šo pirkstu nospiedumu moduli ar Raspberry Pi, izmantojot USB uz sērijas pārveidotāju.
Tātad, pirmkārt, mums ir jāveic viss nepieciešamais savienojums, kā parādīts ķēdes diagrammā zemāk. Savienojumi ir vienkārši, mēs tikko pievienojām pirkstu nospiedumu moduli Raspberry Pi USB pieslēgvietai, izmantojot USB uz sērijas pārveidotāju. 16x2 LCD tiek izmantots visu ziņojumu parādīšanai. 10k katls tiek izmantots arī ar LCD, lai kontrolētu tā paša kontrastu. 16x2 LCD tapas RS, EN, d4, d5, d6 un d7 ir savienotas ar attiecīgi Raspberry Pi GPIO tapām 18, 23, 24, 25, 8 un 7. Četras spiedpogas ir savienotas ar Raspberry Pi GPIO tapām 5, 6, 13 un 19. LED ir pievienots arī RPI 26. kontaktā.
Bibliotēkas instalēšana pirkstu drukas sensoram:
Pēc visu savienojumu veikšanas mums ir nepieciešams, lai ieslēgtu Raspberry Pi un sagatavotu to ar atvērtu termināli. Tagad mums ir jāinstalē Raspberry Pi pirkstu nospiedumu bibliotēka pitona valodā, veicot tālāk norādītās darbības.
1. solis: Lai instalētu šo bibliotēku, ir nepieciešamas root tiesības. Tātad vispirms mēs ievadām saknē ar norādītu komandu:
sudo bash
2. solis: Pēc tam lejupielādējiet dažas nepieciešamās pakotnes, izmantojot norādītās komandas:
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. solis: Pēc tam mums jāatjaunina Raspberry pi un jāinstalē lejupielādētā pirkstu nospiedumu sensoru bibliotēka:
sudo apt-get update sudo apt-get install python-fingerprint – jā
4. solis: Pēc bibliotēkas instalēšanas tagad mums jāpārbauda USB ports, kurā ir pievienots pirkstu nospiedumu sensors, izmantojot norādīto komandu:
ls / dev / ttyUSB *
Tagad nomainiet USB porta nr. Ar USB portu, kuru saņēmāt pa ekrānu, un nomainiet to pitona kodā. Pilnīgs Python kods ir norādīts šī projekta beigās.
Pirkstu nospiedumu sensora darbība ar Raspberry Pi:
Šī projekta darbība ir vienkārša, vienkārši palaidiet pitona kodu, un LCD ekrānā būs daži ievadziņojumi, un pēc tam lietotājam tiks lūgts novietot pirkstu uz pirkstu drukas sensora. Tagad, uzliekot pirkstu uz pirkstu nospiedumu moduļa, mēs varam pārbaudīt, vai mūsu pirkstu nospiedumi jau ir saglabāti. Ja jūsu pirkstu nospiedums ir saglabāts, LCD parādīs ziņojumu ar pirksta nospieduma glabāšanas pozīciju, piemēram, “ Fount at Pos: 2”, pretējā gadījumā tas parādīs “No Match Found” .
Tagad, lai reģistrētu pirkstu druku, lietotājam jānospiež reģistrēšanās poga un jāievēro LCD ekrānā redzamie norādījumi.
Ja lietotājs vēlas izdzēst kādu no pirkstu nospiedumiem, viņam jānospiež poga Dzēst. Pēc tam LCD pieprasīs dzēšamā pirksta nospieduma pozīciju. Tagad, izmantojot vēl divas spiedpogas palielināšanai un samazināšanai, lietotājs var izvēlēties saglabātās pirkstu drukas pozīciju un nospiediet reģistrēšanās pogu (šajā laikā reģistrēšanās poga darbojas kā poga Labi), lai izdzēstu šo pirksta nospiedumu. Lai iegūtu lielāku izpratni, apskatiet video, kas sniegts projekta beigās.
Python programmēšana:
Izmantojot pirkstu nospiedumu bibliotēkas funkcijas, Python, lai sasaistītu pirkstu drukas sensoru ar RPi, ir vienkāršs. Bet, ja lietotājs pats vēlas to saskarni, tad pirmo reizi tas būs mazliet grūti. Pirkstu nospiedumu sensoru datu lapās ir norādīts viss, kas nepieciešams viena un tā paša moduļa saskarnei. Lai pārbaudītu jūsu Raspberry pi ar Finger Print sensoru, ir pieejams GitHub kods.
Šeit mēs izmantojām bibliotēku, tāpēc mums vienkārši jāizsauc bibliotēkas funkcija. Kodā vispirms mums jāimportē tādas bibliotēkas kā pirkstu nospiedumi, GPIO un laiks, pēc tam jādefinē LCD, LED un spiedpogu tapas.
importēšanas laiks no pyfingerprint.pyfingerprint importēšanas PyFingerprint importēšanas RPi.GPIO kā gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 reģistrēšanās = 5 dzēšana = 6 inc = 13 dec = 19 led = 26 HIGH = 1 ZEMS = 0
Pēc tam mums ir jāinicializē un jādod virziens atlasītajām tapām
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 (reģistrēties, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dzēst, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (t.sk., gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec., gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (vadīts, gpio.OUT)
Tagad mums ir inicializēts pirkstu nospiedumu sensors
mēģiniet: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): raise ValueError ('Norādītā pirksta nospieduma sensora parole nav pareiza!'), izņemot izņēmumu kā e: drukāt ('Izņēmuma ziņojums:' + str (e)) izeja (1)
Mēs esam uzrakstījuši dažas funkcijas, lai inicializētu un darbinātu LCD, kodu sadaļā pārbaudiet visu kodu:
def sākt (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Pēc visu LCD draivera funkciju ierakstīšanas mēs esam ievietojuši funkcijas pirkstu nospiedumu reģistrēšanai, meklēšanai un dzēšanai.
def enrollFinger () funkcija tiek izmantota jauno pirkstu nospiedumu reģistrēšanai vai saglabāšanai.
def searchFinger () funkciju izmanto, lai uzzinātu jau saglabātos pirkstu nospiedumus
def deleteFinger () functinos izmanto, lai notīrītu jau saglabāto pirkstu nospiedumu, nospiežot pogu correspontind.
Visu iepriekš minēto funkciju kodam tiek piešķirts zemāk sniegtais pitona kods.
Pēc tam, visbeidzot, mums ir jāinicializē sistēma, kamēr 1 cilpa, lūdzot novietot pirkstu uz pirksta nospieduma sensora, un pēc tam sistēma pārbaudīs, vai šis pirksts ir derīgs vai nē, un attiecīgi parādīs rezultātus.
sākt () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Saskarne") laiks. gulēt (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) Welcome You ") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger"), ja gpio.input (reģistrēties) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (dzēst) == 0: gpio.output (led, LOW), savukārt gpio.input (dzēst) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Pilns Python kods un darba video ir norādīts zemāk.