SISTEMA DE AUTENTICACIÓN EN UNA PUERTA

Este proyecto ha sido realizado por Oleksandr Yatsentyuk, Alejandro González Luzuriaga y Loreto Uzquiano Esteban.

ÍNDICE

  1. INFORMACIÓN GENERAL
  2. IMPLEMENTACIÓN Y CASOS DE USO
  3. PASOS QUE HEMOS SEGUIDO
  4. REPARTO DE TAREAS
  5. MATERIALES UTILIZADOS
  6. PROBLEMAS Y SOLUCIONES
  7. CÓDIGO PRINCIPAL
  8. CONCLUSIÓN
  9. IMÁGENES DEL PROYECTO FINAL

Nuestro proyecto consiste en un sistema de triple autenticación para abrir una puerta. Los tres niveles de autenticación son: app, crendenciales y huella dactilar. La autenticación principal se realiza mediante un sensor de huella dactilar. Además, contamos con una aplicación móvil que se conecta con la placa mediante un módulo de Bluetooth y le transmite señales. Estas señales se emiten tras pulsar el botón correspondiente en dicha aplicación, y pueden ser para añadir una huella nueva, para autenticarse o para salir de la aplicación. Además, contamos con una pantalla LCD donde se escribe todo lo que el usuario necesita saber para poder realizar dichas operaciones, y un motor servo para abrir y cerrar la puerta. El sistema cuenta con un modo de alimentación dual; el primero es por conexión directa a la placa Arduino con USB, y el segundo es mediante una pila de 9V.

Hemos realizado un diagrama inicial que simula el funcionamiento de nuestro proyecto de una forma general. En la aplicación hay 3 botones, uno para añadir una huella, otro para autenticarse y otro para salirse de la aplicación. Dependiendo del botón que se pulse, se envía una señal u otra mediante el sensor de Bluetooth hacia la puerta. Si se le da al botón de añadir huella, se emite la señal 1, si se le da al botón de autenticarse, se emite la señal 2, y si se le da a cancelar, se emite la señal número 3.

Además, en el diagrama podemos observar que se espera la huella, se valida, y, si la señal es la 1, se guarda dicha huella. En caso contrario, si la señal es la 2, se concede acceso o no mediante la puerta dependiendo de si la confianza es menor que 100 o mayor/igual que 100.

Cabe añadir, que viendo el diagrama podemos darnos cuenta de que, en todos los estados, la información aparece escrita en la pantalla LCD.

Más adelante, hemos actualizado el diagrama para cumplir con las necesidades del proyecto. En concreto, hemos añadido un “Log In” al inicio del diagrama, y hemos quitado las señales de “Cancelar”. Además, hemos actualizado la señal “Autenticarse” por la señal “Abrir Puerta”.

Para la última versión hemos decidido simplificar al máximo posible el diagrama limitándonos al funcionamiento ideal del proyecto y las funcionalidades principales, ya que la gestión de errores y comportamientos no esperados están controlados por el código mostrado en esta misma memoria y la lógica detrás de la aplicación móvil.

A continuación, mostramos una simulación 3D que hemos hecho para visualizar cómo quedaría la maqueta final con todos los componentes.

A continuación, mostramos un pseudocódigo que hicimos al inicio de la etapa de desarrollo de la parte software para empezar a desarrollar el software de una manera organizada y teniendo perfectamente estructurados todos los pasos u opciones de la aplicación.

Primero nos hemos reunido varias veces para ver:

  • Los componentes que teníamos que comprar.
  • La lógica del proyecto (parte hardware y parte software).

Nos hemos dividido los componentes y la aplicación para que cada uno se centrase en una cosa e investigase sobre ese componente. Posteriormente, hemos tenido varias reuniones más en las que nos hemos explicado los unos a los otros aquello de lo que habíamos investigado (cómo funcionaba cada componente, librerías, etc).

Hemos realizado una maqueta 3D y la hemos mandado a imprimir. Cuando llegó, montamos toda la parte física del proyecto (parte hardware).

Al mismo tiempo, para no perder el tiempo e ir avanzando, hemos desarrollado parte del software. En esta parte, nos hemos centrado en modularizar el código para que, posteriormente, a la hora de probarlo, nos fuese más sencillo localizar errores.

Cuando ya tuvimos toda la parte física (hardware) preparada, nos pusimos a terminar de desarrollar el software y a probarlo junto con el hardware.

Cabe añadir, que al mismo tiempo que seguíamos estos pasos, hemos ido preparando la memoria, las diapositivas, y todo lo relacionado.

Las tareas, principalmente, las hemos dividido como sigue a continuación:

  • Oleksandr Yatsentyuk: parte hardware del proyecto.
  • Alejandro González Luzuriaga: parte software del proyecto.
  • Loreto Uzquiano Esteban: parte software del proyecto.

