포함된 드라이버를 사용하여 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 도구를 먼저 사용해 볼 것입니다. 설치가 더 쉬운 것 같습니다.
설치하다가다
프로젝트 사이트의 참고 사항:
$ 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