# SPDX-License-Identifier : MIT
import time
import board
import busio
from digitalio import DigitalInOut, Direction
import adafruit_fingerprint
led = DigitalInOut(board.D13)
led.direction = Direction.SORTIE
doigt = adafruit_fingerprint.Adafruit_Fingerprint(uart)
#####################################################
# pylint: disable=too-many-branches
def get_fingerprint_detail ():
""" Obtenez une image d'empreinte digitale, modèlez-la et voyez si elle
correspond !
Cette fois, imprimez chaque erreur au lieu de simplement renvoyer en cas
d'échec"""
print ( "Getting image..." , end= "" , flush= True )
i = doigt.get_image()
if i == adafruit_fingerprint.OK:
print ( "Image prise" )
else :
if i == adafruit_fingerprint.NOFINGER:
print ( "Aucun doigt détecté" )
elif i == adafruit_fingerprint.IMAGEFAIL:
print ( "Imaging error" )
else :
print ( "Autre erreur" )
return False
# pylint: disable=too-many-statements
def enroll_finger ( location ):
"""Prenez une image à 2 doigts et modèlez-la, puis stockez-la dans
'location'"""
pour fingerimg dans la plage ( 1 , 3 ):
if fingerimg = = 1 :
print ( "Placer le doigt sur le capteur..." , end= "" , flush= True )
else :
print ( "Placer à nouveau le même doigt..." , end= "" ,flush= True )
if fingerimg == 1 :
print ( "Supprimer le doigt" )
time.sleep( 1 )
tandis que i != adafruit_fingerprint.NOFINGER :
i = doigt.get_image()
retourner vrai
#####################################################
si c == "e" :
enroll_finger(get_num())
if c == "f" :
if get_fingerprint():
print ( "Detected #" , finger.finger_id, "with confidence" ,
finger.confidence)
else :
print ( "Finger not found" )
if c == "d" :
if finger.delete_model(get_num()) == adafruit_fingerprint.OK:
print ( "Supprimé !" )
else :
print ( "Impossible de supprimer" )