USBデバイスにファイルとしてアクセス

USBデバイスにファイルとしてアクセス

付属のドライバを使用してWindows XPにUSB温度計があります。ちょうど空気温度を読んだ後、コンピュータはその値を読みます。

さて、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.goUSBデバイス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
    

関連情報