- Components necessaris:
- Diagrama del circuit i explicació:
- Instal·lació de la biblioteca per al sensor d'impressió digital:
- Funcionament del sensor d'empremta digital amb Raspberry Pi:
- Programació Python:
El sensor d’empremtes digitals , que solíem veure a ruscs de ciència ficció fa pocs anys, ara és molt comú per verificar la identitat d’una persona amb diversos propòsits. En l'actualitat podem veure sistemes basats en empremtes digitals a tot arreu de la nostra vida diària, com ara l'assistència a oficines, la verificació dels empleats als bancs, la retirada d'efectiu o els dipòsits a caixers automàtics, la verificació de la identitat a les oficines governamentals, etc. Ja ho hem relacionat amb Arduino, avui farem la interfície del sensor FingerPrint amb Raspberry Pi. Mitjançant aquest sistema Raspberry Pi FingerPrint, podem registrar noves empremtes digitals al sistema i eliminar les empremtes digitals ja alimentades. El vídeo completat al final de l'article mostra el funcionament complet del sistema.
Components necessaris:
- Raspberry Pi
- Convertidor USB a sèrie
- Mòdul d’empremta digital
- Polsadors
- LCD de 16x2
- Olla de 10k
- Tauler de pa o PCB (demanat a JLCPCB)
- Filferros de pont
- LED (opcional)
- Resistència 150 ohm -1 k ohm (opcional)
Diagrama del circuit i explicació:
En aquest projecte d’interfície de sensors d’impressió digital Raspberry Pi, hem utilitzat 4 botons polsadors: un per inscriure el nou dit digital, un per suprimir les empremtes digitals ja alimentades i restar dues per augmentar / disminuir la posició de les empremtes digitals ja alimentades. S’utilitza un LED per indicar que el sensor d’empremta digital està preparat per agafar el dit per fer-lo coincidir. Aquí hem utilitzat un mòdul d’empremta digital que funciona a UART. Per tant, aquí hem interfaçat aquest mòdul d’empremtes digitals amb Raspberry Pi mitjançant un convertidor USB a sèrie.

Per tant, primer de tot, hem de fer tota la connexió necessària tal com es mostra al diagrama de circuits següent. Les connexions són senzilles, acabem de connectar el mòdul d’empremta digital al port USB de Raspberry Pi mitjançant el convertidor USB a sèrie. S'utilitza una pantalla LCD de 16x2 per mostrar tots els missatges. També es fa servir una olla de 10 k amb LCD per controlar el contrast de la mateixa. Els pins LCD de 16x2 RS, EN, d4, d5, d6 i d7 estan connectats amb el pin GPIO 18, 23, 24, 25, 8 i 7 de Raspberry Pi respectivament. Quatre botons polsadors estan connectats als pins GPIO 5, 6, 13 i 19 de Raspberry Pi. El LED també està connectat al pin 26 de RPI.


Instal·lació de la biblioteca per al sensor d'impressió digital:
Després de fer totes les connexions, necessitem engegar Raspberry Pi i preparar-lo amb el terminal obert. Ara hem d’ instal·lar la biblioteca d’empremtes digitals per a Raspberry Pi en llenguatge python seguint els passos següents.
Pas 1: per instal·lar aquesta biblioteca, calen privilegis d'arrel. Per tant, primer entrem a l' arrel per ordre donada:
sudo bash
Pas 2: a continuació, descarregueu alguns paquets necessaris mitjançant les ordres donades:
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 /

Pas 3: Després d'això, hem d' actualitzar Raspberry pi i instal·lar la biblioteca de sensors d'impressió digital descarregada:
sudo apt-get update sudo apt-get install python-fingerprint –sí

