python :Lesen von einem USB-HID-Gerät
Ich habe ein USB-RFID-Gerät, das auf /dev/hidraw
für meine seriellen Geräte, die Sie erscheinen auf /dev/ttyUSB* habe ich verwendet, pyserial und es funktioniert wie Charme, aber hier konnte ich nicht Lesen, es mit cat /dev/hidraw0
root-Rechte benötigt
plus brauche ich zum Lesen einer Zeile und nicht zu halten auf hören
Ich verwendet evdev-Bibliothek, aber mein Gerät scheint nicht bei allen :
import evdev
devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()]
for device in devices:
print(device.fn, device.name, device.phys)
So gibt es eine richtige Weg, um aus dem Gerät gelesen programmgesteuert ?
- Deine Frage ist schwer zu Lesen. Haben Sie einen Blick auf pyusb (natürlich müssen Sie noch die Zugriffsrechte auf das Gerät).
- Wenn
cat /dev/hidraw0
können es nicht sehen, es klingt nicht gut: haben Sie möglicherweise ein defektes Gerät. Zeigt es, wennlsusb
im terminal? Überprüfen Sie auchdmesg | tail
nachdem Sie es anschließen. Beachten Sie, dass, auch wenn lsusb sehen können, dass es nicht unbedingt bedeuten, dass Sie tatsächlich tun können, etwas sinnvolles mit dem Gerät. Aber wenn lsusb nicht sehen kann, ist es wahrscheinlich tot. - ich kann Lesen, mit der Katze funktionieren, aber es braucht root-Berechtigung gibt es eine Möglichkeit, zu Lesen als normaler Benutzer ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch Standard evdev.list_devices() schauen nur auf /dev/input
Und Sie benötigen Berechtigungen zum arbeiten mit dem Gerät. Sie können fügen Sie Ihren Benutzer zu der Gruppe, die Ihr Gerät besitzen (siehe $ ls -l /dev/hidraw0 )
Dann müssen Sie zu hören Sie Ihre Gerät in der Schleife, die