Captura Remota de Biometria digital
Por meio da função abaixo o dispositivo entra em modo de captura de biometria digital, sendo exibida a tela padrão de captura via interface do dispositivo. A hash do resultado da captura será retornado nos eventos (EventManager, por exemplo).
Utilize os serviços de eventos para receber a hash da biometria capturada. Pode ser tanto via eventManager quando Servidor de Envio de Eventos ou Modo Online.
Requisição - GET
http://192.168.1.201/cgi-bin/accessControl.cgi?action=captureFingerprint&info.ReaderID=1&info.FingerPrintName=Johnatan&info.UserID=1&heartbeat=5&timeout=10
param | type | description |
---|---|---|
captureFingerprint * | String | Comando para Captura da Biometria |
ReaderID * | String | ID do Leitor, exemplo: 1 |
FingerPrintName * | String | Nome do Usuário para Identificação |
timeout * | String | ID do Usuário (Será retornado na chamada) |
Exemplo de Retorno - text/plain
--myboundary
Content-Type: text/plain
Content-Disposition: form-data; name="info"
{
"Events": [
{
"Action": "Start",
"Code": "_FingerPrintCollect_",
"Data": {
"info": {
"FingerPrintName": "Johnatan",
"ReaderID": "1",
"UserID": "1"
},
"RealUTC": 1723754925,
"Type": "Remote",
"UTC": 1723754925
},
"Index": 0,
"PhysicalAddress": "24:52:6a:a6:8e:81",
"Time": "15-08-2024 17:48:45"
}
]
}
--myboundary--
--myboundary
Content-Type: text/plain
Content-Disposition: form-data; name="info"
{
"Events": [
{
"Action": "Pulse",
"Code": "FingerprintState",
"Data": {
"CaptureTimes": 1,
"CollectResult": false,
"RealUTC": 1723754930,
"UTC": 1723754930
},
"Index": 0,
"PhysicalAddress": "24:52:6a:a6:8e:81",
"Time": "15-08-2024 17:48:50"
}
]
}
--myboundary--
--myboundary
Content-Type: text/plain
Content-Disposition: form-data; name="info"
{
"Events": [
{
"Action": "Pulse",
"Code": "FingerprintState",
"Data": {
"CaptureTimes": 2,
"CollectResult": false,
"RealUTC": 1723754937,
"UTC": 1723754937
},
"Index": 0,
"PhysicalAddress": "24:52:6a:a6:8e:81",
"Time": "15-08-2024 17:48:57"
}
]
}
--myboundary--
--myboundary
Content-Type: text/plain
Content-Disposition: form-data; name="info"
{
"Events": [
{
"Action": "Pulse",
"Code": "Fingerprint",
"Data": {
"CollectResult": true,
"FingerprintData": "{{FingerprintData}}",
"FingerprintPacket": {
"Count": 1,
"Length": 810
},
"RealUTC": 1723754941,
"UTC": 1723754941
},
"Index": 0,
"PhysicalAddress": "24:52:6a:a6:8e:81",
"Time": "15-08-2024 17:49:01"
}
]
}
--myboundary--
Importante: Para o cadastro correto do template recebido em FingerPrintData, deverá ser realizado o tratamento dos dados para que possuam 1080 caracteres. Desta forma deve ser removido o contra barra " \ " dos dados retornados.
Após o valor de FingerPrintData deverá possuir 1080 caracteres, permitindo assim o cadastro da digital utilizando a função Cadastro de Biometria Digital.
Exemplos
import requests
device_ip = '10.1.35.144'
username = 'admin'
password = 'intelbras'
url = "http://{}/cgi-bin/accessControl.cgi?action=captureFingerprint&info.ReaderID=1&info.FingerPrintName=Johnatan&info.UserID=1&heartbeat=5&timeout=10".format(
str(device_ip),
)
digest_auth = requests.auth.HTTPDigestAuth(username, password)
rval = requests.get(url, auth=digest_auth, stream=True, timeout=20, verify=False)
print(rval.text)