RFID-Lesegerät als Eingabegerät - wie in Programm einbinden?
Hallo,
ich habe ein USB-RFID-Lesegerät, das sich als Eingabegerät am OS (Linux) anmeldet (wie bei den Barcodescannern). Lege ich einen RFID-Chip auf ihn wird die ID des Chips ausgegeben (10 stellige Zahlenfolge). Hierfür werden Tastendrücke auf einer Tastatur simuliert. Auf dem Monitor kann ich nicht unterscheiden, ob die Eingabe durch die Tastatur oder dem RFID-Leser erfolgte.
Ich will die "Eingaben" des RFID-Lesers aber gezielt mit einem Programm auswerten.
Hierfür habe ich schon das Programm actkbd getestet. Damit habe ich allerdings nichts hinbekommen.
Am einfachsten wäre es meines erachtens, wenn man die Eingabe dieser virtuellen Tastatur (also des RFID-Leser) auf einen virtuellen COM-Port schicken könnte. Treiber hierfür habe ich schon gesucht, aber keine gefunden.
Im Netz habe ich auch gelesen, dass man anhand von Zeitmessungen Rückschlüsse auf das verwendete Eingabegerät ziehen kann. So eine Methode wäre für mir allerdings die allerletzte Lösung.
Hat jemand einen Tipp dazu?
Danke
mabue88
ich habe ein USB-RFID-Lesegerät, das sich als Eingabegerät am OS (Linux) anmeldet (wie bei den Barcodescannern). Lege ich einen RFID-Chip auf ihn wird die ID des Chips ausgegeben (10 stellige Zahlenfolge). Hierfür werden Tastendrücke auf einer Tastatur simuliert. Auf dem Monitor kann ich nicht unterscheiden, ob die Eingabe durch die Tastatur oder dem RFID-Leser erfolgte.
Ich will die "Eingaben" des RFID-Lesers aber gezielt mit einem Programm auswerten.
Hierfür habe ich schon das Programm actkbd getestet. Damit habe ich allerdings nichts hinbekommen.
Am einfachsten wäre es meines erachtens, wenn man die Eingabe dieser virtuellen Tastatur (also des RFID-Leser) auf einen virtuellen COM-Port schicken könnte. Treiber hierfür habe ich schon gesucht, aber keine gefunden.
Im Netz habe ich auch gelesen, dass man anhand von Zeitmessungen Rückschlüsse auf das verwendete Eingabegerät ziehen kann. So eine Methode wäre für mir allerdings die allerletzte Lösung.
Hat jemand einen Tipp dazu?
Danke
mabue88
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 206837
Url: https://administrator.de/contentid/206837
Ausgedruckt am: 26.11.2024 um 05:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
ich hab hier ein Tool namens usbhid-dump (usbhid-dump - dump USB HID device report descriptors and streams)
Vielleicht kannst Du damit was machen. Es gibt eine Manpage dazu.
Markus
ich hab hier ein Tool namens usbhid-dump (usbhid-dump - dump USB HID device report descriptors and streams)
Vielleicht kannst Du damit was machen. Es gibt eine Manpage dazu.
markus@samsung:~$ usbhid-dump --help
Usage: usbhid-dump [OPTION]...
Dump USB device HID report descriptor(s) and/or stream(s).
Options:
-h, --help output this help message and exit
-v, --version output version information and exit
-s, -a, --address=bus[:dev] limit interfaces by bus number
(1-255) and device address (1-255),
decimal; zeroes match any
-d, -m, --model=vid[:pid] limit interfaces by vendor and
product IDs (0001-ffff), hexadecimal;
zeroes match any
-i, --interface=NUMBER limit interfaces by number (0-254),
decimal; 255 matches any
-e, --entity=STRING what to dump: either "descriptor",
"stream" or "all"; value can be
abbreviated
-t, --stream-timeout=NUMBER stream interrupt transfer timeout, ms;
zero means infinity
-p, --stream-paused start with the stream dump output
paused
-f, --stream-feedback enable stream dumping feedback: for
every transfer dumped a dot is
printed to stderr
Default options: --stream-timeout=60000 --entity=descriptor
Signals:
USR1/USR2 pause/resume the stream dump output
Hallo,
Nenne bitte niemals den hersteller oder gar das Modell. das könnte es uns ja ermöglichen dir zu helfen.
Gruß,
peter
Nenne bitte niemals den hersteller oder gar das Modell. das könnte es uns ja ermöglichen dir zu helfen.
das sich als Eingabegerät am OS (Linux) anmeldet
Wirklich Anmelden? So richtig mit Benutzername und Passwort?Hierfür werden Tastendrücke auf einer Tastatur simuliert.
Wenn dein RFID Scanner eben als solches gebaut wurde ist das doch korrekt.Auf dem Monitor kann ich nicht unterscheiden, ob die Eingabe durch die Tastatur oder dem RFID-Leser erfolgte.
Glückwunsch. Dein USB RFID Scanner arbeitet also Fehlerfrei.Ich will die "Eingaben" des RFID-Lesers aber gezielt mit einem Programm auswerten.
Kann dein USB RFID Scanner das überhaupt? Hat der hersteller es ermöglicht das er mehr als nur eine Tastatur darstellen kann? Hat der Hersteller den einen Kommunikation vorgesehen?Hierfür habe ich schon das Programm actkbd getestet. Damit habe ich allerdings nichts hinbekommen.
Was ist den die Aufgabe von http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/ Das kann doch nur auf bestimmte Eingabe ein Ereigniss auslösen. Liefert dein USB RFID Scanner den solche damit es erkannt werden kann?Am einfachsten wäre es meines erachtens, wenn man die Eingabe dieser virtuellen Tastatur (also des RFID-Leser) auf einen virtuellen COM-Port schicken könnte.
Dir ist schon klar wie die Tastatur in einem Rechner arbeitet, oder?Im Netz habe ich auch gelesen, dass man anhand von Zeitmessungen Rückschlüsse auf das verwendete Eingabegerät ziehen kann.
Klar. Ein USB RFID Scanner kann dir die Zahlen schneller in den Tastaturpuffer schreiben als du diese eintippen kannst. Und die Zeit zwischen den Zeichen wird beim USB RFID Scanner immer ziemlich exakt sein (je nach genauigkeit deiner Timer) wogegen du als Mensch immer anderen Zeiten errreichen wirst. Der Mensch ist eben keine perfekte Maschine.Hat jemand einen Tipp dazu?
Einen USB RFID Scanner verwenden der auch per Software gezielt angesprochen werden kann und nicht nur ein Gerät welches eine Tastatur emuliert.Gruß,
peter
Zitat von @mabue88:
Kleiner Zwischenstand:
Das Einlesen der Eingaben des RFID-Leser (und wirklich nur dessen Eingaben) in ein C Programm funktioniert wunderbar!
Kleiner Zwischenstand:
Das Einlesen der Eingaben des RFID-Leser (und wirklich nur dessen Eingaben) in ein C Programm funktioniert wunderbar!
Wir sind stolz wie Oskar auf Dich... *seufz*
Dummerweise hast Du es bis jetzt noch nicht fertig gebracht, uns Deine Distro und Version zu nennen; ebenso, ob Du X-Server nutzt, oder was auch immer.
Lonesome Walker
Kein xinput
In der Software lese ich /dev/input/event0 aus und verarbeite die Events weiter.
Das ist dann auch so ziemlich die einzige Möglichkeit, sofern Du nicht eigene Kernelmodule bastelst
(okay, Raspbian hat auch udev, ginge auch darüber mit rules...)
Lonesome Walker