Taula de continguts:

Abellcadabra (sistema de panys de porta de reconeixement facial): 9 passos
Abellcadabra (sistema de panys de porta de reconeixement facial): 9 passos

Vídeo: Abellcadabra (sistema de panys de porta de reconeixement facial): 9 passos

Vídeo: Abellcadabra (sistema de panys de porta de reconeixement facial): 9 passos
Vídeo: 8 лучших электрических спортивных семейных автомобилей 2024, De novembre
Anonim
Abellcadabra (sistema de bloqueig de porta de reconeixement facial)
Abellcadabra (sistema de bloqueig de porta de reconeixement facial)

Estirat durant la quarantena, vaig intentar trobar una manera de matar el temps construint un reconeixement facial per a la porta de la casa. El vaig anomenar Abellcadabra, que és una combinació entre Abracadabra, una frase màgica amb timbre que només agafo la campana. lol

De tota manera, aquest sistema realitzarà el reconeixement facial mitjançant Amazon Rekognition quan l'usuari premi el timbre. Reconeixement per comparar la imatge capturada amb una col·lecció d'imatges a Amazon S3. Si el reconeixement té èxit, s’obrirà la porta. Si no té èxit, el brunzidor sonarà i l'usuari pot tenir l'opció de desbloquejar-lo mitjançant el testimoni RFID. També hi ha un botó a l'interior de la casa on el propietari de la casa pot obrir la porta prement-la.

Tots els reconeixements i desbloqueigs realitzats s’emmagatzemaran a Amazon DynamoDB. Intentaré explicar pas a pas per construir tot el sistema. Estic utilitzant els materials que ja tinc perquè va trigar molt a aconseguir qualsevol cosa, així que això és tot.

Pas 1: materials i eines

Material:

  • Raspberry Pi
  • Càmera Pi
  • Servo RC (actuarà com a pany de porta)
  • Botó de commutació 2 vegades
  • Zumbador
  • Interruptor magnètic
  • Lector i etiqueta RFID RC-522
  • Fils de taulers de panells MF, MM, FF
  • Caixa de gel de poliestirè: qualsevol mida estaria bé perquè aquesta serà la nostra porta.
  • Frontissa d'1,5 polzades 2x
  • Cargol de 2,5 mm 4x

Eines

  • Tornavís
  • Cinta de doble cara

Pas 2: Configuració dels serveis web d'Amazon

Configuració dels serveis web d'Amazon
Configuració dels serveis web d'Amazon

Amazon Web Services és fàcil d’utilitzar i és gratuït fins a arribar a les 5.000 trucades API al mes. Podeu registrar-vos al compte d'AWS aquí. Haureu de registrar-vos per obtenir un compte de reconeixement amazon de nivell gratuït. El nivell gratuït hauria de ser més que suficient per a aquest projecte.

Un cop finalitzada la inscripció, feu clic a Serveis> IAM. A partir d’aquí, crearem un usuari que tindrà permisos per ser utilitzat per Raspberry Pi.

  1. Feu clic a Usuaris> Afegeix un usuari nou
  2. Donar nom a l'usuari creat. Per al tipus Access, marqueu la casella Accés programàtic.
  3. Feu clic a Següent.
  4. Feu clic a Adjunta directament les polítiques existents. Consulteu les polítiques següents:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • Accés administrador
  1. Feu clic a Següent i Següent de nou perquè no necessitem afegir etiqueta.
  2. Comproveu si les polítiques escollides són les mateixes que a la llista i feu clic a Crea usuari.

Descarregueu el fitxer CSV que conté l'identificador de clau d'accés i la clau d'accés secreta que s'utilitzaran en el següent pas. Feu clic a Tanca.

Pas 3: configureu Amazon S3 i Amazon DynamoDB

A AWS Console, feu clic a Serveis> S3

