Eu tenho um termômetro USB que usei no Windows XP com os drivers incluídos. Ele apenas lê a temperatura do ar e o PC lê esse valor.
Agora quero usá-lo no Linux, por exemplo, em um Raspberry Pi. Eu o conectei e a única coisa que consegui descobrir é obter as informações do dispositivo do syslog:
Jan 25 10:31:01 pi kernel: [ 202.825771] usb 1-1.1.2: new full-speed USB device number 7 using dwc_otg
Jan 25 10:31:01 pi kernel: [ 202.916413] usb 1-1.1.2: New USB device found, idVendor=413d, idProduct=2107
Jan 25 10:31:01 pi kernel: [ 202.916443] usb 1-1.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Jan 25 10:31:01 pi kernel: [ 202.922898] input: HID 413d:2107 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/0003:413D:2107.0004/input/input2
Jan 25 10:31:01 pi mtp-probe: checking bus 1, device 7: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2"
Jan 25 10:31:01 pi mtp-probe: bus: 1, device: 7 was not an MTP device
Jan 25 10:31:01 pi kernel: [ 202.976409] hid-generic 0003:413D:2107.0004: input,hidraw1: USB HID v1.11 Keyboard [HID 413d:2107] on usb-3f980000.usb-1.1.2/input0
Jan 25 10:31:01 pi kernel: [ 202.981627] hid-generic 0003:413D:2107.0005: hiddev96,hidraw2: USB HID v1.10 Device [HID 413d:2107] on usb-3f980000.usb-1.1.2/input1
Jan 25 10:31:01 pi mtp-probe: checking bus 1, device 7: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2"
Jan 25 10:31:01 pi mtp-probe: bus: 1, device: 7 was not an MTP device
Como não tenho habilidade para codificar um driver, pensei que usando os arquivos desse log eu poderia ler os dados, como costumo fazer com arquivos em ou , /proc
mas /dev
não entendo esses arquivos e diretórios.
Isso é possível? Ajuda o Linux identificar o dispositivo como um dispositivo HID?
Dê uma olhada no projeto temperx/temperx.go que suporta seu dispositivo USB 413d:2107.
temperx é um plugin Munin escrito em PHP usando o binário hid-query fornecido pelo TEMPered .
temperx.go é uma ferramenta autônoma escrita em Go que relata temperatura e umidade atuais.
Eu provavelmente tentaria primeiro a ferramenta Go, que parece ser mais fácil de instalar.
Instalar Ir
Instruções retiradas do site do projeto:
Deve produzir o
temperx
binário em$GOPATH/bin/
Exemplo: