【发布时间】:2016-10-28 12:47:46
【问题描述】:
我有一个显示在 /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)
那么有没有一种适当的方式以编程方式从设备中读取数据?
【问题讨论】:
-
您的问题难以阅读。看看 pyusb(当然你还需要设备的访问权限)。
-
如果
cat /dev/hidraw0看不到它,这听起来不太好:您的设备可能有缺陷。当您在终端中执行lsusb时,它会出现吗?插入后还要检查dmesg | tail。请注意,即使 lsusb 可以看到它,也不一定意味着您实际上可以对设备执行任何有用的操作。但如果 lsusb 看不到,它可能已经死了。 -
我可以使用 cat 功能阅读,但它需要 root 权限 有没有办法以普通用户的身份阅读?
-
sudo cat /dev/hidrawX(在我的例子中是 hidraw3)对我来说很好用!每次扫描仪通过触发器识别条形码时,终端上都会弹出一个字符串。既然我做了健全性检查,我可以继续。请记住,我首先使用 Windows 上的 Zebra 配置工具来设置扫描仪,我不知道这是否有帮助。
标签: python linux usb device hid