Estou tentando criar um aplicativo com controle remoto de um sensor de impressão digital (Guia incluído no link) para inscrição e identificação de impressões digitais são Raspberry PI 3 Model.
Existe um SDK_DEMO para esta funcionalidade específica apenas no Windows, que você pode encontrar no Guile que eu mencionei acima.
- O SDK_DEMO é escrito em C ++ no Visual Studio, portanto não posso manipular o código para executá-lo no Raspberry Pi 3.
Do código-fonte SDK_DEMO, descobri que comando preciso enviar para executar tarefas.
Os comandos
CMD_NONE = 0x00,
CMD_OPEN = 0x01,
CMD_CLOSE = 0x02,
CMD_USB_INTERNAL_CHECK = 0x03,
CMD_CHANGE_BAUDRATE = 0x04,
CMD_MODULE_INFO = 0x06,
CMD_CMOS_LED = 0x12,
CMD_ENROLL_COUNT = 0x20,
CMD_CHECK_ENROLLED = 0x21,
CMD_ENROLL_START = 0x22,
CMD_ENROLL = 0x23,
CMD_ENROLL1 = 0x23,
CMD_ENROLL2 = 0x24,
CMD_ENROLL3 = 0x25,
CMD_IS_PRESS_FINGER = 0x26,
CMD_DELETE = 0x40,
CMD_DELETE_ALL = 0x41,
CMD_VERIFY = 0x50,
CMD_IDENTIFY = 0x51,
CMD_VERIFY_TEMPLATE = 0x52,
CMD_IDENTIFY_TEMPLATE = 0x53,
CMD_CAPTURE = 0x60,
CMD_GET_IMAGE = 0x62,
CMD_GET_RAWIMAGE = 0x63,
CMD_GET_TEMPLATE = 0x70,
CMD_ADD_TEMPLATE = 0x71,
CMD_GET_DATABASE_START = 0x72,
CMD_GET_DATABASE_END = 0x73,
CMD_FW_UPDATE = 0x80,
CMD_ISO_UPDATE = 0x81,
CMD_FAKE_DETECTOR = 0x91,
CMD_SET_SECURITY_LEVEL = 0xF0,
CMD_GET_SECURITY_LEVEL = 0xF1,
ACK_OK = 0x30,
NACK_INFO = 0x31,
O SKD_DEMO reconheceu o sensor FingerPrint como armazenamento em massa e, de alguma forma, estava executando os comandos desse modo.
No Ubuntu, porém, quando eu conecto o dispositivo usb, não recebo nenhuma montagem de armazenamento em massa e, em lsusb
, recebo isso:
Eutenhopesquisadosobreissoetentei
echo"0x12" >> /dev/bus/usb/001/008
Mas recebi um erro de gravação por um argumento inválido.
Aqui estão os comandos do terminal para a tentativa de eco:
Existe uma maneira de enviar comandos brutos com este formato e executar ações sem precisar gravar um driver para este dispositivo USB no Linux?