Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/01/2019, 07:05
Avatar de fbedia
fbedia
 
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Lector huellas

Compre el "digitalpersona u.are.u 4500".
He instalado el controlador y el SDK en mi PC y he conectado el lector de huellas por USB.

He comenzado a hacer pruebas...y lo primero de todo ha sido crearme una funcion para conectar desde Javascript con el lector de huellas y detectar cuando alguien coloca el dedo.

Esto ha sido facil, ya que basicamente se trata de 2 funciones, la de startAcquisition para conectar con el lector... y la de onSamplesAcquired que se llama cuando alquien pone el dedo en el lector.
Este es el código:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <meta charset="utf-8" />
  4.     <title>Fingerprint </title>
  5.  
  6. </head>
  7.  
  8.     Test...
  9.  
  10.     <script src="scripts/es6-shim.js"></script>
  11.     <script src="scripts/websdk.client.bundle.min.js"></script>
  12.     <script src="scripts/fingerprint.sdk.min.js"></script>
  13.    
  14.     <script>
  15.     var FingerprintSdkTest = (function () {
  16.         function FingerprintSdkTest() {
  17.             this.sdk = new Fingerprint.WebApi;
  18.            
  19.             //onSamplesAcquired este evento se lanza cuando alguien coloca el dedo sobre el lector
  20.             this.sdk.onSamplesAcquired = function (s) {
  21.                 console.log("onSamplesAcquired");
  22.                 console.log(s);
  23.                 sampleAcquired(s);
  24.             };
  25.         }
  26.         FingerprintSdkTest.prototype.startCapture = function () {
  27.             this.sdk.startAcquisition(Fingerprint.SampleFormat.Raw).then(function () {
  28.                 console.log("Aquisición correcta.");
  29.             }, function (error) {
  30.                 console.log(error.message);
  31.             });
  32.         };
  33.         return FingerprintSdkTest;
  34.     })();
  35.     window.onload = function () {
  36.         test = new FingerprintSdkTest();
  37.         test.startCapture();
  38.     }
  39.     function sampleAcquired(s){
  40.         var samples = JSON.parse(s.samples);
  41.         var sampleData = Fingerprint.b64UrlTo64(samples[0].Data);
  42.         var decodedData = JSON.parse(Fingerprint.b64UrlToUtf8(sampleData));
  43.         var localStorage = Fingerprint.b64UrlTo64(decodedData.Data);
  44.         console.log(decodedData);
  45.         console.log(localStorage);
  46.     }
  47.     </script>
  48.        
  49. </body>
  50. </html>

Esto se ve de la siguiente forma:

https://imgur.com/orn7qDk


Y cuando alguien pone el dedo en el lector:

https://imgur.com/PTOuDva


He hecho mas pruebas...y he sido capaz tambien de extraer la imagen:

https://imgur.com/6l5lIHa


Sin embargo, el problema esta en que ahora no se como trabajar las huellas... y estoy atascado en este punto.

Necesitaria de alguna forma hacer lo siguiente:

- En la pantall de "registro", almacenar 3...4...5..6... huellas del usuario para vincularselas a su cuenta.
- En la pantalla de "login", comparar la huella que se ponga en el lector con las de la base de datos para saber de que usuario es.

Mis dudas son esas.... como vincular la huella al usuario... si guardar la huella como "PNG", "raw", etc... y despues, como comparar estas huellas.

Espero haberme explicado bien.
Ojala puedan ayudarme.
Gracias.
__________________
Follow me on twitter @franbedia