Biometria Nitgen

De UniWiki
Revisão de 11h42min de 23 de setembro de 2021 por Sergio (Discussão | contribs) (Atualização na versão 7.02.004 do Unilab)
Ir para: navegação, pesquisa


Este documento descreve os processos de instalação e uso do sistema biométrico baseado na engine da Nitgen.
    Versão do documento: 0.1
    Documento destinado aos programadores

Programador, para a utilização direta dos links nesta pagina, adicione a seguinte linha ao seu hosts:
     10.1.1.10   uniware-lda.no-ip.net

Visão Geral

O sistema biométrico ENBioBSP (baseado na engine da Nitgen) funciona de forma independente, ou seja, um módulo mão interfere no funcionamento do outro. Esta independência permite que duas ou mais aplicações que utilizem este sistema possam rodar simultaneamente no mesmo terminal, por exemplo o Unilab rodando com biometria na maquina que também é o servidor do mysql (laboratórios com apenas 1 ou 2 terminais) ou ainda dois Unilabs no mesmo terminal (vai saber o motivo).

A codificação do registro de impressões digitais (FIR - Finger Identifier Record) é executada pela própria interface do Unilab, e o registro salvo no banco. Como a licença da API é livre, não há necessidade de um servidor de conversão o que torna todo o processo mais rápido.

O módulo myENBioBSP (API da Uniware instalada no mysql) esta disponível para os sistemas Windows e Linux nas plataformas x86 e x64.


  • Binarios
Host Diretório Compartilhamento
uniware-files1 /disks/dados1/uniware-shareds/files/desenvolvimento/storage/Linux-desenvolvimento/Biometria-nitgen-2017 \\uniware-files1\storage-r\Linux-desenvolvimento
uniware-files1 /disks/dados1/uniware-shareds/files/desenvolvimento/distribuicao/UnilabVersoes/Biometria/Nitgen \\uniware-files1\distribuicao-r\UnilabVersoes\Biometria\Nitgen
HTTP http://uniware.net.br/nitgen --*--


SDK NBioBSP

O SDK NBioBSP é o conjunto de softwares da Nitgen que contem a engine para a codificação dos registros de impressões digitais (FIR) e a API que permite a integração das aplicações com esta engine.


Configuração padrão (default) da API utilizada no Unilab:

Descrição Valor
Qualidade de Imagem (Captura e Verificação) 80
Nível de Segurança 5
Maximo de Dedos na Captura 1
Amostras por dedo 2
Timeout do Dispositivo 10 Segundos

Obs. Estes valores poderão ser modificados para atender necessidades de clientes específicos, desde que a configuração passe a ser guardada no unilab (ConfigSis)

Módulo myENBioBSP

O modulo myENBioBSP consiste em uma biblioteca de ligação dinâmica ('dll' no windows e 'so' no linux) escrita para ser integrada ao banco de dados MySQL na forma de plugin, disponibilizando as funções:

FIRCOMP - Compara dois registros FIR retornando 1 para confere e 0 para não confere

NitgenStatus - Le o código de status do módulo myENBioBSP

Código Fonte

O Código fonte do sistema biométrico do Unilab esta postado no SVN e organizado conforme a finalidade e linguagem em que foi escrito. A tabela abaixo mostra a localização de cada parte do código:

Linguagem Modulo Aplicação Localização
Delphi 5 Interface da Aplicação Captura e Codificação de FIR CVS\_d5_sharedforms\eNBioBSP_API
Delphi 5(x86)XE(x64) Módulo myENBioBSP (windows) MySQL verificação de FIR CVS\uniware\Biometria-Nitgen-2017
C++ Módulo myENBioBSP (Linux) MySQL verificação de FIR CVS_OutrasLinguagens\cpp\projetos-nb\myENBioBSP
O SDK deve ser instalado na máquina terminar que vai ficar a biometria, recomendado instalar 32bits e 64bits, porem a que funciona é 32bits independente da versão do sistema terminal do cliente

Instalação do SDK NBioBSP No Windows

1) Baixar o pacote de instalação do SDK e instalar na maquina onde ficará o leitor biométrico. - MESMO QUE A MÁQUINA SEJA 64 BITS, DEVE SER INSTALADO SEMPRE O 32BITS Nota: Após a versão 7.02.004 do Unilab pode-se utilizar a versão x64 do SDK normalmente.

Plataforma Link
x86 \\uniware-files1\distribuicao-r\UnilabVersoes\Biometria\Nitgen\windows\enbiobsp_sdk_v4.890-win-x86.7z
x64 \\uniware-files1\distribuicao-r\UnilabVersoes\Biometria\Nitgen\windows\enbiobsp_sdk_v4.890-win-x64.7z

2) Instalar o SDK correspondente.(COM O 32BITS FUNCIONA).

Ao extrair o arquivo baixado enbiobsp_sdk_v4.890-win-x86, dentro da pasta terão outras duas pastas ( "manual" e "x86") e o serial.txt. Abra a pasta "x86" e execute o "setup.exe".

Na instalação pedirá um usuário, nome da empresa (dá qual ambos podem ser preenchidos nomes genéricos) e o serial. Abra o "serial.txt", copie e cole na instalação.

O restante é somente ir avançando para concluir.

Use o serial que acompanha o pacote para registrar a API; A licença é livre.
  • Nota: A plataforma do SDK deve ser a mesma do Banco de Dados e quando for o caso do driver do dispositivo. (DESCONSIDERAR, tentar sempre com o 32bits primeiro

Instalação do Módulo myNBioBSP No Windows

NOTA: Caso o Unilab esteja na versão 7.02.004 ou superior, deve se utilizar outra versão da DLL, verificar no fim da página para mais detalhes.

  • Requer SDK da Nitgen previamente instalado.

1) Baixar o pacote do módulo myENBioBSP correspondente no servidor (onde se encontra o banco de dados instalado) - MESMO QUE A MÁQUINA SEJA 64 BITS, DEVE SER INSTALADO SEMPRE O 32BITS

 Nota: O pacote deve ser compatível com a plataforma do SDK e do MySQL
Plataforma Link
x86 \\uniware-files1\storage-r\Linux-desenvolvimento\Biometria-nitgen-2017\uniware-redist\win-x86\myENBioBSP-win-x86.7z
x64 \\uniware-files1\storage-r\Linux-desenvolvimento\Biometria-nitgen-2017\uniware-redist\win-x64\myENBioBSP-win-x64.7z

2) Descompacte o arquivo baixado.

3) Copie o arquivo myENBioBSP.dll para a pasta bin do MySQL (onde se localiza o mysqld.exe)
O passo abaixo não precisa ser feito dessa forma, pode ser realizado diretamente pelo UnilabTool.exe da pasta "Uniwarew", basta conecta-lo antes.
4) Acesse a pasta bin do MySQL e abra o prompt do DOS nesta pasta

5) Acesse o banco de dados

    mysql -uUNIWARE -p -P3309
    Digite a senha padrão para o usuário UNIWARE

6) Ative as funções do módulo (Pode ser feito pelo UnilabTools).

  mysql> CREATE FUNCTION FIRCOMP RETURNS INTEGER SONAME  "myENbioBSP.dll";  <Enter>
  mysql> CREATE FUNCTION NitgenStatus RETURNS INTEGER SONAME "myENbioBSP.dll"; <Enter>

No cliente 00422 a dll x64 retornava erro, então caso de erro, troque para a dll x86 e refaça a operação.

7) Sair do mysql - Se estiver feito o procedimento pelo UnilabTools, basta fechar.

  mysql> quit; <Enter>

8) Reiniciar o MySQL. (Services.msc)

9) Testar se esta tudo Ok, execute os comandos abaixo no prompt do DOS (pasta bin do MySQL)

 Digite a senha padrão para o usuário UNIWARE. 

 mysql -uUNIWARE -e "SELECT NitgenStatus()" --port=3309 -p
 Deve retornar o valor 12. 

 mysql -uUNIWARE -e "SELECT FIRCOMP(1,1)" --port=3309 -p
 Deve retornar o valor 52. 
OBS: No cliente 00422 o valor retornado para "mysql -uUNIWARE -e "SELECT NitgenStatus()" --port=3309 -p" foi de 0 
     e para "mysql -uUNIWARE -e "SELECT FIRCOMP(1,1)" --port=3309 -p" foi de 50.

Peça ao cliente para conectar o leitor biométrico na máquina, instale o driver da mesma.

http://www.fingertech.com.br/Content/Uploads/Downloads/manual_hamsterDX_III.pdf

Concluído, basta agora configurar dentro do Unilab a biometria.

Instalação do SDK NBioBSP No Linux

1) Abra o terminal de comando

2) Mude para usuário root

 $ su  
  1. Verificar a versão do sistema usar uname -r
  2. Installar o 7zip usar o comando: apt-get install p7zip-full

3) Crie uma nova pasta e entre nela

 # mkdir  nit
 # chmod 777 nit
 # cd nit

4) Baixar o pacote de instalação do SDK correspondente