Pas 4: Després d’instal·lar la biblioteca ara, hem de comprovar el port USB al qual està connectat el sensor d’empremta digital mitjançant l’ordre donada:
ls / dev / ttyUSB *
Ara substituïu el port USB núm., Pel port USB que teniu a la pantalla i substituïu-lo pel codi Python. El codi complet de Python es dóna al final d’aquest projecte.
Funcionament del sensor d'empremta digital amb Raspberry Pi:
El funcionament d’aquest projecte és senzill, només cal que executeu el codi python i hi haurà alguns missatges d’introducció a través del LCD i, a continuació, es demanarà a l’usuari que col·loqui el dit al sensor d’impressió digital. Ara, posant un dit sobre el mòdul d’empremtes digitals, podem comprovar si les nostres empremtes digitals ja estan emmagatzemades o no. Si s'emmagatzema l'empremta dactilar llavors LCD mostrarà el missatge amb la posició d'emmagatzematge d'empremtes dactilars com ' Deu en Pos: 2' en cas contrari es mostrarà 'No s'ha trobat coincidència' .

Ara per registrar una impressió digital , l’ usuari ha de prémer el botó d’inscripció i seguir les instruccions dels missatges de la pantalla LCD.
Si l'usuari vol suprimir alguna empremta digital, ha de prémer el botó Suprimeix. Després d'això, el LCD us demanarà la posició de l'empremta digital que s'ha de suprimir. Ara, mitjançant l’ús d’un altre botó polsador per augmentar i disminuir, l’usuari pot seleccionar la posició de la impressió digital desada i prémer el botó d’inscripció (en aquest moment el botó d’inscripció es comporta com a botó Ok) per suprimir aquesta empremta digital. Per obtenir més comprensió, mireu el vídeo donat al final del projecte.

Programació Python:
Python per connectar el sensor d’impressió digital amb RPi és fàcil amb l’ús de funcions de biblioteca d’empremtes digitals. Però si l’usuari vol connectar-s’hi ell mateix, serà difícil per primera vegada. Als fulls de dades del sensor d’empremta digital, es dóna tot el necessari per a la interfície del mateix mòdul. Hi ha un codi GitHub disponible per provar el vostre Raspberry pi amb el sensor d’impressió digital.
Aquí hem utilitzat la biblioteca, de manera que només hem de trucar a la funció de biblioteca. En codi, primer hem d’importar biblioteques com empremta digital, GPIO i temps, després hem de definir pins per a LCD, LED i botons polsadors.
temps d'importació des de pyfingerprint.pyfingerprint importació PyFingerprint import RPi.GPIO com gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 inscriure = 5 suprimir = 6 inc = 13 dec = 19 led = 26 ALT = 1 BAIX = 0
Després d'això, hem d' inicialitzar i donar direcció als pins seleccionats
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 (inscriure, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (suprimir, 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)
Ara hem inicialitzat el sensor d’empremta digital
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): augmenta ValueError ('La contrasenya del sensor d'empremta digital donada és incorrecta!') excepte Excepció com a e: print ('Missatge d'excepció:' + str (e)) exit (1)
Hem escrit alguna funció per inicialitzar i conduir la pantalla LCD, comproveu el codi complet següent a la secció de codis:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Després d’escriure totes les funcions del controlador LCD, hem col·locat funcions per registrar, cercar i suprimir empremtes digitals.
La funció def enrollFinger () s'utilitza per registrar o desar les noves empremtes digitals.
La funció def searchFinger () s'utilitza per cercar les empremtes digitals ja emmagatzemades
def deleteFinger () funcions s'utilitza per desactivar la empremta digital ja guardada prement el botó corresponent.
Tot el codi de la funció anterior es dóna en el codi python que es mostra a continuació.
Després d’això, finalment, hem d’ inicialitzar el sistema fins a 1 bucle demanant que col·loqueu el dit al sensor d’empremta digital i el sistema comprovarà si aquesta empremta digital és vàlida o no i mostrarà els resultats en conseqüència.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Us dóna la benvinguda")) time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") si gpio.input (enroll) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) mentre que gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
A continuació es mostra un codi Python complet i un vídeo de treball.
