我有一个 USB 温度计,在 Windows XP 中使用附带的驱动程序。它只是读取空气温度,然后电脑读取该值。
现在我想在 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 设备是否有帮助?
答案1
看看temperx/temperx.go支持您的 USB 设备 413d:2107 的项目。
温度是一个使用 PHP 提供的 hid-query 二进制文件编写的 Munin 插件调和。
温度计是一个用 Go 编写的独立工具,用于报告当前温度和湿度。
我可能会首先尝试 Go 工具,它似乎更容易安装。
安装去
来自项目现场的说明:
$ go get github.com/mreymann/temperx $ go install github.com/mreymann/temperx
应该生成
temperx
二进制文件$GOPATH/bin/
例子:
$ /root/go/bin/temperx Temperature: 23.33, Humidity: 40.6