Nota: Não funciona em LINUX 32bits

Plataforma Link
x64 http://uniware.net.br/nitgen/linux-x64/Nitgen_SDK_eNBSP-1.8.5-1_(x64_linux-install).7z
              (use o endereço do pacote desejado)
 # wget http://uniware.net.br/nitgen/linux-x64/Nitgen_SDK_eNBSP-1.8.5-1_\(x64_linux-install\).7z


2) Descompactar o pacote

 (Dica: Apos digitar as primeiras 3 ou 4 letras
 do nome do arquivo, tecle TAB para completar.)
 # 7z x Nitgen_SDK_eNBSP-1.8.5-1_x64_linux-install.7z


3) Acessar o diretório extraido do pacote

  # cd eNBSP-1.8.5-1/

4) Instalar o SDK

  # ./install.sh

5) Registrar a API (aplicar a licença)

  (mostra na tela do terminal o serial para registro)
  # cat SERIAL.TXT

  (executa a aplicação de registro)
  # ./NBioBSP_Signer
  (o NBioBSP_Signer solicitará o número de série, informe o numero mostrado no comando anterior.)

Concluido

Instalação do Módulo myNBioBSP No Linux

NOTA: Caso o Unilab esteja na versão 7.02.004 ou superior, deve se utilizar outra versão do módulo, verificar no fim da página para mais detalhes.

  • Requer SDK da Nitgem previamente instalado

1) Abra o terminal de comando e mude para o usuário root

$ su

2) Crie um diretório novo (temporario), e acesse este diretório

# mkdir bioinst
# cd bioinst/

3) Baixe o pacote de instalação do módulo myENBioBSP para linux

Plataforma Link
MySQL x64 http://uniware.net.br/nitgen/linux-x64/myENBioBSP-x64-install.7z
MariaDB x64 http://uniware.net.br/nitgen/linux-x64/myENBioBSP-x64-install_maria.7z
# wget http://uniware.net.br/nitgen/linux-x64/myENBioBSP-x64-install.7z
     ou para MariaDB
# wget http://uniware.net.br/nitgen/linux-x64/myENBioBSP-x64-install_maria.7z

4) Descompacte o arquivo baixado

# 7z x myENBioBSP-x64-install.7z


5) Acesse a pasta myENBioBSP-x64-install, e execute o instalador

# cd myENBioBSP-x64-install
# ./install.sh

6) Acesse o banco de dados

  > mysql -uUNIWARE -p
    Digite a senha padrão para o usuário UNIWARE

7) Ative as funções do módulo // O Unilab cria as funções quando ativa a biometria.

  mysql> CREATE FUNCTION FIRCOMP RETURNS INTEGER SONAME  "myENBioBSP.so";  <Enter>
  mysql> CREATE FUNCTION NitgenStatus RETURNS INTEGER SONAME "myENBioBSP.so"; <Enter>
  mysql> quit

8) Reiniciar o Mysql (Não necessário para o MariaDB)

 # /etc/init.d/mysql restart


9) Testar se esta tudo Ok, execute os comandos abaixo no prompt

 Digite a senha padrão para o usuário UNIWARE. 

 mysql -uUNIWARE -e "SELECT NitgenStatus()" --port=3309 -p
 Deve retornar o valor 12. 

 mysql -uUNIWARE -e "SELECT FIRCOMP(1,1)" --port=3309 -p
 Deve retornar o valor 11. 

10) Finalizando, exclua o diretório temporário

 # cd ../../
 # rm -rf bioinst

Concluido.

Interface Aplicação Código de exemplo

Estão disponíveis dois exemplos de aplicação que demonstram o uso da interface de captura (svn:CVS\_d5_sharedforms\eNBioBSP_API), estes exemplos estão postados em svn:CVS_Exemplos\D5\Biometria-Nitgen-2017


Atualização na versão 7.02.004 do Unilab

Após a versão 7.02.004 do Unilab foram implementadas melhorias no componente de Biometria Nitgen que exigem a utilização de um novo componente (Módulo/DLL, não é necessário realizar nenhuma alteração relacionada ao SDK), fazendo com que seja necessárias algumas alterações para o recurso funcionar (Nota: Recomenda-se utilizar o artigo de biometria Nitgen da wiki nova, pois está mais completo):

No WINDOWS (MYSQL e MARIADB):

1) Primeiramente é preciso paralisar o banco de dados antes do processo;

2) Pegar o arquivo myENBioBSP_v10.0_x86-64_beta.7z no caminho: \\uniware-files1\storage-r\Biometria\Nitgen_2021_win_beta , extrair em algum local, após extrair vão existir duas pastas: x64 e x86, seguir de acordo com a versão escolhida (se o banco é 32bits ou 64bits).

