Table des matières:

Abellcadabra (Système de verrouillage de porte à reconnaissance faciale) : 9 étapes
Abellcadabra (Système de verrouillage de porte à reconnaissance faciale) : 9 étapes

Vidéo: Abellcadabra (Système de verrouillage de porte à reconnaissance faciale) : 9 étapes

Vidéo: Abellcadabra (Système de verrouillage de porte à reconnaissance faciale) : 9 étapes
Vidéo: Part 4 - Triplanetary Audiobook by E. E. Smith (Chs 13-17) 2024, Novembre
Anonim
Abellcadabra (Système de verrouillage de porte à reconnaissance faciale)
Abellcadabra (Système de verrouillage de porte à reconnaissance faciale)

Pendant la quarantaine, j'ai essayé de trouver un moyen de tuer le temps en créant une reconnaissance faciale pour la porte de la maison. Je l'ai nommé Abellcadabra - qui est une combinaison entre Abracadabra, une phrase magique avec sonnette dont je ne prends que la cloche. MDR

Quoi qu'il en soit, ce système effectuera une reconnaissance faciale en utilisant Amazon Rekognition lorsque l'utilisateur appuiera sur la sonnette. Rekognition va comparer l'image capturée avec une collection d'images dans Amazon S3. Si la reconnaissance réussit, la porte s'ouvrira. S'il ne réussit pas, le buzzer retentira et l'utilisateur peut avoir l'option de déverrouiller à l'aide d'un jeton RFID. Il y a aussi un bouton à l'intérieur de la maison où le propriétaire de la maison peut déverrouiller la porte en la poussant.

Toutes les reconnaissances et tous les déverrouillages effectués seront stockés dans Amazon DynamoDB. Je vais essayer d'expliquer étape par étape pour construire l'ensemble du système. J'utilise les matériaux que j'ai déjà parce qu'il m'a fallu beaucoup de temps pour obtenir autre chose, alors c'est tout.

Étape 1: Matériaux et outils

Matériel:

  • Tarte aux framboises
  • Caméra Pi
  • Servo RC (agira comme serrure de porte)
  • Bouton de commutation 2x
  • Avertisseur sonore
  • Interrupteur magnétique
  • Lecteur et étiquette RFID RC-522
  • Fils de planche à pain MF, MM, FF
  • Glacière en polystrène - n'importe quelle taille serait acceptable car ce sera notre porte.
  • charnière de 1,5 pouces 2x
  • Vis 2,5 mm 4x

Outils

  • Tournevis
  • Ruban adhésif double face

Étape 2: configuration des services Web Amazon

Configuration des services Web Amazon
Configuration des services Web Amazon

Amazon Web Services est facile à utiliser et gratuit jusqu'à ce que vous atteigniez 5 000 appels d'API par mois. Vous pouvez créer un compte AWS ici ici. Vous devrez vous inscrire pour un compte Amazon Rekognition gratuit. Le niveau gratuit devrait être plus que suffisant pour ce projet.

Une fois l'inscription réussie, cliquez sur Services > IAM. À partir de là, nous allons créer un utilisateur qui aura les autorisations pour être utilisé par Raspberry Pi.

  1. Cliquez sur Utilisateurs > Ajouter un nouvel utilisateur
  2. Donnez un nom à l'utilisateur créé. Pour Type d'accès, cochez la case Accès par programmation.
  3. Cliquez sur Suivant.
  4. Cliquez sur Joindre directement les politiques existantes. Vérifiez les politiques suivantes:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • Accès administrateur
  1. Cliquez à nouveau sur Suivant et Suivant car nous n'avons pas besoin d'ajouter de balise.
  2. Vérifiez si les stratégies choisies sont les mêmes que celles répertoriées, puis cliquez sur Créer un utilisateur.

Téléchargez le fichier CSV qui contient l'ID de clé d'accès et la clé d'accès secrète qui seront utilisés à l'étape suivante. Cliquez sur Fermer.

Étape 3: configurer Amazon S3 et Amazon DynamoDB

Sur la console AWS, cliquez sur Services > S3

