- Erforderliche Komponenten:
- Schaltplan und Erklärung:
- Installieren der Bibliothek für den Fingerabdrucksensor:
- Bedienung des Fingerabdrucksensors mit Raspberry Pi:
- Python-Programmierung:
Der Fingerabdrucksensor , den wir vor einigen Jahren in Sci-Fi-Moives gesehen haben, ist mittlerweile weit verbreitet, um die Identität einer Person für verschiedene Zwecke zu überprüfen. In der heutigen Zeit können wir überall in unserem täglichen Leben fingerabdruckbasierte Systeme sehen, z. B. für die Anwesenheit in Büros, die Überprüfung von Mitarbeitern in Banken, für Bargeldabhebungen oder Einzahlungen an Geldautomaten, für die Überprüfung der Identität in Regierungsbüros usw. Wir haben sie bereits mit Arduino verbunden. Heute werden wir FingerPrint Sensor mit Raspberry Pi verbinden. Mit diesem Raspberry Pi FingerPrint-System können wir neue Fingerabdrücke im System registrieren und die bereits eingezogenen Fingerabdrücke löschen. Die vollständige Funktionsweise des Systems wurde im Video am Ende des Artikels gezeigt.
Erforderliche Komponenten:
- Himbeer-Pi
- USB zu Seriell Konverter
- Fingerabdruckmodul
- Drück Knöpfe
- 16x2 LCD
- 10k Topf
- Brotplatte oder Leiterplatte (bestellt bei JLCPCB)
- Überbrückungsdrähte
- LED (optional)
- Widerstand 150 Ohm -1 k Ohm (optional)
Schaltplan und Erklärung:
In diesem Raspberry Pi-Fingerabdrucksensor-Schnittstellenprojekt haben wir 4 Drucktasten verwendet: eine zum Registrieren des neuen Fingerabdrucks, eine zum Löschen der bereits eingezogenen Fingerabdrücke und zwei zum Erhöhen / Verringern der Position bereits eingezogener Fingerabdrücke. Eine LED zeigt an, dass der Fingerabdrucksensor bereit ist, den Finger zum Abgleichen zu nehmen. Hier haben wir ein Fingerabdruckmodul verwendet, das auf UART funktioniert. Hier haben wir dieses Fingerabdruckmodul über einen USB-zu-Seriell-Konverter mit Raspberry Pi verbunden.
Zunächst müssen wir also alle erforderlichen Verbindungen herstellen, wie im folgenden Schaltplan gezeigt. Die Verbindungen sind einfach. Wir haben gerade das Fingerabdruckmodul über den USB-zu-Seriell-Konverter an den Raspberry Pi-USB-Anschluss angeschlossen. Ein 16x2 LCD wird zur Anzeige aller Nachrichten verwendet. Ein 10k-Topf wird auch mit LCD verwendet, um den Kontrast desselben zu steuern. Die 16x2 LCD-Pins RS, EN, d4, d5, d6 und d7 sind mit den GPIO-Pins 18, 23, 24, 25, 8 bzw. 7 des Raspberry Pi verbunden. Vier Drucktasten sind mit GPIO Pin 5, 6, 13 und 19 von Raspberry Pi verbunden. Die LED ist auch an Pin 26 des RPI angeschlossen.
Installieren der Bibliothek für den Fingerabdrucksensor:
Nachdem wir alle Verbindungen hergestellt haben, müssen wir Raspberry Pi einschalten und bei geöffnetem Terminal fertig machen. Jetzt müssen wir die Fingerabdruckbibliothek für Raspberry Pi in Python-Sprache installieren, indem wir die folgenden Schritte ausführen.
Schritt 1: Um diese Bibliothek zu installieren, sind Root-Rechte erforderlich. Also geben wir zuerst mit dem angegebenen Befehl in root ein:
Sudo Bash
Schritt 2: Dann einige erforderlichen Pakete herunterladen gegeben durch Befehle:
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 /
Schritt 3: Danach müssen wir den Raspberry pi aktualisieren und die heruntergeladene Fingerabdrucksensorbibliothek installieren:
sudo apt-get update sudo apt-get install python-fingerprint –yes
Schritt 4: Nach der Installation der Bibliothek müssen wir den USB-Anschluss, an den Ihr Fingerabdrucksensor angeschlossen ist, mit dem folgenden Befehl überprüfen:
ls / dev / ttyUSB *
Ersetzen Sie nun den USB-Anschluss Nr. Durch den USB-Anschluss, den Sie über dem Bildschirm erhalten haben, und ersetzen Sie ihn im Python-Code. Der vollständige Python-Code wird am Ende dieses Projekts angegeben.
Bedienung des Fingerabdrucksensors mit Raspberry Pi:
Die Bedienung dieses Projekts ist einfach. Führen Sie einfach den Python-Code aus, und es werden einige Intro-Meldungen über das LCD angezeigt. Anschließend wird der Benutzer aufgefordert, den Finger auf den Fingerabdrucksensor zu legen. Jetzt können wir mit einem Finger über das Fingerabdruckmodul prüfen, ob unsere Fingerabdrücke bereits gespeichert sind oder nicht. Wenn Ihr Fingerabdruck gespeichert ist, zeigt das LCD die Nachricht mit der Speicherposition des Fingerabdrucks wie " Fount at Pos: 2" an, andernfalls wird "No Match Found" angezeigt .
Jetzt einen Finger einschreiben drucken, die Bedürfnisse der Nutzer zu drücken einschreiben Taste und die Anweisungen Meldungen auf dem LCD - Bildschirm.
Wenn der Benutzer Fingerabdrücke löschen möchte , muss er die Löschtaste drücken. Danach fragt das LCD nach der Position des Fingerabdrucks, der gelöscht werden soll. Durch die Verwendung von zwei weiteren Drucktasten zum Inkrementieren und Dekrementieren kann der Benutzer die Position des gespeicherten Fingerabdrucks auswählen und die Registrierungstaste drücken (zu diesem Zeitpunkt verhält sich die Registrierungstaste als OK-Taste), um diesen Fingerabdruck zu löschen. Weitere Informationen finden Sie in dem Video am Ende des Projekts.
Python-Programmierung:
Python für die Verbindung des Fingerabdrucksensors mit RPi ist mit der Verwendung von Funktionen der Fingerabdruckbibliothek einfach. Aber wenn der Benutzer es selbst verbinden möchte, wird es zum ersten Mal ein bisschen schwierig. In den Datenblättern der Fingerabdrucksensoren ist alles angegeben, was für die Schnittstelle desselben Moduls erforderlich ist. Zum Testen Ihres Raspberry Pi mit Fingerabdrucksensor steht ein GitHub-Code zur Verfügung.
Hier haben wir die Bibliothek verwendet, sodass wir nur die Bibliotheksfunktion aufrufen müssen. Im Code müssen wir zuerst Bibliotheken wie Fingerabdruck, GPIO und Zeit importieren, dann müssen wir Pins für LCD, LED und Drucktasten definieren.
Importzeit von pyfingerprint.pyfingerprint importieren PyFingerprint importieren RPi.GPIO als gpio RS = 18 DE = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 einschreiben = 5 löschen = 6 inc = 13 dec = 19 led = 26 HIGH = 1 NIEDRIG = 0
Danach müssen wir die ausgewählten Pins initialisieren und ihnen eine Richtung geben
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 (einschreiben, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (löschen, 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)
Jetzt haben wir den Fingerabdrucksensor initialisiert
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): erhöhe ValueError ('Das angegebene Passwort für den Fingerabdrucksensor ist falsch!'), außer Ausnahme als e: print ('Ausnahmemeldung:' + str (e)) exit (1)
Wir haben eine Funktion zum Initialisieren und Ansteuern des LCD geschrieben. Überprüfen Sie den vollständigen Code unten im Codeabschnitt:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Nachdem wir alle LCD-Treiberfunktionen geschrieben haben, haben wir Funktionen zum Registrieren, Suchen und Löschen von Fingerabdrücken platziert.
Die Funktion def registerFinger () wird zum Registrieren oder Speichern der neuen Fingerabdrücke verwendet.
Die Funktion def searchFinger () wird verwendet, um die bereits gespeicherten Fingerabdrücke zu durchsuchen. Mit den Funktionen
def deleteFinger () wird der bereits gespeicherte Fingerabdruck durch Drücken des entsprechenden Druckknopfs entfernt.
Der Code aller oben genannten Funktionen wird mit dem unten angegebenen Python-Code angegeben.
Danach müssen wir das System schließlich in einer 1- Schleife initialisieren, indem wir den Finger auf den Fingerabdrucksensor legen. Das System prüft dann, ob dieser Fingerabdruck gültig ist oder nicht, und zeigt die Ergebnisse entsprechend an.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Willkommen Sie")) time.sleep (3) flag = 0 lcdclear () während 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Finger platzieren") wenn gpio.input (registrieren) == 0: gpio.output (led, LOW) registerFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) während gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Der vollständige Python-Code und ein Arbeitsvideo sind unten angegeben.