Tutorial sobre cómo implementar una cerradura inteligente con componentes de Holtek
Este tutorial describe el diseño de un sistema de cerradura automática inteligente haciendo uso de componentes de Holtek. En este diseño, se hará uso de diversos componentes de este fabricante, como microcontroladores, módulos de Bluetooth BLE, controladores NFC, MCU específicos para paneles táctiles, así como LDOs para gestionar los voltajes, o un módulo Puente H para gestionar el motor de apertura de la cerradura.
Tabla de Contenidos
Introducción
Comodidad, seguridad e inteligencia son tres características importantes de las cerraduras inteligentes. La comodidad es la característica más destacada, pero también la más básica, de las cerraduras inteligentes. La comodidad se refiere específicamente al problema de olvidar, perder o simplemente el inconveniente de usar una llave para abrir la puerta. Las cerraduras para puertas inteligentes también ofrecen comodidad gracias a sus múltiples métodos de desbloqueo. La alta seguridad es también una de las principales características de las cerraduras inteligentes. Las cerraduras para puertas inteligentes utilizan un módulo de huellas dactilares para evitar el desbloqueo mediante huellas duplicadas y también tienen una alarma anti-palanca, así como otras características, que mejoran la seguridad del producto. También pueden conectarse a teléfonos móviles mediante Bluetooth para disponer de más funciones inteligentes.
Algunos ejemplos de aplicaciones industriales en los que podemos hacer uso de las cerraduras inteligentes son:
- Control de acceso a las instalaciones: Se pueden usar para controlar el acceso a fábricas, almacenes, oficinas o cualquier otro tipo de instalación industrial.
- Control de acceso a los equipos: Las cerraduras inteligentes se pueden usar para controlar el acceso a equipos y máquinas sensibles.
- Control de acceso a los materiales: Además se pueden usar para controlar el acceso a materiales valiosos, como piezas de repuesto o productos terminados.
La solución que veremos en este post haciendo uso de componentes de Holtek utiliza el HT32F52354 como MCU maestro y admite el funcionamiento con pilas de 6 V o 9 V como fuente de alimentación mediante la función LDO de HT7850 y HT7233. El dispositivo puede accionar un motor de DC para accionar el interruptor de la cerradura de la puerta utilizando el módulo HT7K1211. También puede soportar Bluetooth, huellas dactilares, contraseñas, tarjetas NFC y otros métodos de desbloqueo mediante el uso de otros módulos. Las cerraduras de las puertas también pueden mostrar el funcionamiento del sistema mediante una pantalla OLED e implementar un aviso de voz humana mediante un controlador de voz, el HT82V742.
Características de la solución
Esta solución planteada presenta las siguientes características:
- Soporta múltiples métodos para desbloquear una puerta: contraseñas, huellas dactilares o tarjetas NFC mediante APP móvil Bluetooth y otros métodos de desbloqueo. El HT32F52354 incluye múltiples interfaces de comunicación, como I2C, UART, SPI y USB2.0, etc. Una MCU para paneles táctiles BS83B12C, un módulo de huella dactilar HT32F12364, un módulo BLE BCM-7602-G01 y un módulo NFC BC45B4523 permiten a los usuarios utilizar contraseña, huella dactilar, Bluetooth, NFC y otros métodos de apertura de puertas. Es más inteligente, más cómodo y más seguro.
- Soporta actualizaciones IAP: una interfaz USB integrada proporciona un HID-IAP para actualizar el sistema. La solución de cerradura de puerta inteligente de Holtek utiliza una MCU, la HT32F52354, que funciona a una frecuencia de hasta 60 MHz y proporciona una capacidad de memoria Flash de hasta 128 KB y una capacidad de memoria SRAM de hasta 8 KB. También es compatible con el protocolo USB 2.0 y proporciona un HID-IAP para actualizar las aplicaciones del sistema en línea.
- Una pantalla OLED. La interfaz operativa del sistema de cerradura de puerta se generará a través de la interfaz SPI HT32F52354 y una pantalla OLED de 0,96 pulgadas, que se utiliza para mostrar la fecha y la hora, la capacidad de la batería de la cerradura de puerta y la interfaz operativa de administración y usuario.
- Holtek proporciona una solución IC completa. Las cerraduras de puerta inteligentes Holtek proporcionan una solución completa, funciones de cerradura de puerta y los módulos IC correspondientes, que se muestran en la siguiente tabla.
Principio de funcionamiento
La función de desbloqueo del módulo de huellas dactilares HT32F12364 se utiliza para implementar la identificación de huellas dactilares para abrir cerraduras de puertas. En primer lugar, se recogen los principales puntos característicos de la huella dactilar mediante la tecnología de identificación capacitiva de huellas dactilares. Debido a los diferentes valores de capacitancia de las crestas y los valles dentro de una huella dactilar, la tasa de corriente de descarga será diferente. De este modo, se puede detectar la posición de las crestas y los valles y crear datos de imagen de la huella dactilar. A continuación, se generará un mapa de características de la huella dactilar y se convertirá en una señal digital para su almacenamiento y para identificar las huellas dactilares y, finalmente, para implementar una operación de desbloqueo de huellas dactilares.
La función de desbloqueo Bluetooth que utiliza el módulo BLE BCM-7602-G01, se utiliza para controlar el interruptor de la cerradura de la puerta con transmisión Bluetooth móvil.
EL MCU para funciones táctiles BS83B12C se utiliza para implementar un desbloqueo por contraseña y funciona utilizando un panel de teclas táctiles 3×4.
La función de desbloqueo NFC utiliza el BC45B4523 y es compatible con un protocolo NFC ISO14443A para implementar la inducción magnética inalámbrica de campo cercano para desbloquear utilizando tarjetas NFC.
Descripción funcional
En este apartado se muestra el funcionamiento tanto a nivel hardware como a nivel software de la solución.
Características de la Solución
A continuación se muestran los diferentes parámetros técnicos de la solución:
- Corriente de funcionamiento: 10,04mA
- Corriente en espera: 71,2µA
- Tensión de funcionamiento: 6V~9V
- Temperatura de funcionamiento: -10°C~45°C
- Tiempo para desbloquear una puerta: <1s
Función de la Solución
Las cerraduras para puertas inteligentes admiten múltiples métodos de desbloqueo inteligente, como mandos a distancia APP Bluetooth para móviles, contraseñas táctiles, identificación por huella dactilar, tarjetas de puerta NFC, identificación inteligente y funciones de alarma anti-piratería. El hardware real se muestra en la siguiente figura.
Antes de utilizar este producto, la cerradura de la puerta primero debe almacenar los datos de acción de entrada de administración. Cada conjunto de datos de entrada de administrador tiene su correspondiente contraseña, huella dactilar y tarjeta NFC para abrir la cerradura. Después de almacenar esta información, la cerradura de la puerta puede almacenar 95 ID de usuario correspondientes a las contraseñas, huellas dactilares y tarjetas NFC. Cada contraseña puede tener de 6 a 8 dígitos y puede haber contraseñas ficticias antes y después de la entrada.
Descripción del diseño de la solución
Las cerraduras para puertas inteligentes se dividen principalmente en una placa maestra, una placa táctil, un módulo NFC y un módulo de huellas dactilares. La placa maestra utiliza la HT32F52354 como MCU maestra y controla un motor de DC a través de un controlador de motor de baja tensión, el HT7K1211. La placa táctil utiliza el BS83B12C como maestro. El módulo NFC se utiliza para recibir datos de RF. Si hay una tarjeta de puerta NFC cerca de la antena del módulo NFC, la cerradura de la puerta sonará en función de los datos que se hayan recibido y analizado. La placa base de hardware y los módulos funcionales se presentarán en las siguientes secciones.
Descripción del hardware
Las cerraduras de puerta inteligentes suelen alimentarse con cuatro pilas de 1,5 V. También hay una interfaz USB de reserva y una pila de 9 V que se utiliza como fuente de alimentación de emergencia de reserva. Por lo tanto, no hay que preocuparse por no poder abrir la puerta debido a la baja capacidad de la batería. La potencia de la batería es detectada constantemente por la función ADC del MCU maestro y mostrada en una pantalla OLED. Esto permite a los usuarios obtener información sobre la capacidad de la batería en tiempo real para recordarles que deben sustituir la batería a tiempo.
En el siguiente enlace puede consultar el esquemático completo de la solución.
Descripción Software
Diagrama de flujo del sistema principal
Inicialización
Tras el encendido, el programa inicializará primero los ajustes del módulo de huellas dactilares, del módulo NFC, del módulo BLE, etc. También carga la información de administración y usuario almacenada en la memoria Flash (si no coincide, el código de dirección se lee como 0xFFFF). Una vez finalizada la inicialización, se actualizará la información sobre la capacidad de la batería y la fecha y hora.
Bucle principal
En el bucle principal, el programa determinará en primer lugar si es necesaria una actualización del sistema mediante una operación de detección de la interfaz USB. A continuación, determinará si hay un dispositivo Bluetooth al que conectarse. Si la conexión tiene éxito, desbloqueará la puerta a través de la APP Bluetooth móvil. El programa realizará un escaneo de teclas para determinar si se ha pulsado una tecla. Si se ha pulsado una tecla, el programa pondrá a 1 el indicador de operación correspondiente según la función de la tecla, desbloqueará mediante una contraseña o entrará en la interfaz de gestión de usuarios. A continuación, volverá al bucle principal después de que se haya completado la operación correspondiente.
El programa determinará si el indicador de reproducción de voz se ha puesto a 1. Si el indicador está alto, significa que se debe reproducir la voz correspondiente. Cuando el bucle principal se ejecuta en este punto, entrará en una subrutina de reproducción de voz hasta que la reproducción de voz haya terminado, después de lo cual la bandera se borrará a cero. Holtek ha desarrollado un algoritmo de compresión que puede comprimir los datos de voz 16 veces, aquí el algoritmo ocupa 16KB de espacio de memoria. En esta solución, la voz planificada ocupa 60 KB de espacio de memoria. Puede almacenar hasta 30 segundos de datos de voz. Actualmente utiliza 46KB para almacenar 23 segundos de datos de voz.
A continuación, el programa entrará en la subrutina del receptor de datos NFC. Cuando la antena NFC ha detectado que la bandera del receptor de la tarjeta NFC se establece alta, se determinará si el ID de NFC es coherente con el administrador registrado o ID de usuario NFC. Si el emparejamiento se realiza correctamente, la puerta se desbloqueará. En caso contrario, si el reconocimiento de la ID ha fallado, pondrá el indicador de voz a 1 o saldrá directamente y volverá al bucle principal.
A continuación, el programa determinará si se ha pulsado una huella dactilar y, en caso afirmativo, identificará si la huella coincide con la almacenada. Si el emparejamiento es correcto, la puerta se desbloquea. En caso contrario, si el reconocimiento de la huella dactilar ha fallado, establece el indicador de voz en 1 o sale directamente y vuelve al bucle principal.
Actualización IAP
IAP es una función dentro del MCU que permite al propio programa actualizar parte de la memoria Flash cuando se está ejecutando. El propósito de esto es permitir actualizaciones convenientes del firmware del producto utilizando una interfaz de comunicación reservada después de que el producto haya sido lanzado. Normalmente, cuando el usuario necesita ejecutar la función IAP, es decir, cuando el usuario implementa su propia operación de actualización durante la ejecución normal del programa, necesita escribir dos grupos de código de proyecto al diseñar el programa de firmware. Estos dos grupos de código de proyecto se programan en la Flash de usuario al mismo tiempo. Cuando el MCU se enciende, el primer código de proyecto comenzará a ejecutarse, como sigue:
- Determinar si el código de la parte 2 necesita actualización.
- Si no es necesario actualizar, vaya al paso 4.
- Ejecutar la operación de actualización.
- Saltar al código de la parte 2 para implementarlo.
En esta solución, el código de la parte 1 ocupa 8KB y el de la parte 2 ocupa 52KB. El código de la parte 1 debe programarse por otro medio, como por ejemplo utilizando una función ISP. El código de la parte 2 puede programarse utilizando la función IAP del código de la parte 1 o puede programarse junto con el código de la parte 1, y actualizarse utilizando el código de la parte 1 cuando sea necesario actualizar el programa. Cuando el código de la parte 2 comienza a ejecutarse, primero mapea la tabla de vectores de interrupción de la CPU a su propia tabla de vectores, y luego realiza las otras operaciones.
Detección táctil de huellas dactilares
El siguiente es el proceso para la detección táctil de huellas dactilares.
- Obtener la imagen de la huella dactilar a identificar utilizando el dispositivo de recogida de huellas dactilares.
- Preprocesar la imagen de huella dactilar recogida.
- Obtener los datos de la cresta dactilar a partir de la imagen preprocesada.
- Extraer los puntos característicos necesarios para la identificación de la huella dactilar a partir de los datos de la cresta de la huella dactilar.
- Extraer la información de las características de la huella dactilar y compararla con las características de la huella dactilar almacenadas en la base de datos una por una para determinar si las huellas dactilares son las mismas.
- Una vez procesada la coincidencia de huellas dactilares, emitir los resultados del procesamiento de identificación de huellas dactilares.
Detección de tarjeta de puerta NFC
Las cerraduras de puerta inteligentes Holtek utilizan detección NFC activa. Cuando la pantalla se ilumina, detectará cíclicamente para ver si una tarjeta está cerca de la puerta. En un intervalo inferior a 1 segundo, la puerta se desbloqueará automáticamente si se ha detectado una tarjeta correcta, de lo contrario continuará con la operación de detección.
La APP móvil
Para la interfaz de desbloqueo Bluetooth utilizando una APP móvil, compruebe primero si ya hay un dispositivo Bluetooth almacenado en la cerradura de la puerta. Si no es así, guárdelo primero. Después de buscar el dispositivo Bluetooth, introduzca la contraseña de administrador o de usuario de la cerradura de la puerta para almacenarlo correctamente. Seleccione la cerradura de puerta correspondiente e introduzca la contraseña para abrir la cerradura o realizar una función de calibración de tiempo. El éxito o el fracaso de la operación se transmitirá de vuelta junto con la capacidad de la batería de la cerradura de la puerta.
Las cerraduras inteligentes son una opción segura y eficiente que ofrece una serie de ventajas en aplicaciones industriales. Si estás pensando en instalar cerraduras inteligentes en tu empresa o aplicaciones, esta solución completa con componentes de Holtek es una opción completa que incluye todo lo necesario. Puede consultar todos la información sobre esta solución (esquemáticos, listas de materiales, código software) en el siguiente enlace de la web de Holtek.