- Reikalingi komponentai:
- Grandinės schema ir paaiškinimas:
- Pirštų atspaudų jutiklio bibliotekos diegimas:
- Pirštų atspaudų jutiklio veikimas su „Raspberry Pi“:
- „Python“ programavimas:
Pirštų atspaudų jutiklis, kurį prieš keletą metų matėme „Sci-Fi“ moivėse, dabar tampa labai įprasta tikrinant asmens tapatybę įvairiais tikslais. Šiuo metu visur galime pamatyti pirštų atspaudais pagrįstas sistemas, pvz., Lankymąsi biuruose, darbuotojų patikrinimą bankuose, grynųjų pinigų išėmimą ar indėlius bankomatuose, tapatybės patikrinimą vyriausybės įstaigose ir kt. Mes jau sąsajome su „Arduino“, šiandien mes sujungsime „FingerPrint Sensor“ su „Raspberry Pi“. Naudodami šią „Raspberry Pi FingerPrint“ sistemą, mes galime užregistruoti naujus pirštų atspaudus sistemoje ir ištrinti jau paduotus pirštų atspaudus. Visiškas sistemos veikimas parodytas vaizdo įraše, pateiktame straipsnio pabaigoje.
Reikalingi komponentai:
- Avietė Pi
- USB į nuoseklų keitiklį
- Pirštų atspaudų modulis
- Paspauskite mygtukus
- 16x2 LCD ekranas
- 10 tūkst. Puodo
- Duonos lenta arba PCB (užsakyta iš JLCPCB)
- Džemperių laidai
- LED (neprivaloma)
- Rezistorius 150 omų -1 k omų (pasirinktinai)
Grandinės schema ir paaiškinimas:
Šiame „ Raspberry Pi Finger Print“ jutiklio sąsajos projekte mes panaudojome 4 mygtukus: vieną naujojo piršto užrašams registruoti, vieną jau padėtų pirštų atspaudams ištrinti, likusius du - jau paduotų pirštų atspaudų padėčiai didinti / mažinti. Diodas naudojamas nurodant, kad pirštų atspaudų jutiklis yra pasirengusi imtis pirštu palyginimui. Čia mes naudojome pirštų atspaudų modulį, kuris veikia UART. Taigi čia mes sujungėme šį pirštų atspaudų modulį su „Raspberry Pi“ naudodami USB į nuoseklų keitiklį.
Taigi, visų pirma, mes turime užmegzti visą reikiamą ryšį, kaip parodyta žemiau esančioje grandinės diagramoje. Jungimai yra paprasti, ką tik prijungėme pirštų atspaudų modulį prie „Raspberry Pi“ USB prievado, naudodami USB į nuoseklųjį keitiklį. Visiems pranešimams rodyti naudojamas 16x2 skystųjų kristalų ekranas. 10k indas taip pat naudojamas su LCD, kad būtų galima kontroliuoti to paties kontrastą. 16x2 LCD kaiščiai RS, EN, d4, d5, d6 ir d7 yra sujungti su „Raspberry Pi“ GPIO kaiščiais 18, 23, 24, 25, 8 ir 7. Keturi mygtukai yra sujungti su „Raspberry Pi“ GPIO kaiščiais 5, 6, 13 ir 19. Šviesos diodas taip pat prijungtas prie RPI 26 kaiščio.
Pirštų atspaudų jutiklio bibliotekos diegimas:
Atlikę visas jungtis, turime įjungti „Raspberry Pi“ ir paruošti jį atidarę terminalą. Dabar turime įdiegti „Raspberry Pi“ pirštų atspaudų biblioteką pitono kalba atlikdami toliau nurodytus veiksmus.
1 veiksmas: norint įdiegti šią biblioteką, reikalingos root teisės. Taigi pirmiausia mes įvedame šaknis pagal nurodytą komandą:
sudo bash
2 žingsnis: Tada atsisiųskite keletą reikalingų paketų naudodami nurodytas 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 žingsnis: Po to turime atnaujinti „Raspberry pi“ ir įdiegti atsisiųstą pirštų atspaudų jutiklio biblioteką:
sudo apt-get update sudo apt-get install python-fingerprint –taip
4 žingsnis: Įdiegę biblioteką, dabar turime patikrinti nurodytą USB prievadą, prie kurio prijungtas jūsų pirštų atspaudų jutiklis
ls / dev / ttyUSB *
Dabar pakeiskite USB prievado Nr. USB prievadu, kurį gavote per ekraną, ir pakeiskite jį pitono kode. Pilnas „Python“ kodas pateikiamas šio projekto pabaigoje.
Pirštų atspaudų jutiklio veikimas su „Raspberry Pi“:
Šio projekto valdymas yra paprastas, tiesiog paleiskite „python“ kodą ir LCD ekrane pasirodys keli įvadiniai pranešimai, o tada vartotojo bus paprašyta uždėti pirštą ant pirštų spausdinimo jutiklio. Dabar, uždėję pirštą ant pirštų atspaudų modulio, galime patikrinti, ar mūsų pirštų atspaudai jau saugomi, ar ne. Jei jūsų piršto atspaudas yra saugomas, skystųjų kristalų ekrane bus rodomas pranešimas su piršto atspaudo laikymo padėtimi, pvz., „ Fount at Pos: 2“, kitaip bus rodoma „No Match Found“ .
Dabar, norėdamas užregistruoti piršto atspaudą, vartotojas turi paspausti registracijos mygtuką ir vykdyti LCD ekrane pateikiamus nurodymus.
Jei vartotojas nori ištrinti bet kurį pirštų atspaudą, vartotojas turi paspausti mygtuką „Ištrinti“. Po to LCD paprašys ištrinti piršto antspaudo vietos. Dabar, naudodamas dar du mygtukus, kad padidintumėte ir sumažintumėte, vartotojas gali pasirinkti išsaugoto piršto spausdinimo vietą ir paspauskite registravimo mygtuką (šiuo metu registravimo mygtukas elgiasi kaip OK mygtukas), kad ištrintumėte tą piršto atspaudą. Norėdami geriau suprasti, peržiūrėkite vaizdo įrašą, pateiktą projekto pabaigoje.
„Python“ programavimas:
Python, leidžiantis susieti pirštų atspaudų jutiklį su RPi, yra paprastas naudojant pirštų atspaudų bibliotekos funkcijas. Bet jei vartotojas pats nori jį susieti, tada pirmą kartą bus šiek tiek sunku. Pirštų atspaudų jutiklių duomenų lapuose pateikiama viskas, ko reikia norint susieti tą patį modulį. Galima gauti „GitHub“ kodą, norint išbandyti „Raspberry pi“ su „Finger Print“ jutikliu.
Čia mes panaudojome biblioteką, todėl mums tiesiog reikia iškviesti bibliotekos funkciją. Kode pirmiausia turime importuoti tokias bibliotekas kaip pirštų atspaudai, GPIO ir laikas, tada turime apibrėžti LCD, LED ir mygtukų kaiščius.
importavimo laikas iš pyfingerprint.pyfingerprint importo PyFingerprint importavimo RPi.GPIO kaip gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 užsiregistruoti = 5 ištrinti = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LOW = 0
Po to turime inicijuoti ir suteikti pasirinktų kaiščių kryptį
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 (užsiregistruoti, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (ištrinti, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (įskaitant, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Dabar mes inicijavome pirštų atspaudų jutiklį
pabandykite: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): raise ValueError ('Nurodytas piršto antspaudo jutiklio slaptažodis neteisingas!'), išskyrus išimtį kaip e spausdinti ('Išimties pranešimas:' + str (e)) išeiti (1)
Mes parašėme tam tikrą funkciją, norėdami inicijuoti ir valdyti skystųjų kristalų ekraną, patikrinkite visą kodą žemiau kodo skyriuje:
def pradžia (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Parašę visas LCD tvarkyklės funkcijas, įdėjome pirštų atspaudų registravimo, paieškos ir ištrynimo funkcijas.
def enrollFinger () funkcija naudojama registruojant arba išsaugant naujus pirštų atspaudus.
def searchFinger () funkcija naudojama jau išsaugotiems pirštų atspaudams
sužinoti def deleteFinger () functinos naudojama jau išsaugotam pirštų atspaudams pažymėti paspaudus correspontind mygtuką.
Visų aukščiau nurodytų funkcijų kodas yra pateiktas žemiau pateiktame Python kode.
Po to, pagaliau, mes turime inicijuoti sistemą per 1 kilpą, paprašydami uždėti pirštą ant piršto atspaudo jutiklio, tada sistema patikrins, ar šis piršto atspaudas galioja, ar ne, ir atitinkamai parodys rezultatus.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) Welc You "(jūs)) time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint („Place Finger“), jei gpio.input (užsiregistruoti) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (ištrinti) == 0: gpio.output (led, LOW), o gpio.input (ištrinti) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Pilnas „Python“ kodas ir veikiantis vaizdo įrašas pateikiamas žemiau.