Il n’y a pas que dans les films de Hollywood que l’on voit de plus en plus souvent des lecteurs d’empreintes digitales. Ces modules sont souvent installés dans les systèmes de surveillance à domicile et sont utilisés pour la vérification simple mais sûre des personnes. Avec un tel capteur d’empreintes digitales Raspberry Pi, vous pouvez également mettre en œuvre d’autres projets, tels que des serrures sécurisées.
L’un des avantages est que les mots de passe et/ou les codes numériques peuvent être complètement omis. Bien que cela soit toujours possible, il est beaucoup plus confortable de s’en passer. Ce tutoriel concerne la connexion ainsi que la lecture, la sauvegarde et la vérification des empreintes digitales importées.
Accessoires
Ces capteurs ont été développés à l’origine pour l’Arduino et peuvent être lus via UART. Le Raspberry Pi a deux broches (pin 8 / GPIO14 et pin 10 / GPIO 15), mais ils travaillent avec 3,3V. Étant donné qu’il existe différents capteurs d’empreintes digitales, qui ne fonctionnent pas tous avec 3,3V, un convertisseur USB UART est recommandé. Certains modèles peuvent être utilisés avec une tension de 3,3V et 5V. Ils sont particulièrement adaptés (également en liaison avec un Arduino).
Il convient donc de:
- Capteur d’empreintes digitales pour Raspberry Pi (En dehors de la tension, les modèles ne diffèrent pas trop.
- Convertisseur USB en série (avec raccordement 3,3 V et 5 V
- Câbles Jumper femelle-femelle (s’il n’est pas inclus avec le convertisseur USB.
- facultatif : hébergement (qui peut aussi être 3d-printed)
Notez dans la description de l’article, quelle est la tension dont votre capteur a besoin. Le mien a besoin d’une tension d’entrée de 3,3 V, mais d’autres modèles, par exemple, ont une tension comprise entre 3,8 V et 6V. La tension est très importante pour la connexion.
Connexion du capteur d’empreintes digitales de Raspberry Pi
L’adaptateur USB est étiqueté, mais les câbles du capteur d’empreintes digitales ne le sont pas. Cependant, les câbles ont une couleur claire, que nous pouvons identifier et connecter au convertisseur USB. Nous n’avons besoin que de quatre des câbles (si votre capteur d’empreintes digitales en a plus, vous pouvez ignorer les autres couleurs) :
- Rouge: En fonction de la tension acceptée du capteur (3,3 V ou 5 V).
- Blanc: RXD
- Vert: TXD
- Noir: GND
Si votre capteur nécessite une tension supérieure à 3,3V (et que la valeur maximale est égale ou supérieure à 5V), vous pouvez connecter le câble rouge à la broche 5V.
Pour vérifier si le câblage est correct et si le capteur est détecté, vous pouvez ouvrir votre console et effectuer les opérations suivantes avant et après la connexion:
ls /dev/ttyUSB*
Si aucun autre appareil sériel n’est connecté via USB, rien ne doit être affiché en premier et après /dev/ttyUSB0
. Si le nom diffère (parce que, par exemple, d’autres appareils sont connectés), vous devez l’adapter en conséquence dans les étapes suivantes.
Seconde variante via GPIO’s
Si vous disposez d’un capteur avec une tension d’entrée de 3,3V, vous pouvez également le connecter sans convertisseur USB directement aux GPIO. Théoriquement, vous pouvez aussi le faire avec 5V et un convertisseur TTL, mais je n’entrerai pas dans les détails dans ce tutoriel. L’un des avantages de la variante USB est qu’il est plus facile de vérifier si le capteur a été détecté.
Installation de la bibliothèque d’empreintes digitales Raspberry Pi
Pour certaines commandes de l’installation, les privilèges de root sont requis. Par conséquent, nous démarrons une session de terminal et entrons ce qui suit, qui exécute toutes les commandes suivantes en tant que root :
sudo bash
Nous ajoutons maintenant les sources de l’ensemble nécessaire (L’auteur a également quelques autres projets passionnants) :
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/
Nous mettons ensuite à jour les paquets disponibles et installons la bibliothèque Python :
apt-get update apt-get install python-fingerprint --yes
Si une erreur s’est produite (en particulier, que tous les paquets dépendants n’ont pas été installés), alors exécutez ce qui suit :
apt-get -f install
Pour revenir au mode de fonctionnement normal (sous l’utilisateur Pi), tapez sortie
.
En effet : Si vous préférez utiliser une bibliothèque C ++, vous pouvez consulter celle-ciAdafruit (à l’origine pour Arduino). Le code de la bibliothèque Python est disponible sur Github.
Code de test et exemple de scénario
Tout d’abord, nous faisons un petit test pour voir si le capteur est détecté et prêt à l’accès. Pour ce faire, nous lançons un des fichiers échantillons :
Tout d’abord, nous faisons un petit test pour voir si le capteur est détecté et prêt à l’accès. Pour ce faire, nous lançons un des fichiers échantillons :
python2 /usr/share/doc/python-fingerprint/examples/example_index.py
Au total, jusqu’à 1000 empreintes digitales différentes peuvent être stockées. Un doigt peut également être utilisé plusieurs fois par exemple. Il peut être stocké dans différentes positions afin d’être détecté plus rapidement / plus clairement. La page suivante doit apparaître, qui permet d’afficher les positions sous lesquelles une empreinte est stockée en sélectionnant une page (0-3).
1 2 |
Modèles actuellement stockés : 0 Veuillez entrer la page d'index (0, 1, 2, 3) que vous souhaitez voir : |
Si le message d’erreur « Message d’exception : Le port du capteur d’empreintes digitales « /dev/ttyUSB0″ n’a pas été trouvé » apparaît, il y a un problème avec le câblage ou le capteur. Vérifiez à nouveau.
Enregistrez et lisez
Vous trouverez ci-joint des exemples de fichiers permettant de stocker une nouvelle empreinte digitale, de lire et de supprimer les empreintes stockées. Commençons par l’enregistrement d’un doigt. Appelez le numéro suivant :
python2 /usr/share/doc/python-fingerprint/examples/example_enroll.py
Posez votre doigt sur la surface vitrée, attendez l’instruction dans le terminal et retirez votre doigt dès qu’il y est marqué. Ensuite, vous devez poser votre doigt une seconde fois pour la vérification et l’empreinte est enregistrée dans le numéro suivant.
Voyons également si notre doigt est reconnu. Retirez donc votre doigt du capteur et appelez le script suivant :
python2 /usr/share/doc/python-fingerprint/examples/example_search.py
Remettez votre doigt dessus. Si l’empreinte digitale de Raspberry Pi est détectée, un message comme celui-ci apparaît :
Currently stored templates: 2 Waiting for finger... Found template at position #1 The accuracy score is: 63 SHA-2 hash of template: 3aa1b01149abf0a7ad0d7803eaba65c22ba084009700c3c7f5f4ecc38f020851
Dans ce cas, une valeur de précision est également spécifiée (plus elle est élevée, plus il y a de précision).
Dans ce répertoire, il existe également d’autres scripts avec lesquels vous pouvez supprimer des impressions stockées ou même les charger en tant qu’image. Avec ls /usr/share/docs/python-fingerprint/
vous pouvez afficher tous ces fichiers.
J’ai réalisé une petite vidéo en guise d’avant-goût:
Un commentaire
Top, merci pour le tuto !
J’ai un projet de pont levis contrôlé par empreinte digitale, mais mes connaissances en python sont assez maigres… Pourrais-tu partager le code complet que tu utilises, histoire de voir de quelle façon tu lances une action à la découverte d’une empreinte valide ?
Encore merci à toi 😉