我有一个 USB 温度计,我在 Windows XP 中使用了捆绑的驱动程序。它只是读取空气温度,PC 读取该值。
现在我想在 Linux 下使用它,例如在 Raspberry Pi 中。我将其插入,唯一能弄清楚的是从系统日志中获取设备信息:
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
由于我不具备编写驱动程序代码的技能,因此我认为使用该日志中的文件我可以读取数据,就像我通常对 或 中的文件/proc
所做的/dev
那样,但我不了解这些文件和目录。
这可能吗?Linux 将设备识别为 HID 设备是否有帮助?
查看支持 USB 设备 413d:2107 的temperx/temperx.go项目。
temperx是一个用 PHP 编写的 Munin 插件,使用由TEMPered提供的 hid-query 二进制文件。
temperx.go是一个用 Go 编写的独立工具,用于报告当前温度和湿度。
我可能会先尝试 Go 工具,它似乎更容易安装。
安装Go
从项目站点获取的说明:
应该生成
temperx
二进制文件$GOPATH/bin/
例子: