- Vaaditut komponentit:
- Piirikaavio ja selitys:
- Kirjaston asentaminen sormenjälkitunnistimelle:
- Sormenjälkitunnistimen käyttö Vadelma Pi:
- Python-ohjelmointi:
Sormenjälkitunnistimesta, jota tapasimme nähdä Sci-Fi-muovissa muutama vuosi sitten, on nyt tullut hyvin yleistä henkilön henkilöllisyyden varmistamiseksi eri tarkoituksiin. Tällä hetkellä voimme nähdä sormenjälkipohjaisia järjestelmiä kaikkialla jokapäiväisessä elämässämme, kuten toimistoissa, työntekijöiden todentamisessa pankeissa, käteisnostoissa tai pankkiautomaateissa, henkilöllisyyden todentamiseksi valtion virastoissa jne. Olemme jo liittäneet sen Arduinoon, tänään aiomme liittää FingerPrint Sensorin Raspberry Pi: n kanssa. Tämän Raspberry Pi FingerPrint -järjestelmän avulla voimme rekisteröidä uudet sormenjäljet järjestelmään ja poistaa jo syötetyt sormenjäljet. Järjestelmän täydellinen toiminta on esitetty artikkelin lopussa olevassa videossa.
Vaaditut komponentit:
- Vadelma Pi
- USB-sarjamuunnin
- Sormenjälkimoduuli
- Painikkeet
- 16x2 LCD
- 10k potti
- Leipälauta tai piirilevy (tilattu JLCPCB: ltä)
- Hyppääjän johdot
- LED (valinnainen)
- Vastus 150 ohm -1 k ohm (valinnainen)
Piirikaavio ja selitys:
Tässä Vadelma Pi Sormenjälkitunnistimen rajapintaprojektissa olemme käyttäneet 4 painonappia: yhtä uuden sormenjäljen rekisteröimiseksi, yhtä jo syötettyjen sormenjälkien poistamiseksi ja loput kaksi jo syötettyjen sormenjälkien sijainnin lisäämiseksi / vähentämiseksi. LED käytetään viitteitä siitä, että sormenjälkitunnistin on valmis ottamaan sormi vastaavia. Tässä olemme käyttäneet sormenjälkimoduulia, joka toimii UART: lla. Joten tässä olemme liittäneet tämän sormenjälkimoduulin Raspberry Pi: n kanssa USB-sarjamuuntimeen.
Joten ensinnäkin meidän on tehtävä kaikki tarvittavat liitännät alla olevan piirikaavion mukaisesti. Liitännät ovat yksinkertaisia, olemme juuri liittäneet sormenjälkimoduulin Raspberry Pi USB -porttiin käyttämällä USB-sarjamuunninta. 16x2 nestekidenäyttöä käytetään kaikkien viestien näyttämiseen. 10k pottiä käytetään myös LCD: n kanssa sen kontrastin säätämiseen. 16x2 LCD-nastaa RS, EN, d4, d5, d6 ja d7 on kytketty Vadelma Pi: n GPIO-nastoihin 18, 23, 24, 25, 8 ja 7. Neljä painonappia on kytketty Raspberry Pi: n GPIO-nastoihin 5, 6, 13 ja 19. LED on kytketty myös RPI: n napaan 26.
Kirjaston asentaminen sormenjälkitunnistimelle:
Kun kaikki yhteydet on tehty, meidän on käynnistettävä Raspberry Pi ja saatava se valmiiksi päätelaitteen ollessa auki. Nyt meidän on asennettava Raspberry Pi -sormenjälkikirjasto python-kielellä seuraamalla seuraavia vaiheita.
Vaihe 1: Tämän kirjaston asentaminen edellyttää juurioikeuksia. Joten ensin syötetään juuressa annetulla komennolla:
sudo bash
Vaihe 2: Lataa sitten vaaditut paketit annettujen komentojen avulla:
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 /
Vaihe 3: Tämän jälkeen meidän on päivitettävä Raspberry pi ja asennettava ladattu sormenjälkitunnistinkirjasto:
sudo apt-get update sudo apt-get install python-fingerprint –kyllä
Vaihe 4: Kun kirjasto on nyt asennettu, meidän on tarkistettava USB-portti, johon sormenjälkitunnistin on kytketty, antamalla annettu komento:
ls / dev / ttyUSB *
Korvaa nyt USB-porttinumero näytön kanssa saamallasi USB-portilla ja korvaa se python-koodissa. Täydellinen Python-koodi annetaan tämän projektin lopussa.
Sormenjälkitunnistimen käyttö Vadelma Pi:
Tämän projektin käyttö on yksinkertaista, suorita vain python-koodi, ja nestekidenäytössä on joitain intro-viestejä ja sitten käyttäjää pyydetään asettamaan sormi sormenjälkitunnistimeen. Nyt asettamalla sormi sormenjälkimoduulin päälle voimme tarkistaa, ovatko sormenjälkemme jo tallennettuja vai ei. Jos sormenjälkesi on tallennettu, nestekidenäytössä näkyy viesti, jossa on sormenjäljen tallennuspaikka, kuten ' Fount at Pos: 2', muuten se näyttää 'No Match Found' .
Rekisteröi nyt sormenjälki , käyttäjän on painettava rekisteröintipainiketta ja noudatettava LCD-näytöllä näkyviä ohjeita.
Jos käyttäjä haluaa poistaa minkä tahansa sormenjäljen, käyttäjän on painettava poistopainiketta. Tämän jälkeen LCD kysyy poistettavan sormenjäljen sijaintia. Käyttäen nyt kahta lisäpainiketta lisäykseen ja vähennykseen, käyttäjä voi valita tallennetun sormenjäljen sijainnin ja poistaa rekisteröintipainikkeen (tällä hetkellä rekisteröintipainike käyttäytyy Ok-painikkeena) poistaaksesi sormenjäljen. Lisää ymmärrystä katsomalla projektin lopussa annettu video.
Python-ohjelmointi:
Python sormenjälkitunnistimen ja RPi: n yhdistämiseksi on helppoa sormenjälkikirjastotoimintojen avulla. Mutta jos käyttäjä haluaa käyttää sitä itse, se on vähän vaikeaa ensimmäistä kertaa. Sormenjälkitunnistimen taulukoissa annetaan kaikki, mitä tarvitaan saman moduulin liittämiseen. GitHub-koodi on käytettävissä Raspberry pi: n testaamiseen sormenjälkitunnistimella.
Tässä olemme käyttäneet kirjastoa, joten meidän on vain kutsuttava kirjastotoimintoa. Koodissa meidän on ensin tuotava kirjastot, kuten sormenjälki, GPIO ja aika, sitten meidän on määriteltävä nastat LCD: lle, LEDille ja painikkeille.
tuontiaika pyfingerprint.pyfingerprint-tuonnilla PyFingerprint-tuonti RPi.GPIO gpio-muodossa RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 ilmoittautuminen = 5 poisto = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LOW = 0
Tämän jälkeen meidän on alustettava ja annettava suunta valituille nastoille
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 (rekisteröidy, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (poista, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (sis. gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Nyt olemme alustaneet sormenjälkitunnistimen
kokeile: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): nosta ValueError ('Annettu sormenjälkitunnistimen salasana on väärä!') paitsi poikkeuksena e: tulosta ('Poikkeusviesti:' + str (e)) exit (1)
Olemme kirjoittaneet jonkin toiminnon nestekidenäytön alustamiseksi ja ajamiseksi. Tarkista täydellinen koodi alla olevasta koodiosasta:
def alkaa (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Kun olet kirjoittanut kaikki LCD-ohjaintoiminnot, olemme sijoittaneet toimintoja sormenjälkien rekisteröimiseen, etsimiseen ja poistamiseen.
def enrollFinger () -toimintoa käytetään uusien sormenjälkien rekisteröimiseen tai tallentamiseen.
def searchFinger () -toimintoa käytetään jo tallennettujen sormenjälkien etsimiseen.
def deleteFinger () functinoja käytetään jo tallennetun sormenjäljen merkitsemiseen painamalla korrespontind-painiketta.
Kaikille yllä olevan funktion koodille annetaan alla annettu python-koodi.
Tämän jälkeen meidän on lopuksi alustettava järjestelmä sisään yhdellä silmukalla pyytämällä Aseta sormi sormenjälkitunnistimelle ja sitten järjestelmä tarkistaa, onko tämä sormenjälki voimassa vai ei, ja näyttää tulokset vastaavasti.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) Welcome You "(Tervetuloa")) time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger"), jos gpio.input (rekisteröidy) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (poista) == 0: gpio.output (led, LOW), kun taas gpio.input (poista) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Täydellinen Python-koodi ja toimiva video on annettu alla.