2016-08-10 4 views
0
  • HIDAPI + Qt5.4 + ubuntu14.04LTS + pistolet à balayage de code à barres
  • J'utilise le HIDAPI d'ici https://github.com/signal11/hidapiHIDAPI hid_open_path() comment déterminer le chemin à utiliser

  • C'est le HIDAPI API http://www.signal11.us/oss/hidapi/hidapi/doxygen/html/group__API.html#ga1e87518670f88540c920dc451df608ee

  • question 1: Je peux utiliser la méthode avec mon VID de pistolet de balayage de codes à barres & PID, mais de cette façon ma demande hid_open() ne peuvent pas utiliser d'autres codes-barres sca pistolet de nning. J'ai aussi trouvé la méthode hid_open_path(), mais je ne peux pas déterminer quel chemin utiliser /dev/hidraw0? Ou/dev/hidraw1? ou va changer sur un autre PC?

  • Question 2: est la lecture permission.when connecter le pistolet à balayage de code à barres avec le PC, il ne peut pas lire & écrire, ma solution est udev utiliser pour definde mes propres règles à utiliser VID & PID, cela a vraiment fonctionné! Mais cela ne fonctionne pas pour le pistolet à balayage de codes à barres.

Répondre

0
  1. Vous devez utiliser hid_enumerate(<vid>, <pid>), qui rendement lié liste des hid_device_info structures. hid_device_info a une variable membre appelée path, qui est le chemin de périphérique que vous recherchez. Le chemin peut changer selon le PC ou même sur le même PC, si d'autres périphériques sont branchés. Pour distinguer les différents périphériques, vous pouvez vérifier leur numéro de série en utilisant la fonction hid_get_serial_number_string.

  2. Vérifiez les autorisations sur le périphérique correspondant. J'ai vu des gens recommander d'ajouter des règles udev pour les changer en 666 sur différents forums (Ubuntu, Arch). Cependant, je pense que c'est incorrect. Au lieu de cela, vérifiez à quel groupe appartient le périphérique et ajoutez-vous à ce groupe. Il pourrait être usb ou plugdev ou autre chose.