我有一个出现在/dev/hidraw上的USB RFID设备
对于我的串行设备,它们出现在/dev/ttyUSB *上,我使用了pyserial,它的工作原理类似于魅力,但是对于这一点,我无法使用cat /dev/hidraw0
从中读取,需要root特权
再加上我需要读一行而不是继续听
我使用了evdev库,但是我的设备根本没有出现:
import evdev
devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()]
for device in devices:
print(device.fn, device.name, device.phys)
那么,是否有适当的方法以编程方式从设备读取内容?
最佳答案
通过default evdev.list_devices()仅查找/dev/input
并且您需要使用设备的权限。您可以将用户添加到拥有您的设备的组中(请参阅$ ls -l/dev/hidraw0)
然后,您需要循环收听设备
#!/usr/bin/python3
import evdev
devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()]
for device in devices:
print(device.fn, device.name, device.phys)
device = evdev.InputDevice("/dev/input/event4")
print(device)
for event in device.read_loop():
print(event)