- Nødvendige komponenter:
- Kredsløbsdiagram og forklaring:
- Installation af bibliotek til fingerprint-sensor:
- Betjening af fingeraftrykssensor med Raspberry Pi:
- Python-programmering:
Fingerprint Sensor, som vi plejede at se i Sci-Fi-moives for få år tilbage, er nu blevet meget almindelig for at verificere en persons identitet til forskellige formål. I øjeblikket kan vi se fingeraftryksbaserede systemer overalt i vores daglige liv som for deltagelse på kontorer, medarbejderbekræftelse i banker, for kontantudtag eller indskud i pengeautomater, til identitetsbekræftelse i offentlige kontorer osv. Vi har allerede interfacet det med Arduino, i dag skal vi interface FingerPrint Sensor med Raspberry Pi. Ved hjælp af dette Raspberry Pi FingerPrint-system kan vi tilmelde nye fingeraftryk i systemet og kan slette de allerede fødte fingeraftryk. Komplet bearbejdning af systemet er vist i den video, der er givet i slutningen af artiklen.
Nødvendige komponenter:
- Hindbær Pi
- USB til seriel konverter
- Fingeraftryksmodul
- Tryk på knapper
- 16x2 LCD
- 10 k gryde
- Brødbræt eller PCB (bestilt fra JLCPCB)
- Jumper ledninger
- LED (valgfri)
- Modstand 150 ohm -1 k ohm (valgfri)
Kredsløbsdiagram og forklaring:
I dette Raspberry Pi Finger Print-sensorinterfaceprojekt har vi brugt en 4 trykknapper: en til at tilmelde den nye fingerpring, en til at slette de allerede fødte fingeraftryk og hvile to til at øge / mindske placeringen af allerede fodrede fingeraftryk. En LED bruges til at indikere, at fingeraftrykssensoren er klar til at tage fingeren til matchning. Her har vi brugt et fingeraftryksmodul, der fungerer på UART. Så her har vi grænsefladen til dette fingeraftryksmodul med Raspberry Pi ved hjælp af en USB til seriel konverter.
Så først og fremmest er vi nødt til at oprette den nødvendige forbindelse som vist i kredsløbsdiagram nedenfor. Forbindelser er enkle, vi har netop tilsluttet fingeraftryksmodul til Raspberry Pi USB-port ved hjælp af USB til seriel konverter. En 16x2 LCD bruges til at vise alle meddelelser. En 10k pot bruges også med LCD til at kontrollere kontrasten af den samme. 16x2 LCD-ben RS, EN, d4, d5, d6 og d7 er forbundet med henholdsvis GPIO Pin 18, 23, 24, 25, 8 og 7 i Raspberry Pi. Fire trykknapper er forbundet til GPIO Pin 5, 6, 13 og 19 i Raspberry Pi. LED er også forbundet ved pin 26 i RPI.
Installation af bibliotek til fingerprint-sensor:
Efter at have oprettet alle forbindelser har vi brug for at tænde for Raspberry Pi og gøre det klar med terminal åben. Nu skal vi installere fingeraftryksbibliotek til Raspberry Pi på pythonsprog ved at følge nedenstående trin.
Trin 1: For at installere dette bibliotek kræves rodrettigheder. Så først går vi ind i rod med givet kommando:
sudo bash
Trin 2: Download derefter nogle nødvendige pakker ved hjælp af givne 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 /
Trin 3: Herefter skal vi opdatere Raspberry pi og installere det downloadede fingeraftrykssensorbibliotek:
sudo apt-get opdater sudo apt-get install python-fingeraftryk - ja
Trin 4: Efter installation af bibliotek skal vi nu kontrollere USB-porten, hvor din fingerprint-sensor er tilsluttet, ved hjælp af kommandoen:
ls / dev / ttyUSB *
Udskift nu USB-portnr. Med USB-porten, du kom over skærmen, og udskift den i pythonkoden. Komplet Python-kode gives i slutningen af dette projekt.
Betjening af fingeraftrykssensor med Raspberry Pi:
Betjeningen af dette projekt er enkel, kør bare python-koden, og der vil være nogle intro-meddelelser over LCD-skærmen, og derefter bliver brugeren bedt om at placere fingeren på fingeraftrykssensoren. Nu ved at lægge en finger over fingeraftryksmodulet kan vi kontrollere, om vores fingeraftryk allerede er gemt eller ej. Hvis dit fingeraftryk er gemt, vil LCD vise meddelelsen med lagringspositionen for fingeraftryk som ' Fount at Pos: 2' ellers vil det vise 'No Match Found' .
For at tilmelde en fingerprint skal brugeren trykke på tilmeldingsknappen og følge instruktionsmeddelelserne på LCD-skærmen.
Hvis brugeren vil slette et af fingeraftryk, skal brugeren trykke på slet-knappen. Herefter beder LCD om placeringen af det fingeraftryk, der skal slettes. Nu ved at bruge en anden to trykknap til stigning og reduktion kan brugeren vælge positionen for den gemte Fingerprint og trykke på Tilmeld-knappen (på dette tidspunkt tilmeld-knappen opfører sig som OK-knappen) for at slette det fingeraftryk. For mere forståelse, se på videoen, der er givet i slutningen af projektet.
Python-programmering:
Python til interface Finger Print Sensor med RPi er let ved hjælp af fingeraftryksbiblioteksfunktioner. Men hvis brugeren ønsker at grænsefladen selv, vil det være lidt svært for første gang. I datablade med fingeraftrykssensorer gives alt, hvad der kræves til grænseflade til det samme modul. En GitHub-kode er tilgængelig til at teste din Raspberry pi med Finger Print-sensor.
Her har vi brugt biblioteket, så vi skal bare ringe til biblioteksfunktionen. I kode skal vi først importere biblioteker som fingeraftryk, GPIO og tid, så skal vi definere stifter til LCD, LED og trykknapper.
importtid fra pyfingerprint.pyfingerprint import PyFingerprint import RPi.GPIO som gpio RS = 18 DA = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 tilmeld = 5 slet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LAV = 0
Herefter skal vi initialisere og give retning til de valgte ben
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 (tilmeld, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (slet, 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)
Nu har vi initialiseret fingeraftrykssensor
prøv: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) hvis (f.verifyPassword () == False): hæve ValueError ('Det givne kodeord til fingeraftrykssensoren er forkert!') undtagen Undtagelse som e: print ('Undtagelsesmeddelelse:' + str (e)) exit (1)
Vi har skrevet en eller anden funktion til initialisering og kørsel af LCD'et, se den komplette kode nedenfor i kodeafsnittet:
def begynder (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Efter at have skrevet alle LCD-driverfunktioner, har vi placeret funktioner til registrering af fingeraftryk, søgning og sletning.
defrollFinger () funktion bruges til at tilmelde eller gemme de nye fingeraftryk.
def searchFinger () -funktion bruges til at søge de allerede gemte fingeraftryk
def deleteFinger () -funktioner bruges til at kortlægge den allerede gemte fingerprint ved at trykke på den tilsvarende trykknap.
Alle ovennævnte funktions kode er angivet i python-koden angivet nedenfor.
Efter dette, endelig, er vi nødt til at initialisere systemet med ind, mens 1 løkke ved at bede om at placere finger på fingerprint-sensor, og derefter vil systemet kontrollere, om denne finger udskriver det gyldigt eller ej og vise resultaterne i overensstemmelse hermed.
begynde () 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 ("Placer finger") hvis gpio.input (tilmeld) == 0: gpio.output (ledet, LAVT) tilmeldFinger () elif gpio.input (slet) == 0: gpio.output (ledet, LAV) mens gpio.input (slet) == 0: time.sleep (0.1) deleteFinger () andet: searchFinger ()
Komplet Python-kode og en arbejdsvideo er angivet nedenfor.