- Wymagane komponenty:
- Schemat obwodu i wyjaśnienie:
- Instalowanie biblioteki dla czujnika odcisków palców:
- Działanie czytnika linii papilarnych z Raspberry Pi:
- Programowanie w Pythonie:
Czujnik odcisków palców, który widzieliśmy kilka lat temu w filmach Sci-Fi, jest teraz bardzo powszechny do weryfikowania tożsamości osoby w różnych celach. W dzisiejszych czasach systemy oparte na odciskach palców widzimy wszędzie w naszym codziennym życiu, np. Do obsługi urzędów, weryfikacji pracowników w bankach, do wypłat gotówki lub wpłat w bankomatach, do weryfikacji tożsamości w urzędach itp. Połączyliśmy je już z Arduino, dzisiaj połączymy FingerPrint Sensor z Raspberry Pi. Korzystając z tego systemu Raspberry Pi FingerPrint, możemy zarejestrować nowe odciski palców w systemie i usunąć już przesłane odciski palców. Pełne działanie systemu zostało pokazane w wideo zamieszczonym na końcu artykułu.
Wymagane komponenty:
- Raspberry Pi
- Konwerter USB na port szeregowy
- Moduł linii papilarnych
- Wciskać przyciski
- Wyświetlacz LCD 16x2
- Pula 10k
- Bread Board lub PCB (zamawiane w JLCPCB)
- Przewody połączeniowe
- LED (opcja)
- Rezystor 150 ohm -1 k ohm (opcjonalnie)
Schemat obwodu i wyjaśnienie:
W tym projekcie interfejsu czujnika odcisków palców Raspberry Pi użyliśmy 4 przycisków: jeden do wpisywania nowego odcisku palca, jeden do usuwania już pobranych odcisków palców, a pozostałe dwa do zwiększania / zmniejszania pozycji już pobranych odcisków palców. LED służy do wskazania, że czujnik linii papilarnych jest gotowy do podjęcia palec do dopasowywania. Tutaj użyliśmy modułu linii papilarnych, który działa na UART. Więc tutaj połączyliśmy ten moduł linii papilarnych z Raspberry Pi za pomocą konwertera USB na szeregowy.
Przede wszystkim musimy wykonać wszystkie wymagane połączenia, jak pokazano na poniższym schemacie obwodu. Połączenia są proste, właśnie podłączyliśmy moduł linii papilarnych do portu USB Raspberry Pi za pomocą konwertera USB na szeregowy. Do wyświetlania wszystkich komunikatów służy wyświetlacz LCD 16x2. Potencjometr 10k jest również używany z wyświetlaczem LCD do kontrolowania kontrastu tego samego. 16x2 pinów LCD RS, EN, d4, d5, d6 i d7 są połączone odpowiednio z pinami GPIO 18, 23, 24, 25, 8 i 7 Raspberry Pi. Cztery przyciski są podłączone do pinów GPIO 5, 6, 13 i 19 Raspberry Pi. Dioda LED jest również podłączona do pinu 26 RPI.
Instalowanie biblioteki dla czujnika odcisków palców:
Po wykonaniu wszystkich połączeń musimy zasilić Raspberry Pi i przygotować go z otwartym terminalem. Teraz musimy zainstalować bibliotekę linii papilarnych dla Raspberry Pi w języku python, wykonując poniższe kroki.
Krok 1: Aby zainstalować tę bibliotekę, wymagane są uprawnienia roota. Więc najpierw wchodzimy do roota za pomocą polecenia:
sudo bash
Krok 2: Następnie pobierz wymagane pakiety za pomocą podanych poleceń:
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 /
Krok 3: Następnie musimy zaktualizować Raspberry pi i zainstalować pobraną bibliotekę czujnika odcisków palców:
sudo apt-get update sudo apt-get install python-fingerprint –yes
Krok 4: Po zainstalowaniu biblioteki musimy teraz sprawdzić port USB, do którego podłączony jest Twój czytnik linii papilarnych, używając podanego polecenia:
ls / dev / ttyUSB *
Teraz zamień numer portu USB na port USB, który masz nad ekranem i zamień go w kodzie Pythona. Kompletny kod Pythona jest podany na końcu tego projektu.
Działanie czytnika linii papilarnych z Raspberry Pi:
Obsługa tego projektu jest prosta, wystarczy uruchomić kod Pythona, a na wyświetlaczu LCD pojawi się kilka komunikatów wprowadzających, a następnie użytkownik zostanie poproszony o umieszczenie palca na czujniku odcisków palców. Teraz nakładając palec na moduł odcisków palców, możemy sprawdzić, czy nasze odciski palców są już zapisane, czy nie. Jeśli Twój odcisk palca jest zapisany, na wyświetlaczu LCD pojawi się komunikat z miejscem przechowywania odcisku palca, np. „ Źródło w pozycji: 2”, w przeciwnym razie zostanie wyświetlony komunikat „Nie znaleziono dopasowania” .
Teraz, aby zarejestrować odcisk palca , użytkownik musi nacisnąć przycisk rejestracji i postępować zgodnie z instrukcjami wyświetlanymi na ekranie LCD.
Jeśli użytkownik chce usunąć jakiekolwiek odciski palców, musi nacisnąć przycisk usuwania. Następnie wyświetlacz LCD zapyta o położenie odcisku palca, który ma zostać usunięty. Teraz, używając kolejnych dwóch przycisków do zwiększania i zmniejszania, użytkownik może wybrać pozycję zapisanego odcisku palca i nacisnąć przycisk rejestracji (w tym momencie przycisk rejestracji zachowuje się jak przycisk OK), aby usunąć ten odcisk palca. Aby uzyskać więcej informacji, obejrzyj wideo zamieszczone na końcu projektu.
Programowanie w Pythonie:
Python do łączenia czujnika odcisków palców z RPi jest łatwy dzięki wykorzystaniu funkcji biblioteki odcisków palców. Ale jeśli użytkownik chce sam go obsługiwać, po raz pierwszy będzie to trochę trudne. W arkuszach danych czujnika odcisków palców podane jest wszystko, co jest wymagane do połączenia tego samego modułu. Dostępny jest kod GitHub umożliwiający przetestowanie Raspberry pi z czujnikiem odcisków palców.
Tutaj użyliśmy biblioteki, więc wystarczy wywołać funkcję biblioteki. W kodzie najpierw musimy zaimportować biblioteki, takie jak odcisk palca, GPIO i czas, następnie musimy zdefiniować piny dla LCD, LED i przycisków.
czas importu z pyfingerprint.pyfingerprint import PyFingerprint import RPi.GPIO as gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 enroll = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 NISKI = 0
Następnie musimy zainicjalizować i nadać kierunek wybranym pinom
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 (enroll, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (delet, gpio.OUT) 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)
Teraz zainicjowaliśmy czujnik odcisków palców
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): raise ValueError ('Podane hasło czujnika linii papilarnych jest nieprawidłowe!') z wyjątkiem Wyjątku jako e: print ('Komunikat o wyjątku:' + str (e)) exit (1)
Napisaliśmy jakąś funkcję do inicjalizacji i sterowania LCD, sprawdź pełny kod poniżej w sekcji kodu:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Po zapisaniu wszystkich funkcji sterownika LCD umieściliśmy funkcje wpisywania, wyszukiwania i usuwania odcisków palców.
Funkcja def enrollFinger () służy do rejestrowania lub zapisywania nowych odcisków palców.
Funkcja def searchFinger () służy do wyszukiwania już zapisanych odcisków palców.
Funkcja def deleteFinger () służy do usuwania już zapisanego odcisku palca przez naciśnięcie odpowiedniego przycisku.
Kod całej powyższej funkcji jest podany w kodzie w języku Python podanym poniżej.
Po tym, w końcu musimy systemu zainicjować przez w podczas 1 pętli prosząc aby Place Finger na czujnik odcisków palców, a następnie sprawdzić, czy system ten palec wydrukować to ważne, czy nie i wyświetlić wyniki odpowiednio.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Welcome You") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") if gpio.input (enroll) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) while gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Kompletny kod Pythona i działające wideo są podane poniżej.