jueves, 15 de diciembre de 2011

EJEMPLO DE UTILIZACIÓN DIGITAL PERSONA VB.NET

Hace unos días me tope con que tenia que utilizar un detector de Huella de la marca DigitalPersona para un proyecto hay escasa documentación en la red así que  voy a contar los pasos que seguí para hacer funcionar el bicho.

Primero hay que irse a la web de digital persona y descargarse el SDK o bien RTE el primero nos sirve para desarrollar la aplicacion (contiene la librerias y ejemplos necesarios) el segundo para poner en una maquina  que corre el programa para que funcione el detector es importante mencionar que si el RTE no esta instalado el detector no enciende y este (el RTE) sirve como driver para que la maquina reconozca el detector y por supuesto para que se conecte con el sistema desarrollado
Esto se puede encontrar por aqui
http://www.digitalpersona.com/Biometrics/SDK-Products/One-Touch-Software-Development-Kits-(SDKs)/



Luego de instalar el SDK alli se indica y unicamente se deben seguir las instrucciones, tenemos que importar las librerias DPFpGuiNet, DPFpShrNet, DpfpverNet a nuestro proyecto agregandolos en la referencia esto se encuentra en click derecho en el proyecto propiedades en la ficha referencia y agregar o en agregar referencia. las librerias por default luego de instalar el SDK estan en C:\Archivos de programa\DigitalPersona\One Touch SDK\.NET\Bin

Luego es de crear las formas necesarias en el ejemplo

Tiene dos controles importantes
Verification
  es para verificar si la hulla es la correcta el evento que ejecuta la verificacion es on complete

Enrrolment
 es para agregar una huella al registro para agregar una huella de manera correcta lo hace creando u promedio de 4 distintos scans  el evento en onenrollment

para el ejemplo se crea una tabla en la base de datos con las siguientes características ya que el template se guarda como dato binario


CREATE TABLE [dbo].[pruebaDigitalPersona] (
[Usuario] [char] (25) COLLATE Modern_Spanish_CI_AS NULL ,
[huella] [varbinary] (8000) NULL
) ON [PRIMARY]
GO

el codigo pueden descargarlo en el siguiente enlace
http://solocodigo.com/47300/ejemplo-utilizacion-sdk-digitalpersona/

https://skydrive.live.com/redir.aspx?cid=8e1beb896bf98b17&resid=8E1BEB896BF98B17!192&parid=root

8 comentarios:

EnZzO dijo...

Estimado ... super bueno el ejemplo pero tengo una duda como deveria hacerlo si en vez de escribir el nombre de usuario.. me buscara directamente con la huella el nombre aa quien le pertenese???????

Paco dijo...

Lo que se me ocurre así rápido seria mandar a traer las huellas+usuario de la base de datos (o una parte (paginando) para no sobrecargar el trafico y la memoria)

luego se podria hacer la verificacion para cada registro que se trae con el evento verify del control verification. si es positivo ya tenes tu usuario si no buscas al siguiente hasta encontrarlo o no

Edu dijo...

Excelente ejemplo... y podrías brindarnos un ejemplo de como seria para que reconozca la huella solamente

Bionet^X86 dijo...

Estimado, podría ser mas especifico en la creación de la base de datos, lo agradecería muchísimo ya que estoy recién entrando al mundo VBStudio, utilizaba VB6 pero veo que TODO CAMBIO y estoy vuelto mono.

slds.

Paco dijo...

Para crer la base de datos del ejemplo simple primero con un create

Create database mibase

mibase = nombre de la base de datos

Esto lo podes hacer en la base de datos master.

luego te cambias a la base de datos "mibase"

y ejecutas el script

CREATE TABLE [dbo].[pruebaDigitalPersona] (
[Usuario] [char] (25) COLLATE Modern_Spanish_CI_AS NULL ,
[huella] [varbinary] (8000) NULL
) ON [PRIMARY]
GO

listo la base de datos esta creada y la tabla, para armar la string de conexion podes ver este link


http://www.elguille.info/NET/ADONET/cadena_de_conexion_para_conectar_a_una_base_de_sql_server.htm


la variable que tenes que modificar es strConnect

Anónimo dijo...

Hola amigo, excelente articulo, yo hice una prueba con Mysql, y pues agregue el Mysql Connector Net 6.5.4
pero me marca error en el enrollement_onenroll
'convierto el template en bytes y se guarda en la base de datos
Dim temBytes As Byte() = Nothing
Template.Serialize(temBytes)
Me.guardar(temBytes)


El error aparece cuando entra en Me.guardar, este es el error:
No se puede cargar el archivo o ensamblado 'MySql.Data.CF, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, Retargetable=Yes' ni una de sus dependencias. El nombre de ensamblado o el código base dado no es válido. (Excepción de HRESULT: 0x80131047)

estoy importando lo necesario para la conexion a mi bd
saludos y gracias.

Anónimo dijo...

Amigo Muy bueno el ejemplo...
Descargue e instale el SDK y el RTE, cree la base de datos pero al ejecutar el programa cuando doy click en el control EnrollmentControl me dice que la activacion ha sido cancelada por que el lecto no esta conectado... a que se debe esto si ya instalae el RTE ?
hay que hacer algo mas?

Gracias por la ayuda.

Paco dijo...

@Anonimo1: El ejemplo esta hecho para SQL server 2000, no lo probé con MYSQL podría ser que por allí vaya el problema, puede ser y seria de investigar un poco mas como MySQL almacena el tipo de dato Byte y si es equivalente en SQLserver,por allí podría estar el problema.

@Anonimo2: En lo personal no tuve ningún error de este tipo luego de instalar el RTE, una sugerencia pordia ser revisar tu Hardware o Firmware