Forum: HF, Funk und Felder Kathrein RFID-Reader RRUI4: Probleme mit Zugriff per API


von Andreas S. (andidog)


Lesenswert?

Hallo zusammen,

habe hier einen Kathrein RFID-Reader "RRUI4-ETH-E4" (USB und LAN 
Anschluss) rumliegen, den ich gerne zum Testen von RFID-Lesen/Schreiben 
verwenden würde.

Ich habe versucht, den Reader mit einer API (ReaderDll.dll) von 2009 
anzusprechen, bekomme aber nach dem fehlerfreien Absenden von Kommandos 
per USB keine Antwort (über Callbackfunktionen, die man der DLL 
übergibt). Das macht Sinn, weil auch die mitgelieferte 2009er Software 
nicht auf das Gerät zugreifen kann, weil wohl die Firmware zu alt ist.

Die 2008er mitgelieferte Software funktioniert, aber ich kriege es nicht 
hin, die passende API-DLL-Datei zu verwenden. Bekomme einen "internal 
error" zurückgeliefert (Code DLLIE_COMMUNICATIONERROR), nachdem ich 
verbunden bin aber bevor ich überhaupt ein Kommando absetze. Hier 
verbinde ich mich aber per LAN, weil für USB eine zusätzliche Datei 
KBUSB.dll eingebunden werden muss, ich aber nicht weiß wie das geht. Mir 
fehlt leider jeglicher Beispielcode. Die mitgelieferte Software 
verwendet exakt dieselbe DLL-Datei (klappt per LAN und USB), d.h. ich 
müsste es auch eigentlich irgendwie hinkriegen, selbst mit dieser 
DLL-Datei auf den Reader zugreifen zu können.

Nun die Fragen: Kennt jemand Beispiele, wie man den Reader per USB 
anspricht? Oder noch besser: Woher bekomme ich eine aktuellere Firmware 
(habe v1.18.00), damit ich mit der 2009er API zugreifen kann (Vorteil 
für mich, da es dafür eine .NET-Variante gibt)?

Danke schonmal!

von Franki C. (Gast)


Lesenswert?

Hi!

Also ich würde Dir empfehlen den Ethernet-Anschluss zu nutzen, ich 
persönlich habe auf die dll verzichtet und baue eine Verbindung über 
Sockets zu der IP-Adresse auf, dann schicke ich die Kommandos raus, wie 
z.B. SyncGetEPCs um den EPC zu lesen und SyncReadDataSpecific um die 
TID, also die eindeutige Id, zu lesen. Die genauen Pakete hatte ich mit 
dem Kathrein Tool und Wireshark gesnifft.

von Andreas S. (andidog)


Angehängte Dateien:

Lesenswert?

Super, hat funktioniert! Habe jetzt nur Lesen und Schreiben von EPCs per 
Wireshark gesnifft, aber für kleine Tests reicht mir das aus. Danke für 
den Hinweis - übrigens unterscheidet sich das Protokoll stark zwischen 
der 2008er und 2009er Firmware (für das 2009er Protokoll habe ich 
nämlich eine Dokumentation).

Als Hinweis: Jedes gesendete Paket beginnt mit aabb und endet mit aacc 
(Hex), als Filter für Wireshark empfiehlt sich "ip.dst == 
192.168.200.200 && tcp.len > 0" (IP-Adresse meines Readers, nur 
abgesetzte Kommandos sniffen). Wenn man dann das Kommando in ReaderStart 
absetzt und das gewünschte Paket gesnifft hat, den Filter abschalten und 
die Daten der Antwort anschauen.

Habe ein Python-Script angehängt, das ich zum Lesen/Schreiben von Tags 
geschrieben habe. Funktioniert mit Firmware v1.18.00 - vielleicht 
hilft's ja jemandem anderen noch :)

von Andreas S. (andidog)


Lesenswert?

Hinweis zum Script: Man muss noch den Fall berücksichtigen, falls ein 
EPC 0xaacc enthält (= Endmarker für ein Paket). Kann also so nicht 
direkt verwendet werden!

von Andreas S. (andidog)


Angehängte Dateien:

Lesenswert?

Hier noch die .NET-Variante, die als Library aufgebaut ist. Obigen 
Hinweis habe ich eingearbeitet.

von Andreas S. (andidog)


Angehängte Dateien:

Lesenswert?

Korrektur: Habe den EPC in falscher Byte-Reihenfolge geschrieben. Ist 
jetzt korrigiert (siehe Anhang).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.