S3 funciona igual que Google Drive, on podeu emmagatzemar documents i imatges. Per a aquest projecte, necessitarem dos cubs, un per emmagatzemar una col·lecció d’imatges per ser utilitzades per Amazon Rekognition (i el segon per emmagatzemar la imatge capturada.

  1. Feu clic a Crea dipòsit.
  2. Introduïu el nom del dipòsit i torneu a fer clic a Següent i Següent.
  3. Desmarqueu el quadre "Bloqueja tot l'accés públic".
  4. I marqueu "Reconec que la configuració actual pot provocar que aquest dipòsit i els objectes que es facin públics".
  5. Feu clic a Següent i Creeu un dipòsit.
  6. Repetiu el pas del segon dipòsit.
  7. feu clic a Serveis> DynamoDB

Amazon DynamoDB s’utilitzarà en aquest projecte per emmagatzemar els detalls del reconeixement i desbloqueig. els detalls que s'emmagatzemaran són l'enllaç a la imatge capturada, el nom de la imatge reconeguda o, si no es reconeix, el nom s'emmagatzemarà com a "desconegut", la data i l'hora del reconeixement i l'estat de si té èxit, no hi ha cares coincidents, no hi ha cares detectat, desbloqueig RFID o desbloquejat des de l'interior.

  1. Feu clic a Afegeix una taula nova.
  2. Inseriu qualsevol nom per a la taula.
  3. Per a la clau principal, inseriu "rid" com a clau principal.
  4. Feu clic a Crea.

Pas 4: configureu AWS a Raspberry Pi

El primer pas és introduir les vostres credencials d’AWS. Per fer aquest tipus a la consola de Raspberry Pi:

aws configure

A continuació, introduïu les vostres credencials d'AWS IAM que heu creat i assegureu-vos d'introduir "us-west-2" com a regió (o la regió pertinent que tingueu configurada per a AWS Rekognition). Deixeu en blanc el format de sortida per defecte.

Pas 5: connecteu els elements a Raspberry Pi

Per tant, les connexions dels elements són les següents.

  • Servo RC - 1, 11, terra
  • Interruptor magnètic: 8, terra
  • Zumbador: 32, terra
  • Botó exterior: 16, terra
  • Botó interior - 18, terra
  • Pin SDA al lector RFID - 24
  • Pin SCK al lector RFID - 23
  • Pin MOSI al lector RFID - 19
  • Pin MISO al lector RFID - 21
  • Pin GND al lector RFID: terra
  • Pin RST al lector RFID - 22
  • Pin de 3,3 V al lector RFID: 17

Connecteu-vos a la terra més propera.

Pas 6: codis

Podeu trobar tot el codi necessari al meu dipòsit de Git.

Per obtenir els passos sobre com afegir cares i utilitzar Index Faces.py, consulteu aquest vídeo.

Pas 7: Construir el prototip

Construint el prototip
Construint el prototip
Construint el prototip
Construint el prototip

Com que no vaig fer cap foto durant la meva construcció, només deixaré la foto del meu prototip acabat.

El prototip està dissenyat per representar una porta. La vista des de mostra la vista de la porta des de l’exterior de la casa. La càmera Pi es va instal·lar a una alçada mitjana de la línia dels ulls humans per garantir que la imatge capturada contingués la cara per ser reconeguda. El botó del timbre que activarà la càmera Pi per capturar la imatge es col·loca a sota de la càmera Pi. El lector RFID també es col·loca a la porta perquè l’usuari pugui desbloquejar la porta mitjançant l’etiqueta RFID en cas que el reconeixement falli.

El botó vermell és el botó interior que s’utilitzarà per desbloquejar la porta des de l’interior de la casa. Raspberry Pi es col·loca a l'interior de la casa perquè la gent de fora no pugui manipular-la. RC Servo es col·loca al costat dret de la porta com a pany de la porta. El brunzidor es col·loca a l'interior de la casa per garantir que el so del brunzidor pugui ser escoltat per la gent de la casa quan sonava. L'interruptor magnètic es col·loca entre la porta i l'estructura.

Pas 8: provar el prototip

Prova del prototip
Prova del prototip

Executeu el codi al terminal

sudo python3 filename.py

Només heu de prémer el botó groc a l'exterior de la casa i es captura aquesta foto.

Comproveu el vostre Amazon DynamoDB per comprovar que la taula està actualitzada i els dipòsits S3 per veure si s’emmagatzema la imatge capturada.

Pas 9: tancament

Si decidiu fer aquest projecte vosaltres mateixos, feu-m'ho saber als comentaris (:

Gràcies per llegir.

Recomanat: