Leito Biométrico Nitgen

Pessoal, estou tentando implementar um sistema simples de leitura biométrica. Estou usando o leitor da Nitgen Hamster II DX.
Está funcionando corretamente, só que gostaria de saber se é possível usar o leitor sem aquela interface própria do produto.
Gostaria de usar a minha própria interface.

Abraços

Sim é possível.
Ela vem só para poder testar a comunicação.

[]s

Saberia me dar uma direção?
Estou tentando mas toda vez abre aquela tela.

O método que chamo é esse:

bsp.Enroll(hSavedFIR, null);

Não consegui encontrar nenhuma outra forma.

Cara ano passado fiz um projeto utilizando este leitor biométrico… onde fazia a varredura de um funcionário que enviava as informações de uma fechadura biométrica… Para realizar a comparação eu usava este código na parte do servidor…

[code]import com.nitgen.SDK.BSP.NBioBSPJNI;
import com.nitgen.SDK.BSP.NBioBSPJNI.IndexSearch;
import java.util.List;
import modelo.Digital;
/**
*

  • @author Ulisses
    */
    public class LeitorBiometrico {

    private static NBioBSPJNI bsp;
    private NBioBSPJNI.IndexSearch IndexSearchEngine;
    private NBioBSPJNI.FIR_TEXTENCODE textSavedFIRBD;
    private NBioBSPJNI.FIR_TEXTENCODE textSavedFIRMC;
    private NBioBSPJNI.FIR_HANDLE hFIR;
    private NBioBSPJNI.INPUT_FIR inputFIRBD;
    private NBioBSPJNI.INPUT_FIR inputFIRMC;
    private NBioBSPJNI.IndexSearch.SAMPLE_INFO sampleInfo;

    public LeitorBiometrico() {

     bsp = new NBioBSPJNI();
     if (CheckError()) {
         return;
     }
     
     IndexSearchEngine = bsp.new IndexSearch();
     if (CheckError()){
         return;
     }
    
     bsp.OpenDevice();
     if (CheckError()) {
         return;
     }
     
     System.err.println("Dispositivo Iniciado com Sucesso");
    

    }

    public void dispose() {
    if (IndexSearchEngine != null) {
    IndexSearchEngine.dispose();
    IndexSearchEngine = null;
    }

     if (bsp != null) {
         bsp.CloseDevice();
         bsp.dispose();
         bsp = null;
     }
     
    
     if (textSavedFIRBD != null) {
         textSavedFIRBD = null;
     }
     
     if (textSavedFIRMC != null) {
         textSavedFIRMC = null;
     }
    
     if (hFIR != null) {
         hFIR.dispose();
         hFIR = null;
     }
    
     if (inputFIRBD != null) {
         inputFIRBD = null;
     }
     
     if (inputFIRMC != null) {
         inputFIRMC = null;
     }
    
     if (sampleInfo != null) {
         sampleInfo = null;
     }
    

    }

    private Boolean CheckError() {
    if (bsp.IsErrorOccured()) {
    //labelStatus.setText(“NBioBSP Error Occured [” + bsp.GetErrorCode() + “]”);
    return true;
    }

     return false;
    

    }

    public void Closing() {
    dispose();
    }

    void populaIndexEngine(List lista){
    //Instancia o Handle para receber a digital
    textSavedFIRBD = bsp.new FIR_TEXTENCODE();
    inputFIRBD = bsp.new INPUT_FIR();

     //Percorre a lista de Digitais e popula a SerchEngine com o ID do funcionário
     for (int i=0;i<lista.size();i++){
         System.out.println(lista.get(i).getIddigital() +" "+lista.get(i).getBiometria());
         textSavedFIRBD.TextFIR = lista.get(i).getBiometria();
         inputFIRBD.SetTextFIR(textSavedFIRBD);
         IndexSearchEngine.AddFIR(inputFIRBD, lista.get(i).getIdfuncionario().getIdfuncionario(), sampleInfo);
     }
    

    }

    int verificaDigital(String digitalMicro){
    //Recebendo String do Microcontrolador e convertendo
    textSavedFIRMC = bsp.new FIR_TEXTENCODE();
    textSavedFIRMC.TextFIR = digitalMicro;
    inputFIRMC = bsp.new INPUT_FIR();
    inputFIRMC.SetTextFIR(textSavedFIRMC);
    //Instanciando TIPO: resultado da busca
    NBioBSPJNI.IndexSearch.FP_INFO fpInfo = IndexSearchEngine.new FP_INFO();
    //Realizando pesquisa com a digital recebida do microcontrolador
    IndexSearchEngine.Identify(inputFIRMC, 5, fpInfo);

     //Retorna o ID do funcionário (0 = Não encontrado)
     return fpInfo.ID;
    

    }

}[/code]

Na parte web… utilizei a própria interface para cadastramento dos funcionário que facilitava muito a vida…

[code]package controle.digital;

import com.nitgen.SDK.BSP.NBioBSPJNI;
/**
*

  • @author Ulisses
    */
    public class LeitorBiometrico {

    private static NBioBSPJNI bsp;
    private NBioBSPJNI.IndexSearch IndexSearchEngine;
    private NBioBSPJNI.FIR_TEXTENCODE textSavedFIR;
    private NBioBSPJNI.FIR_HANDLE hFIR;
    private NBioBSPJNI.INPUT_FIR inputFIR;
    private NBioBSPJNI.IndexSearch.SAMPLE_INFO sampleInfo;

    public LeitorBiometrico() {

     bsp = new NBioBSPJNI();
     if (CheckError()) {
         return;
     }
     
     IndexSearchEngine = bsp.new IndexSearch();
     if (CheckError()){
         return;
     }
    
     bsp.OpenDevice();
     if (CheckError()) {
         return;
     }
     
     System.err.println("Dispositivo Iniciado com Sucesso");
    

    }

    public void dispose() {
    if (IndexSearchEngine != null) {
    IndexSearchEngine.dispose();
    IndexSearchEngine = null;
    }

     if (bsp != null) {
         bsp.CloseDevice();
         bsp.dispose();
         bsp = null;
     }
     
    
     if (textSavedFIR != null) {
         textSavedFIR = null;
     }
    
     if (hFIR != null) {
         hFIR.dispose();
         hFIR = null;
     }
    
     if (inputFIR != null) {
         inputFIR = null;
     }
    
     if (sampleInfo != null) {
         sampleInfo = null;
     }
    

    }

    private Boolean CheckError() {
    if (bsp.IsErrorOccured()) {
    //labelStatus.setText(“NBioBSP Error Occured [” + bsp.GetErrorCode() + “]”);
    return true;
    }

     return false;
    

    }

    public void Closing() {
    dispose();
    }

    // registra a digital do usuario
    public String registrarDigital() {

     //Registrar
     hFIR = bsp.new FIR_HANDLE();
     bsp.Enroll(hFIR, null);
     
     // transforma od dados da digital em texto
     if (bsp.IsErrorOccured() == false) {
         textSavedFIR = bsp.new FIR_TEXTENCODE();
         bsp.GetTextFIRFromHandle(hFIR, textSavedFIR);
         String sDigital = textSavedFIR.TextFIR;
         Closing();
         return sDigital;
     } else {
         Closing();
         return null;
     }
    

    }

    public void inserirDigital(int codigo, String digital){
    //Recebendo a digital gravada no BD
    textSavedFIR = bsp.new FIR_TEXTENCODE();
    textSavedFIR.TextFIR = digital;
    inputFIR = bsp.new INPUT_FIR();
    inputFIR.SetTextFIR(textSavedFIR);

     //indexando a digital e o ID do usuario extraídos do BD na memória
     IndexSearchEngine.AddFIR(inputFIR, codigo, sampleInfo);
     if (CheckError()) {
         Closing();
     }
    

    }

    public boolean verificarDigital(int codigo, String digital) {
    //Recebendo a digital gravada no BD
    textSavedFIR = bsp.new FIR_TEXTENCODE();
    textSavedFIR.TextFIR = digital;
    inputFIR = bsp.new INPUT_FIR();
    inputFIR.SetTextFIR(textSavedFIR);

     //indexando a digital e o ID do usuario extraídos do BD na memória
     IndexSearchEngine.AddFIR(inputFIR, codigo, sampleInfo);
     if (CheckError()) {
         Closing();
         return false;
     }
     //Capturando a digital do usuario
     NBioBSPJNI.FIR_HANDLE hCapture = bsp.new FIR_HANDLE();
     bsp.Capture(hCapture);
     if (CheckError()) {
         return false;
     }
     NBioBSPJNI.INPUT_FIR inputFIR1;
     inputFIR1 = bsp.new INPUT_FIR();
     inputFIR1.SetFIRHandle(hCapture);
     NBioBSPJNI.IndexSearch.FP_INFO fpInfo = IndexSearchEngine.new FP_INFO();
    
     //identificado a digital capturada com a que foi indexada
     IndexSearchEngine.Identify(inputFIR1, 5, fpInfo);
     if (CheckError()) {
         Closing();
         return false;
     } else {
         Closing();
         return true;
     }
    

    }

}[/code]

Boa sorte ai brother…

boa tarde kiwoxox,

estou iniciando o desenvolvimento com Java e um dispositivo da Nitgen, porém estou com dificuldades para conseguir a SDK para começar. Gostaria de saber se poderia me informar como posso adquirir.

obrigado!

Nesta página tem o SDK e outros arquivos dos equipamentos NitGEN

http://www.bioenabletech.com/downloads/SDK/

Bom Dia, estou começando mexer em um leitor da Nitgen e queria uma informação, que tipo de parametro ele retorna, para salvar no banco de dados.

Obrigado