nlo*_*fan 15 usb input devices files cat
我将红外接收器连接到 USB 端口......(dmesg 的最后一行告诉设备文件)
$ dmesg
[10496.596063] usb 7-2: new full-speed USB device number 2 using uhci_hcd
[10496.751112] usb 7-2: New USB device found, idVendor=0df7, idProduct=0620
[10496.751117] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10496.751120] usb 7-2: Product: USB-Serial Controller
[10496.751124] usb 7-2: Manufacturer: Prolific Technology Inc.
[10496.787441] usbcore: registered new interface driver usbserial
[10496.787467] usbcore: registered new interface driver usbserial_generic
[10496.787483] usbserial: USB Serial support registered for generic
[10496.795104] usbcore: registered new interface driver pl2303
[10496.795129] usbserial: USB Serial support registered for pl2303
[10496.795160] pl2303 7-2:1.0: pl2303 converter detected
[10496.807238] usb 7-2: pl2303 converter now attached to ttyUSB0
Run Code Online (Sandbox Code Playgroud)
然后我就继续尝试了......
$ sudo cat /dev/ttyUSB0
Run Code Online (Sandbox Code Playgroud)
但没有输出,只是挂起。尽管如此,当我按下遥控器上的任何按钮时,红外接收器设备的 LED 会闪烁,所以这似乎确实有效。
为什么会这样?
笔记:
当我从 USB 端口移除设备并打印“cat: ttyUSB0: No such device”时,上述命令退出,dmesg 打印 3 行:
[13707.264086] usb 7-2: USB disconnect, device number 2
[13707.264894] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[13707.264915] pl2303 7-2:1.0: device disconnected)
Run Code Online (Sandbox Code Playgroud)使用键盘的设备文件可以工作,例如:
$ sudo cat /dev/input/by-id/usb-USB_USB_Keykoard-event-kbd
Run Code Online (Sandbox Code Playgroud)
当我按下键盘上的任意键时,控制台上会产生许多奇怪的字符
我认为对于串行设备,您必须在执行任何操作之前设置波特率。我不确定如何从命令行执行此操作才能开始cat工作,但您可以使用终端模拟器来处理它。
尝试minicom或screen(即screen /dev/ttyUSB0 115200- 将 115200 替换为您的红外接收器的波特率。)