Como registrar e combinar modelos de impressão digital com o scanner de impressão digital Adafruit e R30X

Cómo registrar y combinar plantillas de huellas dactilares con el escáner de huellas dactilares Adafruit y R30X

Los dispositivos biométricos son la columna vertebral de los sistemas modernos de seguridad y acceso. El dispositivo biométrico más utilizado es el lector de huellas dactilares. Las huellas dactilares son identificadores únicos que no se pueden falsificar fácilmente. Los sensores ópticos de huellas dactilares se utilizan ampliamente en sistemas de seguridad porque son de bajo costo en comparación con los escáneres capacitivos y ultrasónicos. Los sensores ópticos de huellas dactilares digitalizan las huellas dactilares capturando una imagen digital y guardándola en una plantilla de huellas dactilares. Las plantillas de huellas dactilares se almacenan en la memoria flash y se comparan con nuevos escaneos para detectar un intento de acceso válido.

La mayoría de los lectores ópticos de huellas dactilares tienen un puerto TTL UART y un puerto USB para comunicarse con un sistema informático. El sistema informático, un microcontrolador, una computadora de placa única, un sistema de escritorio o un servidor pueden controlar el lector de huellas dactilares para registrar una identificación de huellas dactilares, comparar y comparar un escaneo con plantillas de huellas dactilares registradas o incluso descargar una plantilla de huellas dactilares almacenada o escaneada.

Ejemplos de sensores de huellas dactilares Adafruit y R30X

El lector de huellas dactilares Adafruit AS608 es uno de los lectores ópticos de huellas dactilares más populares y se utiliza a menudo con Arduino y otras placas de desarrollo integradas. La serie R30X de sensores de huellas dactilares de un proveedor chino llamado Hangzhou Grow Technology Co., Ltd. es una alternativa al sensor de Adafruit. Los lectores de huellas dactilares populares de esta serie incluyen R300, RR301T, R302, R303, R303T, R305, R307, R308 y R311. Algunos de estos sensores R30X son capacitivos. A pesar de las diferentes tecnologías de escaneo de huellas dactilares, todos los sensores R30X tienen la misma interfaz y conjunto de comandos. R305 y R307 son los sensores ópticos de huellas dactilares más populares de esta serie. Curiosamente, la biblioteca de sensores de huellas dactilares de Adafruit funciona bien tanto con el sensor de huellas dactilares de Adafruit como con los sensores R30X. En este tutorial, demostraremos cómo registrar una identificación de huella digital y comparar huellas digitales usando el módulo R307.

Cómo funcionan los lectores ópticos de huellas dactilares
La piel de la palma tiene crestas de fricción para agarrar y sostener cosas, y el patrón de estas crestas y valles también está presente en las yemas de los dedos. Un milagro de la naturaleza es que este patrón de crestas y valles es único para cada individuo. Cada vez que agarramos o sostenemos algo, queda una impresión de nuestras huellas dactilares debido al aceite, la humedad, el polvo y las células muertas de la piel. Estos objetos de huellas dactilares se denominan huellas dactilares latentes.

Funcionamiento de sensores ópticos de huellas dactilares.

Los lectores ópticos de huellas dactilares utilizan el principio de reflexión interna total (TRI). Un lector óptico de huellas dactilares consta de un prisma. En una cara del prisma hay una fuente de luz LED. La luz entra al prisma con un cierto ángulo, por lo que se refleja en la cara adyacente y sale por la tercera cara, donde se colocan una lente y un sensor de captura de imágenes.

Cuando no se coloca ningún dedo o huella en el sensor, la luz transmitida por la fuente LED se refleja completamente y el sensor de imagen captura una sola imagen. Sin embargo, cuando se coloca la yema del dedo sobre el escáner, parte de la luz se refleja, mientras que parte de la luz se filtra a lo largo de la superficie de la cara del prisma. Éstas se llaman ondas evanescentes.

Los diferentes materiales tienen diferentes tasas de reflexión e interactúan de manera diferente con las ondas evanescentes. Cuando se coloca la yema del dedo sobre el escáner, las protuberancias están en contacto firme con la superficie del escáner mientras que los valles se llenan de bolsas de aire. La piel y el aire tienen diferentes tasas de reflexión que provocan diferentes ondas evanescentes, llamadas reflexión interna total frustrada (FTIR). Como resultado de diferentes ondas evanescentes de crestas y valles, la intensidad de la luz total reflejada internamente cambia según el patrón de las crestas y valles. El sensor de imagen captura una imagen de alto contraste registrando el patrón cambiado de intensidad de luz, capturando el patrón de crestas y valles como una imagen digital de alto contraste.

La imagen digital de alto contraste se almacena en una memoria Flash como identificación de huellas dactilares según una plantilla predefinida. El modelo indica la presencia de crestas o valles en posiciones predefinidas en una imagen capturada o digitalizada. Cualquier sensor de huellas dactilares está diseñado para realizar dos procesos: esencialmente registro y comparación. El proceso de leer la huella digital y almacenarla según una plantilla predefinida se llama registro. Un lector de huellas dactilares puede registrar múltiples identificaciones de huellas dactilares según la memoria flash y el controlador integrado. El proceso de registro generalmente implica la confirmación de la huella digital, por lo que deberá escanear su huella digital dos veces. Las identificaciones de huellas digitales almacenan las imágenes en el módulo.

En la comparación de huellas dactilares, se compara un nuevo escaneo con las plantillas de huellas dactilares almacenadas y, si tiene la misma plantilla que cualquiera de las impresiones almacenadas, se confirma la coincidencia. De lo contrario, el escaneo será rechazado por no coincidir. Si el dedo activo coincide con una identificación de huella digital específica, esto se denomina coincidencia 1:1. Si se compara el dedo activo para que coincida con todas las plantillas de huellas dactilares almacenadas en el módulo, esto se denomina coincidencia 1:N.

Sensor de huellas dactilares R307
R307 es uno de los escáneres ópticos de huellas dactilares de Hangzhou Grow Technology Co., Ltd. El escáner funciona a un voltaje de 4,2 V~6 V y 50 mA con una capacidad de almacenamiento de 1000 impresiones. El R307 tiene interfaces UART y USB 2.0 para comunicarse con un sistema informático a una velocidad de baudios en múltiplos de 9600 bps. Es capaz de realizar coincidencias 1:1 y 1:N con FAR (tasa de aceptación falsa) inferior al 0,001 por ciento. El módulo puede escanear un dedo activo en menos de 0,5 segundos y admite cinco niveles de seguridad (1 ~ 5; 5 es el más alto). El rango de temperatura de funcionamiento de este sensor es de -10 ˚C a 40 ˚C, lo que lo hace desplegable en la mayoría de los lugares.

Conjunto de sensores R307

Conjunto de sensor de huellas dactilares R30X

Montaje físico de los sensores de huellas dactilares R30X

El R307 tiene una cubierta de vidrio donde se puede colocar la punta del dedo para escanear. Se coloca un prisma debajo de la tapa de cristal. El interior del sensor está dividido en dos partes por una barrera luminosa. A un lado de la barrera de luz hay una PCB que consta de cuatro luces LED azules. Al otro lado de la barrera luminosa se encuentra un sensor de imagen conectado a un procesador. La PCB externa contiene el procesador, el conector y otros elementos del circuito. El prisma está dispuesto junto con los LED azules y un sensor de imagen de tal manera que la luz transmitida por los LED azules se refleja internamente a través del prisma hasta el sensor de imagen.

Configuración de pines del sensor R307
El conector del sensor de huellas dactilares R307 tiene seis terminales. La configuración de pines de este conector es la siguiente.


Los pines están dispuestos en el conector, como se muestra en la imagen siguiente.

Configuración del pin del sensor de huellas dactilares R307

Configuración del pin del sensor de huellas dactilares R307

El sensor puede funcionar a 5 V o 3,3 V CC. Si el sensor está conectado a un controlador 3V3, el puente de 3,3 V debe estar en cortocircuito. Si se conecta con un controlador de 5 V, el puente debe dejarse abierto.

Puente para seleccionar la tensión de alimentación en el sensor de huellas dactilares R307 El escáner puede comunicarse con una computadora/controlador mediante TTL UART y una interfaz USB. Cuando se conecta a través de un puerto USB, se crea un puerto COM virtual. Cabe señalar que el pin 6 es el voltaje de suministro para la detección de dedos. Si el pin 6 está conectado a una fuente de 3,3 V, la salida del pin 5 pasa a nivel ALTO cuando se coloca un dedo activo sobre el sensor. Es útil para escanear manualmente los dedos; de lo contrario, el sensor comenzará a buscar un escaneo unos segundos después de la inicialización. Es importante seleccionar la tensión de alimentación adecuada en el lector de huellas dactilares. Un voltaje más alto puede dañar un controlador 3V3 o sus pines GPIO.

Circuito del sensor R307
El chip controlador del lector de huellas dactilares R307 es AS606 de Synochip. AS606 es un microcontrolador capaz de procesar señales digitales. Para la detección táctil, el sensor tiene IC TTP233D de Tontek. La PCB externa tiene el siguiente diagrama de circuito.

Circuito del sensor R307

Registros R307
El escáner R307 tiene memoria flash incorporada y muchos registros y memoria intermedia para almacenar datos de configuración y huellas dactilares. Algunos de los registros importantes de R307 se explican a continuación.

Bloc de notas: Se trata de una memoria flash no volátil de 512 bytes organizada en 16 páginas de 32 bytes cada una. Toda la memoria se escribe o actualiza a la vez.

Image Buffer: Es una RAM que se utiliza para almacenar temporalmente una imagen digital de la huella digital. Almacena una imagen BMP con dimensiones 256 X 288, donde cada píxel se almacena como un byte.

Búfer de archivo de caracteres: se utiliza para almacenar una imagen procesada de alto contraste de la huella digital. Hay dos buffers de archivos de caracteres de 512 bytes cada uno, y almacenan dos archivos de caracteres de dos escaneos consecutivos. Los dos escaneos se combinan para formar un archivo de plantilla que representa la versión final de una huella digital. Los archivos de plantilla se almacenan en la biblioteca de huellas digitales.

Biblioteca de huellas dactilares: Es una memoria flash incorporada donde se pueden almacenar 1000 plantillas de huellas dactilares. Los archivos de plantilla se almacenan secuencialmente en la biblioteca.

Registros de configuración del sistema: es un banco de registros de 16 bytes que almacena datos de configuración e indicadores de estado. El banco de registros inicia un registro de estado de 2 bytes, seguido de un código identificador del sistema de 2 bytes, un tamaño de biblioteca de 2 bytes, un nivel de seguridad de 2 bytes, una dirección de dispositivo de 4 bytes, un tamaño de paquete de datos de 2 bytes y una dirección de dispositivo de 2 bytes. multiplicador de transmisión. El registro de estado se define de la siguiente manera.

Registro de estado de R30X

Donde, Ocupado = 1 si el sistema está ejecutando el comando, en caso contrario Ocupado = 0 si el sistema está libre. Pasa = 1 si se encuentra una huella digital coincidente; de ​​lo contrario, Pasa = 0 si no se encuentra la huella digital. PWD = 1 si se verifica la contraseña del protocolo de enlace; de ​​lo contrario, PWD = 0 si la contraseña no coincide. ImgBufStat = 1 si el búfer de imágenes contiene una imagen válida; de lo contrario, ImgBufStat = 0 si la imagen no se procesa.

El Código Identificador del Sistema tiene un valor fijo que identifica el módulo de la serie R30X. R307 tiene un código de 0x0009. El tamaño de la biblioteca indica la cantidad de plantillas de huellas dactilares que puede almacenar el módulo. Para R307, es 1000. El valor de seguridad determina el umbral de coincidencia de huellas dactilares. Puede ser del 1 al 5, donde 5 es el nivel de seguridad más alto que proporciona FAR mínimo y FRR máximo. FAR es la probabilidad de identificar como positiva una huella dactilar débilmente coincidente. FRR (tasa de reconocimiento falso) es la probabilidad de identificar una huella digital incorrecta como negativa. En el nivel 5, FAR es el más alto y FRR es el más bajo. Este es el nivel más riguroso de comparación de huellas dactilares. La dirección del dispositivo es por defecto 0xFFFFFFFF. Se puede modificar con el comando SetAddr. El tamaño del paquete de datos determina el tamaño máximo de datos enviados en un solo paquete. Su valor puede ser 0~3, donde 0 = 32 bytes, 1 = 64 bytes, 2 = 128 bytes y 3 = 256 bytes. El multiplicador de baudios define la velocidad de comunicación de datos con un sistema informático. Puede ser de 1 a 12 en múltiplos de 9.600 bps con una velocidad de transmisión mínima de 9.600 bps y máxima de 115.200 bps.

Protocolo de comunicación R307
El escáner puede comunicar datos con un sistema informático mediante una interfaz UART o USB. Ambas interfaces utilizan un protocolo de comunicación común. Los datos se comunican en forma de paquetes. Cada paquete se divide en tramas de 10 bits. Una trama comienza con un bit inicial de 0 seguido de un byte y termina con un bit final de 1. Un paquete se divide en las siguientes tramas.

Estructura del paquete de datos R307

El encabezado tiene una longitud de 2 bytes y un valor fijo de 0xEF01. El byte alto siempre se envía primero. La dirección es la dirección del dispositivo de 32 bits del escáner. El módulo acepta un comando o datos solo si la dirección es correcta. La dirección predeterminada del dispositivo es 0xFFFFFFFF. El identificador del paquete determina el tipo de paquete. Es 0x01 para comando, 0x02 para datos, 0x07 para paquete de confirmación, 0x08 para indicar el final del paquete de transferencia de datos. Un paquete de comando debe seguir a un paquete de datos. El paquete de confirmación se envía desde el módulo al sistema informático. La longitud del paquete indica el tamaño del contenido del paquete, incluido un byte de suma de comprobación. El contenido del paquete puede ser un comando, datos o parámetro de longitud variable, como lo indica Longitud del paquete . La suma de comprobación es la suma aritmética de todos los bytes en el identificador del paquete , la longitud del paquete y el contenido del paquete .

