Possuo um controle de acesso com biometria em usb, mais devido a limitação do cabo usb de 5m, estou migrando para serial. No entanto não existe biblioteca ou sdk para desenvolvimento via serial, tudo tem que ser feito na mão mesmo. Estou utilizando o component Tcomport para comunicar com o leitor mais não tenho obtido nenhuma resposta. Confesso que estou totalmente perdido. O protocolo do leitor é o seguinte:
Start code: 1 byte. Indicates the beginning of a packet. 0x40, corresponding to ‘@.’
O final do pacote:
End code: 1 byte. LF (‘\n’, 0x0D). Indicates the end of a packet.
O comado para checar o leitor:
1.Check finger
Code of command|Param1| Param2 |Flag/Error
0x4B 0x00000000 0x00000000 0x00
Check and inform host if there is finger on the scanning window
Return to Host
0x00
Contrast value
0x00000000
0x40 (if finger is)
0x41(if there isn’t finger )
Agora minha duvida, como faço para mandar estes valores para o leitor utilizando o Tcomport??? Já tentei simplesmente escreve-los pelo writeStr, mais não tive nenhum sucesso. Vi um modelo feito em C++, estes valores 0x00, 0x40, 0x4B, etc., são escritos no tipo byte, mais tentei escreve-los como byte, mais o delphi so reconhece o '0' inicial. Tentei como char também, tive o mesmo problema.
Pergunta
Reisah
Possuo um controle de acesso com biometria em usb, mais devido a limitação do cabo usb de 5m, estou migrando para serial. No entanto não existe biblioteca ou sdk para desenvolvimento via serial, tudo tem que ser feito na mão mesmo. Estou utilizando o component Tcomport para comunicar com o leitor mais não tenho obtido nenhuma resposta. Confesso que estou totalmente perdido. O protocolo do leitor é o seguinte:
StartByte|Comand Byte|Param1|Param2|Error/Flag|CheckSum|StopByte
1byte 1byte 4byte 4byte 1byte 1byte 1byte
O inicio do pacote deve ser:
Start code: 1 byte. Indicates the beginning of a packet. 0x40, corresponding to ‘@.’
O final do pacote:
End code: 1 byte. LF (‘\n’, 0x0D). Indicates the end of a packet.
O comado para checar o leitor:
1.Check finger
Code of command|Param1| Param2 |Flag/Error
0x4B 0x00000000 0x00000000 0x00
Check and inform host if there is finger on the scanning window
Return to Host
0x00
Contrast value
0x00000000
0x40 (if finger is)
0x41(if there isn’t finger )
Agora minha duvida, como faço para mandar estes valores para o leitor utilizando o Tcomport??? Já tentei simplesmente escreve-los pelo writeStr, mais não tive nenhum sucesso. Vi um modelo feito em C++, estes valores 0x00, 0x40, 0x4B, etc., são escritos no tipo byte, mais tentei escreve-los como byte, mais o delphi so reconhece o '0' inicial. Tentei como char também, tive o mesmo problema.
Agradeço se alguém puder me ajudar.
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.