HIDAPI hid_open_path()如何确定使用哪个路径

时间:2016-08-10 07:59:06

标签: qt barcode hidapi

  • 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?或将在不同的PC上更改?

  • 问题2:读取权限。当我将条形码扫描枪与PC连接时,它无法读取和读取。写,我的解决方案是使用udev定义我自己的规则使用VID& PID,真的有用!但它对条形码扫描枪不起作用。

1 个答案:

答案 0 :(得分:0)

  1. 您应该使用hid_enumerate(<vid>, <pid>),它将返回hid_device_info结构的链接列表。 hid_device_info有一个名为path的成员变量,它是您要查找的设备路径。如果您插入了其他设备,路径可能会根据电脑或同一台电脑而改变。如果要区分不同的设备,您可以使用hid_get_serial_number_string功能检查其序列号。

  2. 检查相应设备的权限。我见过人们建议在各种论坛(Ubuntu,Arch)上添加udev规则将其更改为666。但是,我认为这是不正确的。相反,请检查设备所属的组,并将自己添加到该组。它可以是usbplugdev或其他。