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

1592251205 Comment utiliser un capteur dempreinte digitale Raspberry Pi pour lauthentification
1592251205 Comment utiliser un capteur dempreinte digitale Raspberry Pi pour lauthentification

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:

YouTube video

  • 2 Pièces 5 Mégapixels Capteur 1080p OV5647 Module Mini Caméra avec 6 Pouces Ruban de 15 Broches Câble Compatible avec Le Modèle Raspberry Pi A B B+, Pi 2 et Raspberry Pi 3, 3 B+, Pi 4
    Large compatibilité : nos modules de caméra haute définition Raspberry Pi version 1.3 sont adaptés pour Raspberry Pi modèle A ou B, B+, modèle 2, Raspberry Pi 3, 3 B+, pi 4 Objectif de mise au point : notre capteur OV5647 de 5 mégapixels est équipé d'une lentille de mise au point fixe, peut vous aider à saisir des images claires et belles Résolution d'image fixe : 2592 x 1944, sa résolution vidéo maximale est de 1080p, assez claire pour vous permettre de prendre des photos exquises pour votre famille Interface CSI : cette interface utilise l'interface CSI dédiée, via le bus CSI, une encre de bande passante plus élevée qui transmet les données de pixels de la caméra vers le processeur Contenu de la livraison : vous recevrez 2 mini caméra OV5647 de 5 mégapixels avec capteur 1080p et 2 câbles ruban de 15,2 cm à 15 broches, chacun peut vous servir pendant une longue période, assez pour un usage quotidien et un
  • Frienda 20 Pièces Module de Capteur d'Évitement d'Obstacles Infrarouge IR Module de Capteur Photoélectrique Réfléchissant à 3 Fils Compatible avec Arduino/Raspberry Pi 3/ Robot de Voiture Intelligent
    Caractéristique: il y a une paire de tube émetteur et récepteur infrarouge du module de capteur IR, le tube infrarouge émet une certaine fréquence, lorsque la direction de détection rencontre les obstacles (surface réfléchissante), tube récepteur infrarouge réfléchi, après le traitement du circuit comparateur, indicateur vert s'allumera, en même temps, l'interface de sortie du signal pour sortir le signal numérique (un signal de bas niveau) Fonction: le module de capteur d'évitement d'obstacle infrarouge IR peut être appliqué dans l'évitement d'obstacles de robot, la voiture d'évitement d'obstacles, le nombre de lignes, le suivi de lignes noires et blanches, etc. Distance réglable: la distance de détection du module infrarouge est de 2 à 30 cm et l'angle de détection est de 35 degrés, la distance La distance à laquelle le potentiel peut être détecté est réglable Facile à utiliser: le module de capteur du port de sortie OUT peut être directement connecté au port IO du microcontrôleur, vous pouvez directement piloter un relais 5V Application: le module de capteur IR peut être appliqué aux modules d'alimentation 3-5V DC; Il y a un indicateur d'alimentation rouge
  • AZDelivery GY-68 BMP180 Capteur Numérique pour Pression Barométrique, Température et l'Altitude. Compatible avec Arduino et Raspberry Pi incluant Un E-Book!
    ✅ AZ-Delivery GY-68 / BMP180 Digital Barometric Pressure Temperature et l'Altitude Sensor Module Board pour Raspberry Pi a gamme de mesure de pression de 300 à 1100hpa, altitude de 9000 m à -500 m au-dessus du niveau de la mer et de la température de mesure plage de -40°C à +85°C. ✅ La tension de fonctionnement du module capteur GY-68 / BMP180 est de 1,8 V à 3,6 V. ✅ Les dimensions du module de capteur numérique de pression barométrique, de température et d'altitude AZ GY-68 / BMP180 sont approximativement (L x l x H) : 13 mm x 10 mm x 2,6 mm. ✅ Le GY-68/BMP180 est basé sur le capteur Bosch BMP180 et est nettement plus précis, plus économe en énergie et plus petit que le modèle précédent BMP085. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.