3) Após escolher a versão, fazer as substituições nas pastas do Windows (colocar os arquivos da System32 na System32 do Windows caso seja utilizada a versão 64bits e/ou arquivos da SysWOW64 na SysWOW64 do Windows caso seja utilizado a versão 32bits, parece estranho mas é assim mesmo);

4) Agora é preciso trocar a DLL em si. Caso utilize MYSQL, basta pegar a myENBioBSP.dll e substituir dentro da basta \bin do banco de dados; Caso utilize MariaDB é preciso colocar a myENBioBSP.dll na pasta \bin do MariaDB, na System32 do windows, na \lib do MariaDB e por ultimo na \lib\plugin do MariaDB

5) Reiniciar o banco de dados para seguir. Agora da mesma forma em que eram criadas as funções antigamente, é necessário criar algumas outras, segue a lista completa de funções: (NOTA: As duas primeiras são as mesmas do processo antigo, então se estiver apenas atualizando a biometria, ignorar as duas primeiras funções e criar apenas da terceiro em diante, se estiver fazendo do zero, criar todas)

 CREATE FUNCTION FIRCOMP RETURNS INTEGER SONAME  "myENbioBSP.dll";
 CREATE FUNCTION NitgenStatus RETURNS INTEGER SONAME "myENbioBSP.dll";
 CREATE FUNCTION NitgenStatusSTR RETURNS STRING SONAME  "myENbioBSP.dll";
 CREATE FUNCTION NBIOSettings RETURNS INTEGER SONAME "myENbioBSP.dll";
 CREATE FUNCTION NBIOSet  RETURNS INTEGER SONAME "myENbioBSP.dll";
 CREATE FUNCTION NitgenPluginVersion RETURNS STRING SONAME "myENbioBSP.dll"

7) Reiniciar o banco de dados para garantir que tudo vai ser carregado com sucesso e pronto!!



No LINUX:

1) Abra o terminal de comando e mude para o usuário root

$ su

2) Crie um diretório novo (temporario), e acesse este diretório

# mkdir bioinst
# cd bioinst/

3) Baixe o pacote de instalação do módulo myENBioBSP para linux

Plataforma Link
MySQL x64 http://uniware.net.br/nitgen-plugin/linux/myENBioBSP-x64-install-mysql_v10.0.d76.7z
MariaDB x64 http://uniware.net.br/nitgen-plugin/linux/myENBioBSP-x64-install_maria_v10.0.d76.7z
# wget http://uniware.net.br/nitgen-plugin/linux/myENBioBSP-x64-install-mysql_v10.0.d76.7z
     ou para MariaDB
# wget http://uniware.net.br/nitgen-plugin/linux/myENBioBSP-x64-install_maria_v10.0.d76.7z

4) Descompacte o arquivo baixado

# 7z x myENBioBSP-x64-install.7z

5) Acesse a pasta myENBioBSP-x64-install, e execute o instalador

# cd myENBioBSP-x64-install
# ./install.sh

6) Acesse o banco de dados

  > mysql -uUNIWARE -p
    Digite a senha padrão para o usuário UNIWARE

7) Ative as funções do módulo // O Unilab cria as funções quando ativa a biometria. (NOTA: As duas primeiras são as mesmas do processo antigo, então se estiver apenas atualizando a biometria, ignorar as duas primeiras funções e criar apenas da terceiro em diante, se estiver fazendo do zero, criar todas)

 CREATE FUNCTION FIRCOMP RETURNS INTEGER SONAME  "myENBioBSP.so"; <Enter>
 CREATE FUNCTION NitgenStatus RETURNS INTEGER SONAME "myENBioBSP.so"; <Enter>
 CREATE FUNCTION NitgenStatusSTR RETURNS STRING SONAME  "myENBioBSP.so"; <Enter>
 CREATE FUNCTION NBIOSettings RETURNS INTEGER SONAME "myENBioBSP.so"; <Enter>
 CREATE FUNCTION NBIOSet  RETURNS INTEGER SONAME "myENBioBSP.so"; <Enter>
 CREATE FUNCTION NitgenPluginVersion RETURNS STRING SONAME "myENBioBSP.so"; <Enter>
  mysql> quit

8) Reiniciar o Mysql (Não necessário para o MariaDB)

 # /etc/init.d/mysql restart

9) Finalizando, exclua o diretório temporário

 # cd ../../
 # rm -rf bioinst

Concluido.