Además, cabe resaltar que nos hemos ayudado entre todos y hemos tenido diversas reuniones para poner en común todo lo que íbamos realizando.

Finalmente, adjuntamos una tabla (gráfico de Gantt) que hicimos al principio del proyecto con el reparto de tareas, fechas límite para estas tareas, y reuniones, tanto presenciales como por videollamada. Esta tabla la hemos ido modificando y ajustando según nuestras necesidades a lo largo de todo el proyecto. Cabe destacar que este gráfico nos ha sido de gran ayuda para la organización y los deadlines para cada paso del proyecto.

A continuación, mostramos otra tabla en la que se nombran los componentes que hemos utilizado.

COMPONENTEMODELOPRECIO
Sensor de huella dactilarR30724 €
Módulo BluetoothHC-0510 €
Motor servoSM-S2309S0 €
Pantalla LCD1802A0 €
Placa de ArduinoElegoo UNO-R30 €
Protoboard0 €
Tabla de madera0 €
Maqueta 3D45 €
Spray5 €
Cables0 €
Pines para sujetar los cables15 €
Materiales complementarios18 €

El total del dinero que hemos invertido en este proyecto ha sido: 24 € + 10 € + 45 € + 5 € + 15 € + 18 € = 117 €.

En resumen, hemos comprado el sensor de huella dactilar, el módulo bluetooth, la maqueta 3D, y un spray para pintar la maqueta final. Lo que hemos utilizado de aquello que nos proporcionaba la universidad ha sido el motor, la pantalla LCD, la placa de Arduino, la protoboard, los cables y las resistencias. Por otro lado, hemos usado las tablas de madera que teníamos en nuestra casa.

En cuanto a los problemas encontrados, nos encontramos con el sensor de huella dactilar, ya que a veces funcionaba y otras veces no. Tras evaluar este módulo varios compañeros del equipo, hemos detectado que el sensor de huella que compramos, o no venía bien, o lo hemos roto nosotros mismos. Por tanto, hemos tenido que comprar otro módulo igual. En resumen, el problema que nos encontramos era el no funcionamiento del módulo, y la solución fue comprar otro nuevo.

Otro problema que hemos experimentado durante el desarrollo e implementación del proyecto ha sido que, en mitad del proceso del montaje de la parte hardware, el servo que nos proporcionó la universidad, dejó de funcionar. Como solución a esto, uno de nosotros tenía un servo en casa, y ha sido ese el que finalmente hemos utilizado en el proyecto.

Además, hemos tenido diversos problemas con los cables, ya que se soltaban con facilidad, y lo que no queríamos era que en la presentación del proyecto se soltase algún cable; por ello finalmente decidimos comprar unos pines para sujetarlos bien y que no se moviesen.

Por último, este es el enlace al repositorio de GitHub.

A lo largo de un mes y medio de trabajo, hemos desarrollado un sistema de triple autenticación con modo de alimentación dual, siguiendo una metodología rigurosa y una planificación detallada a través de un diagrama de Gantt. Esto nos ha permitido aprovechar el tiempo con el que empezamos el proyecto, y optimizar los componentes que teníamos disponibles, así como cumplir con los objetivos establecidos al inicio y culminar el proyecto con éxito.

Hemos conseguido un sistema que combina de manera eficiente una placa Arduino Uno como base para el control del sistema y la aplicación MIT App Inventor para crear una interfaz intuitiva para el usuario. 

Para garantizar la máxima seguridad de la apertura de la puerta, y como hemos mencionado en la información general del proyecto, hemos conseguido implementar un sistema con un triple mecanismo de autenticación: huella dactilar, contraseña y login. Esta combinación de métodos dificulta considerablemente la intrusión no autorizada, ofreciendo un nivel de seguridad superior a los sistemas tradicionales de bloqueo de puertas y que consideramos que puede ser una importante idea de negocio.

Hemos conseguido versatilidad gracias al modo de alimentación dual. Puede funcionar tanto con alimentación directa por USB como con batería interna, lo que lo convierte en una solución ideal para entornos con acceso limitado a la red eléctrica o para situaciones de emergencia, aunque consideramos que este sistema puede ser más útil en entornos donde la seguridad de un espacio tenga que ser garantizada (como un cuarto de servidores).

Con un costo total de aproximadamente 150 euros, el sistema podría posicionarse como una alternativa económica frente a soluciones similares en el mercado, cuyo precio suele superar los 300 euros en la plataforma Amazon. Esta ventaja competitiva, junto con las características simplistas del sistema, abre un interesante potencial de mercado para su comercialización.

En definitiva, este proyecto ha sido una experiencia enriquecedora que ha permitido adquirir valiosos conocimientos y habilidades en el ámbito de los sistemas empotrados y de tiempo real, así como en Arduino y una interfaz como MIT App Inventor. El sistema desarrollado representa una solución útil, económica y versátil, con un gran potencial de aplicación en diversos sectores.

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *