- Nödvändiga komponenter:
- Kretsschema och förklaring:
- Installera bibliotek för fingeravtryckssensor:
- Användning av fingeravtryckssensor med Raspberry Pi:
- Python-programmering:
Fingeravtryckssensorn, som vi brukade se i Sci-Fi-moives för några år tillbaka, har nu blivit mycket vanligt för att verifiera en persons identitet för olika ändamål. För närvarande kan vi se fingeravtrycksbaserade system överallt i vårt dagliga liv, som närvaro på kontor, verifiering av anställda i banker, kontantuttag eller insättningar i bankomater, för identitetsverifiering i statliga kontor etc. Vi har redan kopplat det med Arduino, idag ska vi gränssnitt FingerPrint Sensor med Raspberry Pi. Med detta Raspberry Pi FingerPrint-system kan vi registrera nya fingeravtryck i systemet och kan ta bort de redan matade fingeravtrycken. Komplett bearbetning av systemet har visats i videon i slutet av artikeln.
Nödvändiga komponenter:
- Raspberry Pi
- USB till seriell omvandlare
- Fingeravtrycksmodul
- Trycka på knappar
- 16x2 LCD
- 10k kruka
- Brödbräda eller kretskort (beställt från JLCPCB)
- Bygeltrådar
- LED (tillval)
- Motstånd 150 ohm -1 k ohm (tillval)
Kretsschema och förklaring:
I detta Raspberry Pi Finger Print-sensorgränssnittsprojekt har vi använt fyra tryckknappar: en för att registrera det nya fingerpringen, en för att radera redan matade fingeravtryck och vila två för att öka / minska positionen för redan matade fingeravtryck. En LED används för att indikera att fingeravtryckssensorn är redo att ta fingret för matchning. Här har vi använt en fingeravtrycksmodul som fungerar på UART. Så här har vi kopplat den här fingeravtrycksmodulen med Raspberry Pi med en USB till seriell omvandlare.
Så först och främst måste vi göra alla nödvändiga anslutningar som visas i kretsschemat nedan. Anslutningarna är enkla, vi har precis anslutit fingeravtrycksmodul till Raspberry Pi USB-port med USB till seriell omvandlare. En 16x2 LCD används för att visa alla meddelanden. En 10k-kruka används också med LCD för att styra kontrasten hos densamma. 16x2 LCD-stift RS, EN, d4, d5, d6 och d7 är anslutna till GPIO-stift 18, 23, 24, 25, 8 respektive 7 på Raspberry Pi. Fyra tryckknappar är anslutna till GPIO Pin 5, 6, 13 och 19 i Raspberry Pi. LED är också ansluten vid stift 26 i RPI.
Installera bibliotek för fingeravtryckssensor:
Efter att ha gjort alla anslutningar behöver vi starta Raspberry Pi och göra den redo med terminalen öppen. Nu måste vi installera fingeravtrycksbibliotek för Raspberry Pi på pythonspråk genom att följa nedanstående steg.
Steg 1: För att installera detta bibliotek krävs root-behörigheter. Så först går vi in i roten med ett givet kommando:
sudo bash
Steg 2: Ladda ner några obligatoriska paket med hjälp av givna kommandon:
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 /
Steg 3: Efter detta måste vi uppdatera Raspberry pi och installera det nedladdade fingeravtryckssensorbiblioteket:
sudo apt-get uppdatera sudo apt-get installera python-fingeravtryck - ja
Steg 4: Efter att ha installerat biblioteket måste vi nu kontrollera USB-porten där din fingeravtryckssensor är ansluten, med kommandot:
ls / dev / ttyUSB *
Byt nu ut USB-port nr. Med USB-porten som du kom över skärmen och byt ut den i pythonkoden. Komplett Python-kod ges i slutet av detta projekt.
Användning av fingeravtryckssensor med Raspberry Pi:
Driften av detta projekt är enkel, kör bara python-koden och det kommer att finnas några intro-meddelanden över LCD-skärmen och sedan kommer användaren att bli ombedd att placera finger på fingeravtryckssensorn. Nu genom att sätta ett finger över fingeravtrycksmodulen kan vi kontrollera om våra fingeravtryck redan är lagrade eller inte. Om ditt fingeravtryck är lagrat kommer LCD-meddelandet att visa meddelandet med lagringspositionen för fingeravtryck som ' Fount at Pos: 2' annars visar det 'No Match Found' .
Nu för att registrera ett finger Print, användarbehov genom att trycka på knappen registrera och följa instruktioner meddelanden på LCD-skärmen.
Om användaren vill ta bort något av fingeravtryck måste användaren trycka på raderingsknappen. Därefter kommer LCD att be om positionen för fingeravtrycket som ska raderas. Nu genom att använda ytterligare två tryckknappar för ökning och minskning kan användaren välja positionen för den sparade fingeravtrycket och trycka på knappen Registrera (vid denna tidpunkt registrerar sig knappen som Ok-knappen) för att radera det fingeravtrycket. För mer förståelse, titta på videon som ges i slutet av projektet.
Python-programmering:
Python för gränssnitt mellan fingeravtryckssensor och RPi är enkelt med hjälp av fingeravtrycksbiblioteksfunktioner. Men om användaren vill gränssnittet själv, blir det lite svårt för första gången. I datablad för fingeravtryckssensorer ges allt som krävs för gränssnitt för samma modul. En GitHub-kod är tillgänglig för att testa din hallon pi med fingeravtryckssensor.
Här har vi använt biblioteket så vi behöver bara ringa biblioteksfunktionen. I kod måste vi först importera bibliotek som fingeravtryck, GPIO och tid, sedan måste vi definiera stift för LCD, LED och tryckknappar.
importtid från pyfingerprint.pyfingerprint import PyFingerprint import RPi.GPIO som gpio RS = 18 SV = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 anmäla = 5 radera = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LÅG = 0
Efter detta måste vi initialisera och ge riktning till de valda stiften
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 (registrera, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (radera, 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 initierat fingeravtryckssensorn
försök: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): höja ValueError ('Det givna lösenordet för fingeravtryckssensorn är fel!') utom undantag som e: skriv ut ('Undantagsmeddelande:' + str (e)) avsluta (1)
Vi har skrivit någon funktion för att initiera och driva LCD-skärmen, kontrollera hela koden nedan i kodavsnittet:
def börja (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Efter att ha skrivit alla LCD-drivrutinsfunktioner har vi placerat funktioner för registrering, sökning och radering av fingeravtryck.
defrollFinger () -funktionen används för att registrera eller spara de nya fingeravtrycken.
def searchFinger () -funktionen används för att söka i de redan sparade fingeravtrycken
def deleteFinger () -funktionerna används för att kartlägga det redan sparade fingeravtrycket genom att trycka på motsvarande tryckknapp.
Alla ovanstående funktions kod ges i pythonkoden nedan.
Efter detta, äntligen, måste vi initialisera systemet med in medan en slinga genom att be att placera finger på fingeravtryckssensorn och sedan kommer systemet att kontrollera om det här fingeravtrycket är giltigt eller inte och visa resultaten därefter.
börja () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Welcome") time.sleep (3) flagga = 0 lcdclear () medan 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Placera finger") om gpio.input (registrera) == 0: gpio.output (led, LÅG) registrera Finger () elif gpio.input (radera) == 0: gpio.output (led, LOW) medan gpio.input (radera) == 0: time.sleep (0.1) deleteFinger () annat: searchFinger ()
Komplett Python-kod och en arbetsvideo ges nedan.