- Nødvendige komponenter:
- Kretsdiagram og forklaring:
- Installere bibliotek for fingeravtrykkssensor:
- Drift av fingeravtrykkssensor med Raspberry Pi:
- Python-programmering:
Fingeravtrykkssensor, som vi pleide å se i Sci-Fi-moives for noen år tilbake, er nå blitt veldig vanlig for å verifisere identiteten til en person for forskjellige formål. I dag kan vi se fingeravtrykksbaserte systemer overalt i vårt daglige liv, for eksempel til oppmøte på kontorer, ansattes verifisering i banker, for kontantuttak eller innskudd i minibanker, for identitetsverifisering i offentlige kontorer etc. i dag skal vi grensesnitt FingerPrint Sensor med Raspberry Pi. Ved å bruke dette Raspberry Pi FingerPrint-systemet kan vi registrere nye fingeravtrykk i systemet og kan slette de allerede matede fingeravtrykkene. Fullstendig bearbeiding av systemet er vist i videoen gitt på slutten av artikkelen.
Nødvendige komponenter:
- Bringebær Pi
- USB til seriell omformer
- Fingeravtrykk-modul
- Trykke knapper
- 16x2 LCD
- 10k pott
- Brødbrett eller PCB (bestilt fra JLCPCB)
- Jumper ledninger
- LED (valgfritt)
- Motstand 150 ohm -1 k ohm (valgfritt)
Kretsdiagram og forklaring:
I dette Raspberry Pi Finger Print-sensorgrensesnittprosjektet har vi brukt en 4 trykknapper: en for å registrere den nye fingerpringen, en for å slette de allerede matede fingeravtrykkene og hvile to for å øke / redusere posisjonen til allerede matede fingeravtrykk. En LED brukes til å indikere at fingeravtrykkssensoren er klar til å ta fingeren for å matche. Her har vi brukt en fingeravtrykkmodul som fungerer på UART. Så her har vi koblet denne fingeravtrykkmodulen til Raspberry Pi ved hjelp av en USB til seriell omformer.
Så først og fremst må vi lage alle nødvendige tilkoblinger som vist i kretsdiagrammet nedenfor. Tilkoblingene er enkle, vi har nettopp koblet fingeravtrykkmodul til Raspberry Pi USB-port ved å bruke USB til seriell omformer. En 16x2 LCD brukes til å vise alle meldinger. En 10k pott brukes også med LCD for å kontrollere kontrasten av den samme. 16x2 LCD-pinner RS, EN, d4, d5, d6 og d7 er koblet til henholdsvis GPIO Pin 18, 23, 24, 25, 8 og 7 på Raspberry Pi. Fire trykknapper er koblet til GPIO Pin 5, 6, 13 og 19 av Raspberry Pi. LED er også koblet til pin 26 i RPI.
Installere bibliotek for fingeravtrykkssensor:
Etter å ha gjort alle tilkoblingene trenger vi for å slå på Raspberry Pi og gjøre den klar med terminal åpen. Nå må vi installere fingeravtrykksbibliotek for Raspberry Pi på pythonspråk ved å følge trinnene nedenfor.
Trinn 1: For å installere dette biblioteket kreves root-rettigheter. Så først går vi inn i roten med gitt kommando:
sudo bash
Trinn 2: Deretter laste ned noen nødvendige pakker av ved å bruke kommandoer:
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 /
Trinn 3: Etter dette må vi oppdatere Raspberry pi og installere det nedlastede fingeravtrykksensorbiblioteket:
sudo apt-get oppdater sudo apt-get installer python-fingeravtrykk – ja
Trinn 4: Etter å ha installert biblioteket nå, må vi sjekke USB-porten som fingeravtrykkssensoren din er koblet til, ved å bruke kommandoen:
ls / dev / ttyUSB *
Bytt nå ut USB-port nr. Med USB-porten du kom over skjermen, og erstatt den i pythonkoden. Komplett Python-kode er gitt på slutten av dette prosjektet.
Drift av fingeravtrykkssensor med Raspberry Pi:
Driften av dette prosjektet er enkel, bare kjør python-koden, og det vil være noen intro-meldinger over LCD-skjermen, og deretter blir brukeren bedt om å plassere finger på fingeravtrykkssensoren. Nå ved å sette en finger over fingeravtrykkmodulen, kan vi sjekke om fingeravtrykkene våre allerede er lagret eller ikke. Hvis fingeravtrykket ditt er lagret, vil LCD-meldingen vise meldingen med lagringsposisjonen til fingeravtrykk, som ' Fount at Pos: 2', ellers vil det vise 'No Match Found' .
Nå for å registrere et fingeravtrykk , må brukeren trykke på registreringsknappen og følge instruksjonene på LCD-skjermen.
Hvis brukeren vil slette noen av fingeravtrykkene, må brukeren trykke på Slett-knappen. Deretter vil LCD be om posisjonen til fingeravtrykket som skal slettes. Nå ved å bruke ytterligere to trykknapper for økning og reduksjon, kan brukeren velge posisjonen til lagret fingeravtrykk og trykke på knappen Registrer (for øyeblikket registrerer knappen oppfører seg som OK-knappen) for å slette det fingeravtrykket. For mer forståelse, se på videoen som er gitt på slutten av prosjektet.
Python-programmering:
Python for å kombinere fingeravtrykkssensor med RPi er enkelt ved å bruke funksjoner for fingeravtrykksbibliotek. Men hvis brukeren vil grensesnittet selv, vil det være litt vanskelig for første gang. I datablad for fingeravtrykksensorer er alt gitt som er nødvendig for å grensesnitt for den samme modulen. En GitHub-kode er tilgjengelig for å teste Raspberry pi med Finger Print-sensor.
Her har vi brukt biblioteket, så vi trenger bare å ringe biblioteksfunksjonen. I kode må vi først importere biblioteker som fingeravtrykk, GPIO og tid, så må vi definere pinner for LCD, LED og trykknapper.
importtid fra pyfingerprint.pyfingerprint import PyFingerprint import RPi.GPIO som gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 registrerings = 5 slett = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LAV = 0
Etter dette må vi initialisere og gi retning til de valgte pinnene
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 (registrer, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (slett, 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)
Nå har vi initialisert fingeravtrykkssensor
prøv: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): raise ValueError ('The given fingerprint sensor password is wrong!') unntatt unntak som e: skriv ut ('Unntaksmelding:' + str (e)) exit (1)
Vi har skrevet noen funksjoner for å initialisere og kjøre LCD-skjermen, sjekk hele koden nedenfor i kodeseksjonen:
def begynner (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Etter å ha skrevet alle LCD-driverfunksjoner, har vi plassert funksjoner for registrering, søk og sletting av fingeravtrykk.
defrollFinger () -funksjonen brukes til å registrere eller lagre de nye fingeravtrykkene.
def searchFinger () -funksjonen brukes til å finne de allerede lagrede fingeravtrykkene
def deleteFinger () -funksjonene brukes til å kartlegge den allerede lagrede fingeravtrykk ved å trykke på tilhørende trykknapp.
Alt over funksjonens kode er gitt i python-koden gitt nedenfor.
Etter dette, til slutt, må vi initialisere systemet innen 1 løkke ved å be om å plassere finger på fingeravtrykkssensoren, og deretter vil systemet sjekke om denne fingeravtrykket er gyldig eller ikke, og vise resultatene deretter.
begynn () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Welcome") time.sleep (3) flag = 0 lcdclear () mens 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") hvis gpio.input (registrerings) == 0: gpio.output (ledet, LAVT)rollFinger () elif gpio.input (slett) == 0: gpio.output (ledet, LOW) mens gpio.input (slett) == 0: time.sleep (0.1) deleteFinger () annet: searchFinger ()
Fullstendig Python-kode og en arbeidsvideo er gitt nedenfor.