S3 fonctionne exactement comme Google Drive où vous pouvez stocker des documents et des images. Pour ce projet, nous allons avoir besoin de deux buckets dont l'un pour stocker une collection d'images à utiliser par Amazon Rekognition (et le second pour stocker l'image capturée.

  1. Cliquez sur Créer un compartiment.
  2. Entrez le nom du compartiment et cliquez à nouveau sur Suivant et Suivant.
  3. Décochez la case "Bloquer tous les accès publics".
  4. Et cochez la case "Je reconnais que les paramètres actuels peuvent faire en sorte que ce compartiment et les objets qu'il contient deviennent publics".
  5. Cliquez sur Suivant et créez un compartiment.
  6. Répétez l'étape pour le deuxième seau.
  7. cliquez sur Services > DynamoDB

Amazon DynamoDB sera utilisé dans ce projet pour stocker les détails de reconnaissance et de déverrouillage. les détails qui seront stockés sont le lien vers l'image capturée, le nom de l'image reconnu ou s'il n'est pas reconnu, le nom sera stocké comme « inconnu », la date et l'heure de la reconnaissance et l'état de réussite, aucun visage correspondant, aucun visage détecté, déverrouillé RFID ou déverrouillé de l'intérieur.

  1. Cliquez sur Ajouter une nouvelle table.
  2. Insérez n'importe quel nom pour la table.
  3. Pour la clé primaire, insérez 'rid' comme clé primaire.
  4. Cliquez sur Créer.

Étape 4: Configurer AWS sur Raspberry Pi

La première étape consiste à saisir vos informations d'identification AWS. Pour faire ce type dans la console du Raspberry Pi:

aws configurer

Saisissez ensuite vos informations d'identification AWS IAM que vous avez créées en vous assurant de saisir « us-west-2 » comme région (ou la région pertinente que vous avez configurée pour AWS Rekognition). Laissez le format de sortie par défaut vide.

Étape 5: connectez les éléments à Raspberry Pi

Les connexions des éléments sont donc comme ci-dessous.

  • Servo RC - 1, 11, Terre
  • Interrupteur magnétique - 8, terre
  • Avertisseur sonore - 32, sol
  • Bouton extérieur - 16, Terre
  • Bouton intérieur - 18, sol
  • Broche SDA sur lecteur RFID - 24
  • Broche SCK sur lecteur RFID - 23
  • Broche MOSI sur lecteur RFID - 19
  • Broche MISO sur lecteur RFID - 21
  • Broche GND sur lecteur RFID - Terre
  • Broche RST sur lecteur RFID - 22
  • Broche 3,3 V sur lecteur RFID - 17

Veuillez vous connecter à la terre la plus proche.

Étape 6: Codes

Vous pouvez trouver tout le code nécessaire dans mon dépôt Git.

Pour savoir comment ajouter des visages et utiliser Index Faces.py, veuillez consulter cette vidéo.

Étape 7: Construire le prototype

Construire le prototype
Construire le prototype
Construire le prototype
Construire le prototype

Comme je n'ai pris aucune photo lors de ma construction, je laisserai juste la photo de mon prototype fini.

Le prototype est construit pour représenter une porte. La vue de montre la vue de la porte de l'extérieur de la maison. La caméra Pi a été installée à la hauteur moyenne de la ligne de l'œil humain pour garantir que l'image capturée contiendra un visage à reconnaître. Le bouton de sonnette qui activera la caméra Pi pour capturer l'image est placé sous la caméra Pi. Le lecteur RFID est également placé sur la porte pour que l'utilisateur à la porte déverrouille la porte à l'aide d'une étiquette RFID en cas d'échec de la reconnaissance.

Le bouton rouge est le bouton intérieur qui sera utilisé pour déverrouiller la porte de l'intérieur de la maison. Raspberry Pi est placé à l'intérieur de la maison afin que les personnes de l'extérieur ne puissent pas y toucher. RC Servo est placé sur le côté droit de la porte comme la serrure de la porte. Le buzzer est placé à l'intérieur de la maison pour s'assurer que le son du buzzer peut être entendu par les personnes à l'intérieur de la maison lorsqu'il sonne. Un interrupteur magnétique est placé entre la porte et le cadre.

Étape 8: Tester le prototype

Test du prototype
Test du prototype

Exécutez le code sur le terminal

sudo python3 nom de fichier.py

Il suffit d'appuyer sur le bouton jaune à l'extérieur de la maison et cette photo est capturée.

Vérifiez votre Amazon DynamoDB pour vérifier que la table est mise à jour et les compartiments S3 pour voir que l'image capturée est stockée.

Étape 9: Clôture

Si vous décidez de réaliser ce projet vous-même, faites le moi savoir dans les commentaires (:

Merci d'avoir lu.

Conseillé: