Tabla de contenido:

Abellcadabra (sistema de bloqueo de puertas con reconocimiento facial): 9 pasos
Abellcadabra (sistema de bloqueo de puertas con reconocimiento facial): 9 pasos

Video: Abellcadabra (sistema de bloqueo de puertas con reconocimiento facial): 9 pasos

Video: Abellcadabra (sistema de bloqueo de puertas con reconocimiento facial): 9 pasos
Video: ⭐MORFOPSICOLOGÍA🎭Lectura de Rostro🙂 l Rostros Desnudos 2024, Noviembre
Anonim
Abellcadabra (sistema de bloqueo de puertas con reconocimiento facial)
Abellcadabra (sistema de bloqueo de puertas con reconocimiento facial)

Acostado durante la cuarentena, traté de encontrar una manera de matar el tiempo construyendo reconocimiento facial para la puerta de la casa. Lo llamé Abellcadabra, que es una combinación entre Abracadabra, una frase mágica con timbre que solo tomo el timbre. jajaja

De todos modos, este sistema realizará el reconocimiento facial mediante el uso de Amazon Rekognition cuando el usuario presione el timbre. Rekognition va a comparar la imagen capturada con una colección de imágenes en Amazon S3. Si el reconocimiento es exitoso, se abrirá la puerta. Si no tiene éxito, sonará el timbre y el usuario puede tener la opción de desbloquearlo usando un token RFID. También hay un botón en el interior de la casa donde el dueño de la casa puede abrir la puerta empujándola.

Todos los reconocimientos y desbloqueos realizados se almacenarán en Amazon DynamoDB. Intentaré explicarte paso a paso para construir todo el sistema. Estoy usando los materiales que ya tengo porque me tomó mucho tiempo conseguir algo más, así que esto es todo.

Paso 1: Materiales y herramientas

Material:

  • Frambuesa pi
  • Cámara Pi
  • Servo RC (actuará como cerradura de puerta)
  • Botón de interruptor 2x
  • Zumbador
  • Interruptor magnético
  • Lector y etiqueta RFID RC-522
  • Cables de placa de pruebas MF, MM, FF
  • Caja de hielo de poliestireno: cualquier tamaño estaría bien porque esta será nuestra puerta.
  • Bisagra de 1,5 pulgadas 2x
  • Tornillo de 2,5 mm 4x

Instrumentos

  • Destornillador
  • Cinta de dos lados

Paso 2: configurar los servicios web de Amazon

Configuración de Amazon Web Services
Configuración de Amazon Web Services

Amazon Web Services es fácil de usar y gratuito hasta que llegue a 5000 llamadas a la API por mes. Puede registrarse para obtener una cuenta de AWS aquí aquí. Deberá registrarse para obtener una cuenta de Amazon Rekognition de nivel gratuito. El nivel gratuito debería ser más que suficiente para este proyecto.

Una vez que se haya registrado correctamente, haga clic en Servicios> IAM. A partir de aquí, crearemos un usuario que tendrá permisos para ser utilizado por Raspberry Pi.

  1. Haga clic en Usuarios> Agregar nuevo usuario
  2. Dar nombre al usuario creado. Para el tipo de acceso, marque la casilla Acceso programático.
  3. Haga clic en Siguiente.
  4. Haga clic en Adjuntar políticas existentes directamente. Verifique las siguientes políticas:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • AdministradorAcceso
  1. Haga clic en Siguiente y Siguiente nuevamente porque no necesitamos agregar una etiqueta.
  2. Verifique si las políticas elegidas son las mismas que se enumeran y luego haga clic en Crear usuario.

Descargue el archivo CSV que contiene el ID de la clave de acceso y la clave de acceso secreta que se utilizará en el próximo paso. Haga clic en Cerrar.

Paso 3: configurar Amazon S3 y Amazon DynamoDB

En la consola de AWS, haga clic en Servicios> S3

S3 funciona igual que Google Drive, donde puede almacenar documentos e imágenes. Para este proyecto, vamos a necesitar dos Buckets, uno para almacenar una colección de imágenes para ser utilizado por Amazon Rekognition (y el segundo es para almacenar la imagen capturada.

  1. Haga clic en Crear depósito.
  2. Ingrese el nombre del depósito y haga clic en Siguiente y Siguiente nuevamente.
  3. Desmarca la casilla "Bloquear todos los accesos públicos".
  4. Y marque la casilla "Reconozco que la configuración actual puede dar como resultado que este depósito y los objetos que contiene se conviertan en públicos".
  5. Haga clic en Siguiente y Crear depósito.
  6. Repita el paso para el segundo cubo.
  7. haga clic en Servicios> DynamoDB

Amazon DynamoDB se utilizará en este proyecto para almacenar los detalles de reconocimiento y desbloqueo. los detalles que se almacenarán son el enlace a la imagen capturada, el nombre de la imagen se reconoce o si no se reconoce, el nombre se almacenará como 'desconocido', la fecha y hora del reconocimiento y el estado si es exitoso, no hay caras coincidentes, no hay caras detectado, RFID desbloqueado o desbloqueado desde el interior.

  1. Haga clic en Agregar nueva tabla.
  2. Inserte cualquier nombre para la tabla.
  3. Para la clave principal, inserte 'rid' como clave principal.
  4. Haga clic en Crear.

Paso 4: configurar AWS en Raspberry Pi

El primer paso es ingresar sus credenciales de AWS. Para hacer este tipo en la consola de Raspberry Pi:

aws configure

Luego, ingrese las credenciales de AWS IAM que ha creado y asegúrese de ingresar “us-west-2” como su región (o la región relevante que haya configurado para AWS Rekognition). Deje el formato de salida predeterminado en blanco.

Paso 5: conecte los elementos a Raspberry Pi

Entonces, las conexiones de los elementos son las siguientes.

  • Servo RC - 1, 11, tierra
  • Interruptor magnético - 8, tierra
  • Zumbador - 32, tierra
  • Botón exterior - 16, tierra
  • Botón interior - 18, tierra
  • Pin SDA en lector RFID - 24
  • Pin SCK en lector RFID - 23
  • Pin MOSI en lector RFID - 19
  • Pin MISO en lector RFID - 21
  • Pin GND en lector RFID - Tierra
  • Pin RST en lector RFID - 22
  • Pin de 3,3 V en el lector RFID - 17

Conéctese a la tierra más cercana.

Paso 6: Códigos

Puedes encontrar todo el código necesario en mi repositorio de Git.

Para conocer los pasos sobre cómo agregar caras y usar Index Faces.py, consulte este video.

Paso 7: construcción del prototipo

Construyendo el Prototipo
Construyendo el Prototipo
Construyendo el Prototipo
Construyendo el Prototipo

Como no tomé ninguna foto durante mi construcción, solo dejaré la foto de mi prototipo terminado.

El prototipo está diseñado para representar una puerta. La vista de muestra la vista de la puerta desde el exterior de la casa. La cámara Pi se instaló a la altura promedio de la línea del ojo humano para garantizar que la imagen capturada contenga una cara para ser reconocida. El botón del timbre que activará la cámara Pi para capturar la imagen se coloca debajo de la cámara Pi. El lector RFID también se coloca en la puerta para que el usuario en la puerta desbloquee la puerta con una etiqueta RFID en caso de que el reconocimiento falle.

El botón rojo es el botón interior que se utilizará para desbloquear la puerta desde el interior de la casa. La Raspberry Pi se coloca en el interior de la casa para que las personas del exterior no puedan manipularla. RC Servo se coloca en el lado derecho de la puerta como cerradura de la puerta. El zumbador se coloca en el interior de la casa para garantizar que las personas que están dentro de la casa puedan escuchar el sonido del zumbador cuando sonó. El interruptor magnético se coloca entre la puerta y el marco.

Paso 8: Probar el prototipo

Probando el Prototipo
Probando el Prototipo

Ejecuta el código en la terminal

sudo python3 filename.py

Simplemente presione el botón amarillo en el exterior de la casa y se captura esta foto.

Verifique su Amazon DynamoDB para verificar que la tabla esté actualizada y los buckets de S3 para ver que la imagen capturada esté almacenada.

Paso 9: cierre

Si decides hacer este proyecto tú mismo, avísame en los comentarios (:

Gracias por leer.

Recomendado: