Mostrando entradas con la etiqueta biometrico. Mostrar todas las entradas
Mostrando entradas con la etiqueta biometrico. Mostrar todas las entradas

sábado, 3 de enero de 2015

Manejando las pantallas TouchScreen de 4DSystems con Microframework

Iniciamos este nuevo año con una publicación sobre la interfaz gráfica 
uLCD-32PTU de la empresa australiana 4dSystems.

Si hacen clic en el link del producto podrán ver todas las bondades.

El modelo 32PTU se maneja a través del puerto serial, eso nos permite desarrollar una interfaz gráfica prácticamente en todos los tipos de microprocesadores que hay en el mercado incluyendo por supuesto en nuestro apreciado IntelEdison, claro hay que aclarar que no estaríamos ejecutando Gnome ni KDE ni nada que se le parezca solamente algo mas sencillo que nos permita interactuar con el usuario.

El módulo es muy completo prácticamente se puede hacer de todo, uno puede trabajar en bajo nivel con un lenguaje script que se llama 4dgl y también se puede usar el modo ViSi que posee un conjunto de controles gráficos preconstruidos.

El detalle que le veo a este modulo en particular es que sólo está soportado para Arduino y Raspberry; en realidad cuando uno trabaja con estas librerías ellas se encargan de ocultar el protocolo del fabricante para que el desarrollador se enfoque en lo que desea mostrar en la pantalla.

El esquema de la libreria a primera vista suele ser un poco incómodo uno no está acostumbrado a trabajar de la manera en que están construidas, uno quisiera al menos que se parezca a trabajar con Qt. Aunado al hecho de que últimamente he estado trabajando con microframework específicamente con el NetduinoPlus decidí iniciar la construcción de una librería en C#.

Si ustedes tienen la oportunidad de trabajar con Arduino y desean manejar muchas pantallas el código se va tornando inmanejable; debido a eso empecé a desarrollar una implementación de WinForm para Microframework utilizando el protocolo de ViSi y le puse como nombre VisiForm.

Estoy muy conforme con la implantación que estoy haciendo ya que prácticamente uno cree que está trabajando con C# en Windows y resulta que es Netduino con la pantalla de 4DSystems.

Si ustedes han desarrollado en C# en Windows verán que la librería VisiForm prácticamente está quedando igual:


Se puede observar que la ventana MessageBox hereda de Form igual que Windows, VisiForm.Form contiene el manejo de mensajes del protocolo VisiGenie codificado en microframework permitiendo que el programador se centre en su código C# como si trabajara para una ventana de Windows, por otra parte quise respetar el nombre de los controles de Visi por que no son exactamente iguales a los de WinForm, por ejemplo hay 11 tipos de botones frente a 1 en Windows, si quieres más tipos de botones en Windows tienes que hacerlos o comprarlos a un tercero. El control Strings que se ve en el código fuente anterior es equivalente al Label de Windows, ViSi también tiene un label pero es solo lectura así que preferí dejar el nombre del control original.

Ahora veamos el punto de entrada, se puede observar que es muy parecido al de WinForm.



Créanme que trabajar un sistema con muchas ventanas en Arduino o Raspberry con esta pantalla es algo difícil de mantener, con la implantación que estoy desarrollando VisiForm es súper sencillo ya que todo el protocolo ViSi está codificado en C# al estilo de manejo de mensajes de Windows, me tocó recordar mis viejos tiempo cuando desarrollaba en Windows 3.1 con Lenguaje C, jejeje.

La libreria VisiForm aún esta en desarrollo, es un poco grande también pienso hacer un VisiForm para C++ aunque creo que solo para Raspberry no estoy muy seguro de que el Arduino tenga suficiente memoria para soportarla de todas maneras haré el intento.

A continuación un pequeño video de un sistema biométrico con Netduino y la pantalla de 4dSystems







lunes, 22 de diciembre de 2014

Libreria GT511C1 y GT511C3 Actualizado

Amigos lectores acabo de publicar una actualizacion de la libreria para el GT511C1, ahora funciona en NetduinoPlus, por fin escribo algo para microframework.

Por otra parte empezé a desarrollar la correspondiente libreria para el GT511C3 solo que por los momentos está escrito para Windows y Microframework.


lunes, 25 de agosto de 2014

Cómo funcionan los sensores Biométricos de Huellas dactilares.

"Nadie se baña dos veces en el mismo Rio" 
Heráclito de Efeso (535 - 484 a.C.)


Je, je quizás pensarán algunos que he enloquecido al citar la frase de Heráclito; cuando estaba muy joven en la escuela y la escuché por primera vez esta frase me causo curiosidad, el profesor de filosofía ayudaba a que nuestras inexpertas mentes asimilaran estas frases de gran trascendencia en este caso del tema del Devenir de Heráclito. Según él solo existen sensaciones subjetivas nadie conoce la realidad tal cual es; eso me suena a la Matrix. Definitivamente estos grandes filósofos de la antigüedad estaban más claros que nosotros. Mas adelante veremos que tiene que ver Heráclito con un sensor de huellas dactilares.

Los sensores biométricos son dispositivos electrónicos que a través de sofisticados procedimientos son capaces de medir características morfológicas de una parte de un ser vivo. El más común de ellos es el lector de huellas dactilares.

Pero cómo hace una aparato de estos para saber de quien es una huella si todas se parecen?.

Bueno esto es como verle la cara a un Chino, en apariencia uno dice que todos son igualitos pero si nos fijamos atentamente todos son diferentes.

Tomarle la huella a alguien es casi igual que cuando tomamos una fotografía de la cara de una persona; ahora bien imaginemos que nos toman una foto con una cámara digital que hace ráfagas, cuando uno toma fotos de éste modo la cámara hace como una ametralladora, tacatacatacataca… si analizamos cada una de las fotos uno dice "pero si son exactamente iguales!!!", pues NOOOO todas son diferentes volvemos a lo mismo que mencioné al principio del blog "Nadie se baña dos veces en el mismo Rio", si analizamos la imagen pixel por pixel, veremos que el sensor que percibe la realidad tal como lo hace nuestra retina en cada instante de tiempo lo hace de forma diferente; bueno es casi igual pero diferente nuestro ojo no lo ve pero para las máquinas todas son diferentes y eso las confunde, una máquina no tiene como saber si alguna de ellas se parece a otra, a final de cuentas una computadora es una gran calculadora, ella va a decir que los números no cuadran.

Por esta razón a alguien se le ocurrió que mejor que estar comparando los pixeles es mejor buscar características que tienen todas las huellas de los seres humanos


fig. 1. Patrones

En la figura 1 vemos que estos son los patrones mas comunes que poseen la huellas de un ser humano

fig. 2. Ubicación de los patrones.


En la figura 2 vemos que se puede ubicar que posición se encuentran cada uno de estos patrones.

Ahora bien a partir de este momento viene lo bueno…

Al momento que se ingresa por primera vez una huella al sensor biométrico se extraen los patrones y se guardan en un formato que se le llama Template o Plantilla, ésto es lo que se almacena permanentemente en el sensor de manera que en el futuro para identificar a un usuario se verifica que corresponda con la huella Template que está almacenada en el dispositivo.

Definiremos la siguiente premisas:

1- Los sensores de huella dactilar NO almacenan las fotos de la huella del usuario, puesto que consumen mucha memoria y no sirven para comparar, solo almacena lo que se le llama Template o Plantilla si lo decimos en Español. 

2- Un Template posee poca información si lo comparamos con la foto de la huella en si. Por lo tanto a un equipo electrónico se le hará mas fácil interpretarlo, un Template básicamente posee la información de ubicación de los patrones  de la huella de un usuario, el Template en si, o sea su codificación es secreto industrial del fabricante, a partir de un Template NO se puede reproducir la huella de una persona.

3- Si nosotros usamos un sensor de Huella de un fabricante A y extraemos el Template de un usuario y lo comparamos con el Template de ese mismo usuario pero generado con un sensor de huella de un fabricante B veremos que son completamente diferentes. Cada quien interpreta la huella a su manera.

4- Los sensores de huella tienen un almacenamiento de número de Templates limitados, suelen ser de 100, 200, 10000 o 20000 templates, estos últimos con mas costosos. Si se desea manejar mas usuarios hay que utilizar una plataforma más compleja basada en redes de datos y servidores con software y bases de datos especializados.

Cualquier computista podría verse tentado en algún momento en construir un lector de huellas dactilares sin embargo esto no es nada trivial, se requiere de mucha investigación, habría que invertir muchísimo dinero para fabricar uno que sea viable en el mercado, el protocolo de prueba es muy extenso y complejo, por esta razón es que existen los módulos biométricos, para que cualquier cristiano común y corriente pueda diseñar una solución de sensores biométricos a la medida. Ya he publicado algunos artículos sobre esto, y he hecho proyecto con tres modelos distintos de sensores biométricos, por eso considero que tengo algo de solvencia moral para hablar del tema.

Es importante querido lector que el punto 1,2,3 y 4 estén claros para saber que una solución de sistemas biométricos tiene muchas limitantes.

Actualmente en Venezuela para evitar el contrabando de extracción de Alimentos hacia Colombia y el sobreprecio en general de estos rubros en la calle se desea implantar sistemas biométricos en todos los automercados y bodegas o tiendas como dicen en Colombia. 


Implantar un sistema biométrico sólo va a impedir que una persona compre varias veces un producto el mismo día o inclusive en una semana en un solo lugar, sin embargo al no ser factible que exista la búsqueda de huella en tiempo real entre todos los abastos del país ya que no es posible tenerlos interconectados (ver puntos 3 y 4) el contrabandista podrá hacer la compra en un abasto del producto de primera necesidad y luego irse a otro abasto a comprar el mismo producto y así sucesivamente a otros en la misma ciudad.

Según las últimas noticias cada negocio va a reportar el consumo por persona a una base de datos central gubernamental, analizando estas declaraciones podemos analizar que lo que se puede enviar es el número de cédula y la cantidad neta de rubros comprado de manera que se pueda monitorear si una persona está haciendo compras desproporcionadas de un producto, esperemos a ver si la gente no le da la vuelta al sistema.

Por último y para respetar los derechos de autor las imágenes de la Fig. 1 y 2 fueron sacados de una publicación que hizo mi estimado amigo Patricio Holguin en el siguiente link http://neutron.ing.ucv.ve/revista-e/No6/Olguin%20Patricio/SEN_BIOMETRICOS.html





domingo, 28 de julio de 2013

Modulo biometrico GT-511C1

Este módulo biometrico es fascinante ya que ademas de ser rápido, permite la descarga de la huella dactilar de un módulo y subirla a otro del mismo tipo, lo que da pie al desarrollo de soluciones biométricas avanzadas personalizadas.
Es fabricado por la empresa taiwanesa ADH Technology Co.Ltd. El único problema es que el que yó compré tiene unos bugs en el firmware que no permiten descargar el template de la huella por ttlserial, ni mucho menos cargarla, ya les envié un email para que liberen la actualización que permita corregir esta falla; el modulo GT-511C3 no posee este inconveniente.

Anteriormente había trabajado con un módulo Nitgen publicado en esta entrada http://fernandezajp.blogspot.com/2013/02/sensor-biometrico.html, los módulos biométrico poseen mas o menos las mismas funciones, solo hay que revisar el manual tecnico y empresar a escribir codigo fuente como un loco para hacer que funcione bien, aún no he encontrado una implementación para Arduino y creo que la razón principal es que el atmega328 no tiene la capacidad de memoria para usar todo el potencial de este módulo biométrico; aun cuando se podría escribir una libreria que haga lo basico no se podria hacer una que por ejemplo que almacene temporalmente templates ni las imagenes RAW por lo de la memoria, a menos que se use un chip de memoria adicional; habria que probar esta idea.


En el repo de Github les dejo los drivers para conectividad de este modulo para Windows, MacOSX, RaspberryPi y Arduino, (el de Arduino tiene esta en beta aun no funciona bien).


https://github.com/fernandezajp/GT511C1_Drivers

Para poder usarlo de una manera mas comoda le hice un adaptador para un modulo fdti 3.3v básico

jueves, 18 de julio de 2013

Sensor EMG

La Electromiografia es una técnica de medición de señales eléctricas musculares; originalmente se usó para el diagnóstico de enfermedades relacionadas con la función muscular, pero ahora con el avance tecnológico se le ha dado un nuevo uso como por ejemplo el desarrollo de protesis mioelectricas; si se coloca este sensor en puntos especificos del brazo por ejemplo se puede hacer una protesis robótica que permita que pacientes que no posean este preciado miembro puedan mejorar su calidad de vida.

A continuacion presentamos este sensor bastante pequeño, solo 1 pulgada de lado y lado, lo interesante en este caso seria reemplazar los contactos por unos que no sean desechables.


jueves, 14 de febrero de 2013

sensor biometrico

A continuacion un pequeño proyecto que usa el sensor biometrico FIM3040N-LV tiene todo lo que hace una cerradura biometrica estandar de casa basada en atmega328p