🌍 afrik-fingerprint
Un toolkit Python open-source conçu par et pour les développeurs africains, permettant de tester, configurer et communiquer facilement avec les capteurs d'empreintes digitales compatibles (AS608, R307, R503, etc.) via une liaison série (UART).
🎯 Fonctionnalités
- Agnostique et multi-capteurs : Support unifié pour la gamme de capteurs Grow Technology (AS608, R307, R503, etc.).
- Gestion simplifiée du protocole : Encapsulation des trames binaires, calcul automatique des checksums et gestion des erreurs UART.
- Workflow complet : Capture d'images, extraction des caractéristiques (minutiae), fusion de gabarits et recherche dans la base de données interne.
- Prêt pour l'intégration : Idéal pour vos prototypes de contrôle d'accès locaux, de bornes de pointage (time-and-attendance) et de solutions fintech en Afrique.
🚀 Installation
Installez simplement le package via pip :
pip install afrik-fingerprint
Note : Assurez-vous d'avoir configuré les permissions d'accès au port série (par exemple, /dev/ttyUSB0 ou /dev/ttyS0 sur Linux/Raspberry Pi) et d'utiliser un convertisseur de niveau logique 3.3V si nécessaire.
💻 Exemples d'Utilisation
Le package gère nativement les différents modèles de capteurs de la gamme (AS608, R307, R503, etc.) qui partagent le protocole Grow Technology.
1. Initialisation selon votre modèle de capteur
from afrik_fingerprint import AS608, R307, R503
# Pour un capteur optique standard AS608
sensor_as = AS608(port="/dev/ttyUSB0", baudrate=57600)
# Pour un capteur R307 (boîtier rectangulaire avec câble de raccordement)
sensor_r307 = R307(port="/dev/ttyUSB0", baudrate=57600)
# Pour un capteur R503 (modèle encastrable circulaire avec anneau LED lumineux)
sensor_r503 = R503(port="/dev/ttyUSB0", baudrate=57600)
print(f"Capteur initialisé avec succès.")
2. Enrôlement d'une empreinte digitale (Exemple avec le R503)
Processus complet en deux captures pour enregistrer une nouvelle empreinte dans la mémoire flash du module :
from afrik_fingerprint import R503
import time
# Connexion au capteur circulaire R503
sensor = R503(port="/dev/ttyUSB0")
print("Placez votre doigt sur le capteur R503...")
# Capture de la première image et conversion en buffer 1
if sensor.capture_and_generate(buffer_id=1):
print("Première capture réussie. Retirez votre doigt.")
time.sleep(2)
print("Remplacez le même doigt...")
if sensor.capture_and_generate(buffer_id=2):
print("Seconde capture réussie. Fusion et enregistrement...")
# Fusion des buffers 1 & 2 et stockage à l'ID 1
if sensor.register_and_store(storage_id=1):
print("Empreinte enregistrée avec succès à l'ID 1 !")
else:
print("Erreur lors de l'enregistrement en mémoire flash.")
else:
print("Échec de la seconde capture.")
else:
print("Aucun doigt détecté ou échec de la première capture.")
3. Recherche 1:N (Identification avec un R307)
Identifier à qui appartient une empreinte présentée face à la base de données interne :
from afrik_fingerprint import R307
sensor = R307(port="/dev/ttyUSB0")
print("Présentez votre doigt pour l'identification...")
# Capture et conversion dans le buffer 1
if sensor.capture_and_generate(buffer_id=1):
# Recherche dans la base de données (IDs de 0 à 1000)
match_found, template_id, score = sensor.search_database(buffer_id=1, start_page=0, page_num=1000)
if match_found:
print(f"Correspondance trouvée ! ID utilisateur : {template_id} (Score : {score})")
else:
print("Aucune correspondance trouvée dans la base de données.")
🤝 Contribution
Les contributions de la communauté sont les bienvenues pour étendre la compatibilité avec d'autres modules biométriques ! N'hésitez pas à ouvrir une Pull Request sur GitHub.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file afrik_fingerprint-0.1.4.tar.gz.
File metadata
- Download URL: afrik_fingerprint-0.1.4.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
312c033ffd7c1be3a884d7507d93eaf8982b57ce1cd9874032c062eeb00d20fb
|
|
| MD5 |
f68c19e091128c414d56e1a035c52da5
|
|
| BLAKE2b-256 |
22b1c7cfef10b8ca6625a18f063c671617a678eda783ca4ce305d93aaa51d5b5
|
File details
Details for the file afrik_fingerprint-0.1.4-py3-none-any.whl.
File metadata
- Download URL: afrik_fingerprint-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
627ebf37bc20ad9b5fd43aebc2ed79ecfa0b08c21335ac43a2943191638d3afc
|
|
| MD5 |
e5532739dae13c72165232b7cd871a8e
|
|
| BLAKE2b-256 |
b1395e2430e7d85f0d7bca4cd94204589b6c6b4e7fc6344c44eacdb5af4327e6
|