以文件形式访问 USB 设备

以文件形式访问 USB 设备

我有一个 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 工具,它似乎更容易安装。

  1. 安装

  2. 来自项目现场的说明:

    $ 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
    

相关内容