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.
Sim é possível.
Ela vem só para poder testar a comunicação.
[]s
T
Thiago_Siqueira
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.
K
kiwoxox
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....
importcom.nitgen.SDK.BSP.NBioBSPJNI;importcom.nitgen.SDK.BSP.NBioBSPJNI.IndexSearch;importjava.util.List;importmodelo.Digital;/** * * @author Ulisses */publicclassLeitorBiometrico{privatestaticNBioBSPJNIbsp;privateNBioBSPJNI.IndexSearchIndexSearchEngine;privateNBioBSPJNI.FIR_TEXTENCODEtextSavedFIRBD;privateNBioBSPJNI.FIR_TEXTENCODEtextSavedFIRMC;privateNBioBSPJNI.FIR_HANDLEhFIR;privateNBioBSPJNI.INPUT_FIRinputFIRBD;privateNBioBSPJNI.INPUT_FIRinputFIRMC;privateNBioBSPJNI.IndexSearch.SAMPLE_INFOsampleInfo;publicLeitorBiometrico(){bsp=newNBioBSPJNI();if(CheckError()){return;}IndexSearchEngine=bsp.newIndexSearch();if(CheckError()){return;}bsp.OpenDevice();if(CheckError()){return;}System.err.println("Dispositivo Iniciado com Sucesso");}publicvoiddispose(){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;}}privateBooleanCheckError(){if(bsp.IsErrorOccured()){//labelStatus.setText("NBioBSP Error Occured [" + bsp.GetErrorCode() + "]");returntrue;}returnfalse;}publicvoidClosing(){dispose();}voidpopulaIndexEngine(List<Digital>lista){//Instancia o Handle para receber a digitaltextSavedFIRBD=bsp.newFIR_TEXTENCODE();inputFIRBD=bsp.newINPUT_FIR();//Percorre a lista de Digitais e popula a SerchEngine com o ID do funcionáriofor(inti=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);}}intverificaDigital(StringdigitalMicro){//Recebendo String do Microcontrolador e convertendotextSavedFIRMC=bsp.newFIR_TEXTENCODE();textSavedFIRMC.TextFIR=digitalMicro;inputFIRMC=bsp.newINPUT_FIR();inputFIRMC.SetTextFIR(textSavedFIRMC);//Instanciando TIPO: resultado da buscaNBioBSPJNI.IndexSearch.FP_INFOfpInfo=IndexSearchEngine.newFP_INFO();//Realizando pesquisa com a digital recebida do microcontroladorIndexSearchEngine.Identify(inputFIRMC,5,fpInfo);//Retorna o ID do funcionário (0 = Não encontrado)returnfpInfo.ID;}}
Na parte web... utilizei a própria interface para cadastramento dos funcionário que facilitava muito a vida...
packagecontrole.digital;importcom.nitgen.SDK.BSP.NBioBSPJNI;/** * * @author Ulisses */publicclassLeitorBiometrico{privatestaticNBioBSPJNIbsp;privateNBioBSPJNI.IndexSearchIndexSearchEngine;privateNBioBSPJNI.FIR_TEXTENCODEtextSavedFIR;privateNBioBSPJNI.FIR_HANDLEhFIR;privateNBioBSPJNI.INPUT_FIRinputFIR;privateNBioBSPJNI.IndexSearch.SAMPLE_INFOsampleInfo;publicLeitorBiometrico(){bsp=newNBioBSPJNI();if(CheckError()){return;}IndexSearchEngine=bsp.newIndexSearch();if(CheckError()){return;}bsp.OpenDevice();if(CheckError()){return;}System.err.println("Dispositivo Iniciado com Sucesso");}publicvoiddispose(){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;}}privateBooleanCheckError(){if(bsp.IsErrorOccured()){//labelStatus.setText("NBioBSP Error Occured [" + bsp.GetErrorCode() + "]");returntrue;}returnfalse;}publicvoidClosing(){dispose();}// registra a digital do usuariopublicStringregistrarDigital(){//RegistrarhFIR=bsp.newFIR_HANDLE();bsp.Enroll(hFIR,null);// transforma od dados da digital em textoif(bsp.IsErrorOccured()==false){textSavedFIR=bsp.newFIR_TEXTENCODE();bsp.GetTextFIRFromHandle(hFIR,textSavedFIR);StringsDigital=textSavedFIR.TextFIR;Closing();returnsDigital;}else{Closing();returnnull;}}publicvoidinserirDigital(intcodigo,Stringdigital){//Recebendo a digital gravada no BDtextSavedFIR=bsp.newFIR_TEXTENCODE();textSavedFIR.TextFIR=digital;inputFIR=bsp.newINPUT_FIR();inputFIR.SetTextFIR(textSavedFIR);//indexando a digital e o ID do usuario extraídos do BD na memóriaIndexSearchEngine.AddFIR(inputFIR,codigo,sampleInfo);if(CheckError()){Closing();}}publicbooleanverificarDigital(intcodigo,Stringdigital){//Recebendo a digital gravada no BDtextSavedFIR=bsp.newFIR_TEXTENCODE();textSavedFIR.TextFIR=digital;inputFIR=bsp.newINPUT_FIR();inputFIR.SetTextFIR(textSavedFIR);//indexando a digital e o ID do usuario extraídos do BD na memóriaIndexSearchEngine.AddFIR(inputFIR,codigo,sampleInfo);if(CheckError()){Closing();returnfalse;}//Capturando a digital do usuarioNBioBSPJNI.FIR_HANDLEhCapture=bsp.newFIR_HANDLE();bsp.Capture(hCapture);if(CheckError()){returnfalse;}NBioBSPJNI.INPUT_FIRinputFIR1;inputFIR1=bsp.newINPUT_FIR();inputFIR1.SetFIRHandle(hCapture);NBioBSPJNI.IndexSearch.FP_INFOfpInfo=IndexSearchEngine.newFP_INFO();//identificado a digital capturada com a que foi indexadaIndexSearchEngine.Identify(inputFIR1,5,fpInfo);if(CheckError()){Closing();returnfalse;}else{Closing();returntrue;}}}
Boa sorte ai brother...
P
psergio81
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!
D
douglas_sm
Nesta página tem o SDK e outros arquivos dos equipamentos NitGEN