RFID TAGS lassen sich nicht auslesen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Foren Mitglieder,

    ich hänge hier gerade etwas in den Seilen und komme nicht weiter. Muss dazu schreiben das ich keine wirkliche Ahnung von python habe und hoffe das ihr mir hier etwas helfen könnt.
    Kurz zum Thema:
    Ich möchte einen Pi als Inventur System im RFID Bereich nutzen der nach automatischen Tasks Scans durchführt und mir Veränderungen als .txt per mail oder IoT versendet.

    Ich nutze ein R9200 San Ray RFID Leser mit externer Antenne.

    Das Modul ist so angeschlossen am Pi:

    TX->RX
    RX->TX
    3.3V Power
    Ground

    Das Modul erhält Strom und der UART Port ist in der Raspberry Konfig freigeschaltet.

    Nun zu meinem Problem...

    Egal ob ich dieses python script:

    import serial #import serial module

    def read_rfid ():
    ser = serial.Serial ("/dev/ttyAMA0") #Open named port
    ser.baudrate = 115200 #Set baud rate to 9600
    data = ser.read(12) #Read 12 characters from serial port to data
    ser.close () #Close port
    return data #Return data

    id = read_rfid () #Function call
    print id #Print RFID


    oder dieses nutze:

    import serial
    import sys
    import time
    from operator import xor
    # UART
    ID = ""
    Zeichen = 0
    Checksumme = 0
    Tag = 0
    # Flags
    Startflag = "\x02"
    Endflag = "\x03"
    # Open UART (close first just to make sure)
    UART = serial.Serial("/dev/ttyAMA0", 115200)
    UART.close()
    UART.open()
    while True:
    # Reset vars
    Checksumme = 0
    Checksumme_Tag = 0
    ID = ""
    # Read chars
    Zeichen = UART.read()
    # Start of transmission signaled?
    if Zeichen == Startflag:
    # Build ID
    for Counter in range(13):
    Zeichen = UART.read()
    ID = ID + str(Zeichen)
    # Remove endflag from string
    ID = ID.replace(Endflag, "" )
    # Calc checksum
    for I in range(0, 9, 2):
    Checksumme = Checksumme ^ (((int(ID[I], 16)) << 4) + int(ID[I+1], 16))
    Checksumme = hex(Checksumme)
    # Find tag
    Tag = ((int(ID[1], 16)) << 8) + ((int(ID[2], 16)) << 4) + ((int(ID[3], 16)) << 0)
    Tag = hex(Tag)
    # Print data
    print "------------------------------------------"
    print "Data: ", ID
    print "Tag: ", Tag
    print "ID: ", ID[4:10], " - ", int(ID[4:10], 16)
    print "Checksum: ", Checksumme
    print "------------------------------------------"

    Ich erhalte einfach keine Ausgabe der TAG ID. Leider erhalte ich auch keine Fehlermeldung.


    Danke


  • Du kannst versuchen, mittels minicom nachzusehen, ob überhaupt etwas ankommt.

    Öffne so minicom:

    sudo minicom -b 115200 -D /dev/ttyAMA0 -o

    Unten in der Leiste bekomme ich "Offline" angezeigt

    Möchte ich mein Script mit STRG-A G ausführen bekomme ich als Meldung: nicht öffnen "script name"

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!