RFID Leser

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Hallo,

    ich habe ein RFID Lesegerät, welches am USB-Port angeschlossen mir die TAG-ID ausgibt, sofern ich einen Editor offen habe.

    Nun möchte ich die gelesene ID in meinem VB-Projekt nutzen. Aber unsere Tags haben z.T. 8 bzw. 9 Stellen. Da die TAG-ID Zeichen für Zeichen in der Textbox eingelesen wird, komme ich mit der

    Quellcode

    1. tbRfidTag.Text.Length
    Abfrage nicht weiter, da ja der 9stellige Tag 8 Stellen hat, und somit meine If-Abfrage nach der 8. Stelle True wird.

    Wie kann ich warten, bis auch die evtl. 9. Stelle ausgelesen wurde? Einen Timer würde ich ungern dafür nutzen wollen. Vielleicht gibt es ja so etwas wie "End of File" für das Einlesen?

    Ich hoffe man versteht halbwegs mein Problem? Es ist eben, als würde man in 1 Sekunde entweder 8 oder 9 Zahlen in einem Textfeld eingeben. Und ich muss warten, bis die Zahl komplett ist.
    Wenn die Zeit kommt in der man könnte, ist die vorrüber in der man kann.
    Habe leider selber keinen RFID-Leser, stelle mir aber das wie bei einem Barcode-Scanner vor: Chip an Scanner halten und die Daten werden übertragen. Wenn Du Notepad offen hast und den Chip auslesen lässt, was kommt dann dabei raus? Wird dann quasi nur eine Nummer bei Notepad eingetragen/eingetippt? Oder zum Abschluss auch ein Enter/NextLine-Zeichen?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Im Notepad ++ macht er noch ein VBCRLF. Also nach jedem Zeichensatz eine neue Zeile. Aber du hast Recht, ist das Gleiche wie bei einem Scanner. Einfach ein ASCII String, der da kommt. Es ist aber eben das Problem, das dieser String aus Zahlen nicht in einem Rutsch kommt sondern Zecihen für Zeichen. Und dann die unterschiedlichen Längen von 8 bzw. 9 Zeichen.
    Wenn die Zeit kommt in der man könnte, ist die vorrüber in der man kann.
    Ich seh jetzt grad das Problem nicht. Dann reagier doch entweder im TextBox.KeyDown-EventHandler (EH) auf die Pseudo-Entereingabe oder im TextChanged-EH auf das vbCrLf, wenn die "Auswertung" gestartet werden soll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Starkstroemer schrieb:

    am USB-Port angeschlossen
    Mit was für einer Software greifst Du darauf zu?
    ====
    Es gibt mehrere Zeilenende-Zeichen in der PC-Welt: &H0D, &H0A, &H0D0A.
    Welche Bytes kommen denn da an? Ich denke mal, dass die erst von Dir in einen String konvertiert werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vor ein paar Tagen habe ich auch so ein RFID USB Gerät bekommen.
    Mit dem TextBox.KeyDown-EventHandler bekomme ich den Wert. Solange der Cursor im Textfeld ist.
    Gibt es eine andere Möglichkeit den RFID auszulesen?
    Bei der Geräte Auflistung wurde der RFID als Tastatur abgelegt. Ich vermute mit HID müsste das gehen.
    Aber wie?

    isensa schrieb:

    RFID USB Gerät
    Was macht das Ding genau?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @isensa Gibt es zu diesem Gerät einen Treiber (müsstest Du bei der Firma bzw. deren Homapage erfragen), der das USB-Handling auf ein SerialPort umleitet?
    So was hab ich mit mehreren verschiedenen Barcodescannern gemacht und das funktioniert wunderbar.
    Dann hast Du Dein Fenster mit nem SerialPort drin und in dessen DataReceived-Event bekommst Du die Daten, ohne Dich um sonst was kümmern zu müssen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    isensa schrieb:

    den Treiber
    Da solltest Du mal den Service / Support dieser Firma in Anspruch nehmen.
    Ich persönlich habe so nur gute Erfahrungen gesammelt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!