- HIDAPI+Qt5.4+ubuntu14.04LTS+条码扫描枪
我从这里使用 HIDAPI https://github.com/signal11/hidapi
这是 HIDAPI API http://www.signal11.us/oss/hidapi/hidapi/doxygen/html/group__API.html#ga1e87518670f88540c920dc451df608ee
问题 1:我可以将 hid_open() 方法与我的条码扫描枪的 VID 和 PID 一起使用,但是这样我的应用程序不能使用其他条码扫描枪。我还找到了 hid_open_path() 方法,但我无法确定使用哪个路径/dev/hidraw0 ?或 /dev/hidraw1?还是会在不同的电脑上改变?
问题2:是读取权限吗。当我将条码扫描枪与PC连接时,它无法读取和写入,我的解决方案是使用udev定义我自己的规则来使用VID和PID,它确实有效!但它不适用于条码扫描枪。
问问题
1779 次
1 回答
1
您应该使用
hid_enumerate(<vid>, <pid>)
,它将返回hid_device_info
结构的链接列表。hid_device_info
有一个名为 的成员变量path
,它是您要查找的设备路径。如果您插入了其他设备,则路径可能会因电脑而异,甚至在同一台电脑上也可能会发生变化。为了区分不同的设备,您可以使用hid_get_serial_number_string
功能检查它们的序列号。检查相应设备的权限。我看到人们建议在各种论坛(Ubuntu、Arch)上添加 udev 规则以将其更改为 666。然而,我认为这是不正确的。相反,请检查设备所属的组并将您自己添加到该组。它可能是
usb
或plugdev
或别的什么。
于 2016-10-18T15:53:30.333 回答