El R307 admite el siguiente conjunto de instrucciones.

Comandos R307

En respuesta a un comando del sistema informático, el escáner devuelve un paquete de confirmación que contiene el resultado y el estado de la ejecución del comando. Cada comando tiene un conjunto de códigos de respuesta esperados llamados códigos de confirmación. La siguiente es una lista de códigos de confirmación para los módulos R30X.

Hacer un escáner de huellas dactilares sencillo
Un lector de huellas dactilares implica dos procesos: registro de huellas dactilares y comparación de huellas dactilares. Ahora escaneemos y comparemos huellas dactilares utilizando el módulo R307. Con este simple conocimiento del registro y comparación de huellas dactilares, podemos construir cualquier sistema de seguridad o acceso biométrico.

Componentes necesarios

  1. Escáner de huellas dactilares Adafruit o escáner de huellas dactilares R307 x1
  2. Arduino UNO x1
  3. Cabecera macho x1

Herramientas necesarias

  1. Hierro de soldadura
  2. alambre de soldadura

Conexiones de circuito
El sensor viene con un cable conector con hilos flexibles con extremos abiertos en un lado. Los extremos de los cables deben soldarse con un conector macho para conectarlos a una placa de pruebas o Arduino. En primer lugar, suelde los cables con conectores macho. Ahora inserte el cable conector en el encabezado del lector de huellas digitales. Es fácil insertar el cable conector ya que el cabezal tiene cortes claramente marcados para la inserción del cable.

: Cabecera del conector R307 Conecte el pin de 5V y la tierra del escáner con la salida de 5V y cualquier pin de tierra del Arduino UNO respectivamente. Conecte el Rxd y Txd del escáner a los pines D2 y D3 del Arduino UNO respectivamente.

Instalación de la biblioteca del sensor de huellas dactilares de Adafruit
Navegue hasta el administrador de biblioteca en Arduino IDE y busque la biblioteca de huellas digitales de Adafruit. Instale la biblioteca del escáner de huellas dactilares Adafruit. Esta biblioteca funciona bien tanto para lectores de huellas dactilares Adafruit como para lectores de huellas dactilares R30X.

Biblioteca de escáneres de huellas dactilares de Adafruit

Registrar una identificación de huella digital
Para registrar una huella digital en el módulo, navegue hasta Archivos -> Ejemplos -> Huella digital de Adafruit -> Registrar. Cargue el código en Arduino y ejecute Serial Monitor. Seleccione la velocidad en baudios a 9600. Si el lector de huellas digitales está conectado correctamente al Arduino, aparecerá un mensaje para ingresar una ID de huella digital en el monitor serie. Ingrese un número de identificación de huella digital válido y coloque su dedo en el escáner. El escáner le pedirá que escanee su huella digital dos veces. Si el escaneo tiene éxito, se mostrará el mensaje de confirmación en el monitor serie.

Coincidencia de una identificación de huella digital
Puede escanear un dedo activo comparándolo con plantillas de huellas dactilares almacenadas. Para hacer coincidir una huella digital con el módulo, navegue hasta Archivos -> Ejemplos -> Huella digital de Adafruit -> Huella digital. Cargue el código en Arduino y ejecute Serial Monitor. Seleccione la velocidad en baudios a 9600. Coloque su dedo en el escáner. Si el escáner tiene una plantilla almacenada para su dedo, responderá con la identificación de la huella digital de su plantilla. Si su huella digital no está almacenada en el módulo, responderá "no se encontró ninguna coincidencia".

Extracción de plantillas de huellas dactilares
Incluso es posible obtener los archivos de plantilla almacenados en el módulo de huellas dactilares. Navegue a Archivos -> Ejemplos -> Adafruit Fingerprint -> show_fingerprint_templates. Cargue el código en Arduino y ejecute Serial Monitor. Seleccione la velocidad en baudios a 9600. Serial Monitor mostrará todas las plantillas de huellas dactilares almacenadas una por una por su ID en orden secuencial.

Conclusión
Los escáneres de huellas dactilares R30X y Adafruit son módulos biométricos de bajo costo y fáciles de usar. Se pueden conectar fácilmente a un sistema de seguridad o de acceso mediante interfaces UART o USB. La biblioteca Adafruit funciona con los escáneres de huellas dactilares R30X y Adafruit y puede usarse directamente para muchos proyectos de pasatiempos.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.