Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

RFID-Lesegerät als Eingabegerät - wie in Programm einbinden?

Frage Linux Linux Desktop

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

22.05.2013 um 12:09 Uhr, 5395 Aufrufe, 7 Kommentare

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
Mitglied: wiesi200
22.05.2013 um 12:51 Uhr
Hallo,

ein vernünftiges Lesegerät kann einen COM Port Simulieren und die Daten kann man dann abgreifen.
Bitte warten ..
Mitglied: hmarkus
22.05.2013 um 13:00 Uhr
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@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
Markus
Bitte warten ..
Mitglied: Pjordorf
22.05.2013 um 13:04 Uhr
Hallo,

Zitat von mabue88:
ich habe ein USB-RFID-Lesegerät
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
Bitte warten ..
Mitglied: mabue88
22.05.2013 um 22:49 Uhr
Kleiner Zwischenstand:

Das Einlesen der Eingaben des RFID-Leser (und wirklich nur dessen Eingaben) in ein C Programm funktioniert wunderbar!
Bitte warten ..
Mitglied: 16568
23.05.2013 um 09:17 Uhr
Zitat von mabue88:
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
Bitte warten ..
Mitglied: mabue88
23.05.2013 um 11:11 Uhr
RFID-Leser: Billigteil aus China (Hersteller und Typ steht nicht drauf) http://www.ebay.de/itm/New-USB-RFID-Contactless-Proximity-Smart-Card-Re ...

OS: Raspbian (auf Raspberry Pi) - Version vom 09.02.2013

Kein X-Server.


In der Software lese ich /dev/input/event0 aus und verarbeite die Events weiter.
Bitte warten ..
Mitglied: 16568
24.05.2013, aktualisiert um 12:12 Uhr
Zitat von mabue88:
Kein X-Server.

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
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Netzwerk
USB-Gerät ins Netzwerk (Domäne) einbinden (3)

Frage von griss0r zum Thema Windows Netzwerk ...

Windows 7
Tool für Clients zum Drucker einbinden (6)

Frage von DragonKill zum Thema Windows 7 ...

Exchange Server
Zweite Exchange Postfach in Outlook 2010 einbinden (2)

Frage von DieAzubinne zum Thema Exchange Server ...

Microsoft Office
32 Bit CAD Programm und Excel 64 Bit geht nicht (5)

Frage von GrueneSosseMitSpeck zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...