Comment utiliser un capteur d’empreinte digitale Raspberry Pi pour l’authentification

Non seulement dans les films hollywoodiens, les lecteurs d’empreintes digitales sont de plus en plus vus. Ces modules sont souvent installés dans des systèmes de surveillance à domicile et sont utilisés pour la vérification simple mais sûre des personnes. Avec un tel capteur d’empreinte digitale Raspberry Pi, vous pouvez également mettre en œuvre d’autres projets, tels que des verrous sécurisés.

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, mais c’est beaucoup plus confortable sans. Ce tutoriel concerne la connexion ainsi que la lecture, l’enregistrement et la vérification des empreintes digitales importées.

Accessoires

Capteur d'empreinte digitale Raspberry Pi ttyUSB0 UART Konverter

Un adaptateur USB TTL avec une sortie de tension de 3,3 V et 5 V peut être utilisé pour de nombreux modules série.

Ces capteurs ont été développés à l’origine pour l’Arduino et peuvent être lus via UART. Le Raspberry Pi a deux broches (broche 8 / GPIO14 et broche 10 / GPIO 15), mais elles fonctionnent avec 3,3 V. Comme il existe différents capteurs d’empreintes digitales, qui ne fonctionnent pas tous avec 3,3 V, un convertisseur USB UART est recommandé. Certains modèles peuvent être utilisés avec une tension de 3,3 V et 5 V. Ceux-ci sont particulièrement adaptés (également en connexion avec un Arduino).

Les éléments suivants sont donc requis:

  • Capteur d’empreinte digitale Raspberry Pi (NOUS / Royaume-Uni). Mis à part la tension, les modèles ne diffèrent pas beaucoup.
  • Convertisseur USB série (NOUS / Royaume-Uni) avec connexion 3,3 V et 5 V
  • Fils de connexion femelle-femelle (NOUS / Royaume-Uni), s’il n’est pas inclus avec le convertisseur USB.
  • facultatif: cousing (qui peut également être Imprimé en 3D)

Notez dans la description de l’article la tension dont votre capteur a besoin. Le mien a cependant besoin d’une tension d’entrée de 3,3 V, par ex. d’autres modèles ont une tension entre 3,8 V et 6 V. La tension est très importante pour la connexion.

Connexion du capteur d’empreinte digitale Raspberry Pi

L’adaptateur USB est étiqueté, mais pas les câbles du capteur d’empreintes digitales. Cependant, les câbles ont une couleur claire, que nous pouvons identifier et connecter au convertisseur USB. Nous n’avons besoin que de quatre câbles (si votre capteur d’empreintes digitales en a plus, vous pouvez ignorer les couleurs restantes):

  • rouge: Selon la tension acceptée du capteur (3,3 V ou 5 V).
  • blanc: RXD
  • vert: TXD
  • Noir: GND

Si votre capteur a besoin d’une tension supérieure à 3,3 V (et que la valeur maximale est égale ou supérieure à 5 V), vous pouvez connecter le câble rouge à la broche 5 V.

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 périphérique série n’est connecté via USB, rien ne doit s’afficher en premier et après /dev/ttyUSB0. Si le nom diffère (car, par exemple, d’autres appareils sont connectés), vous devez l’adapter en conséquence dans les étapes suivantes.

Deuxième variante via GPIO

Si vous avez un capteur avec une tension d’entrée requise de 3,3 V, vous pouvez également le connecter sans convertisseur USB directement aux GPIO. Théoriquement, vous pouvez le faire aussi avec 5V et un convertisseur TTL, mais je n’entrerai pas dans les détails dans ce tutoriel. Un avantage 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 root sont requis. Par conséquent, nous démarrons une session de terminal et saisissons ce qui suit, qui exécute toutes les commandes suivantes en tant que root:

sudo bash

Maintenant, nous ajoutons les sources de package nécessaires (le 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 packages 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 packages dépendants n’ont pas été installés), exécutez ce qui suit:

apt-get -f install

Pour revenir au shell normal (sous l’utilisateur Pi), tapez exit.

Au fait: si vous préférez utiliser une bibliothèque C ++, vous pouvez regarder celle-ci depuis Adafruit (à 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 à accéder. Pour ce faire, nous exécutons l’un des exemples de fichiers:

Tout d’abord, nous faisons un petit test pour voir si le capteur est détecté et prêt à accéder. Pour ce faire, nous exécutons l’un des exemples de fichiers:

python2 /usr/share/doc/python-fingerprint/examples/example_index.py

Jusqu’à 1000 empreintes digitales différentes peuvent être enregistré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. Ce qui suit devrait apparaître, ce qui vous permet d’afficher les positions sous lesquelles une empreinte est stockée en sélectionnant une page (0-3).

Si le message d’erreur “Message d’exception: le port du capteur d’empreintes digitales” / dev / ttyUSB0 “est introuvable!” apparaît, quelque chose ne va pas avec le câblage ou le capteur. Vérifiez-le à nouveau.

Enregistrer et lire

Vous trouverez ci-joint des exemples de fichiers pour stocker une nouvelle empreinte digitale, lire et supprimer les empreintes digitales enregistrées. Commençons par enregistrer un doigt. Appelez le suivant:

python2 /usr/share/doc/python-fingerprint/examples/example_enroll.py

Placez votre doigt sur la surface en verre, attendez les instructions dans le terminal et retirez votre doigt dès qu’il y est écrit. Ensuite, vous devez mettre votre doigt une deuxième fois pour la vérification et l’empreinte est stockée dans le numéro suivant.

Voyons aussi 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 sur le 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, mieux c’est).

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 fait une petite vidéo en pré-goût:

Articles similaires

Bouton retour en haut de la page
Fermer