Lecteur RFID 125 kHz

Badge ou carte RFID 

Permet de lire les informations contenues sur un tag RFID uem4100. 


Alimentation : 5 V

Fréquence : 125 kHz
Portée de détection : 7 cm maxi
Sortie configurable par cavalier UART ou Wiegand
UART : TTL, 9600 bit/s, 8 bits de données et 1 bit de stop
Wiegand : 26 bits (24 de données et 2 de vérification)



Protocole de communication en UART

Le lecteur RFID communique avec le Raspberry Pi Pico via une liaison série avec le protocole suivant pour envoyer un octet : 9600 bit/s, 8 bits de donnée, 1 bit de stop, 1 bit de start et pas de bit de contrôle.


Lors du passage du badge devant le lecteur une trame de 14 octets est transmise.

0x02 - 1 byte start flag 

10 ASCII Data Characters – Card number info 

Checksum - 2 bytes 

0x03 - 1 byte end flag


Raspberry Pi Pico MicroPython RFID 125 kHz Grove

Programme qui permet de lire un badge RFID 125 kHz 


from machine import Pin, UART

uart0 = UART(0, baudrate=9600)                                        # Création d'un objet uart0
uart0.init(9600, bits=8, parity=None, stop=1, tx=Pin(0), rx=Pin(1) )  # paramètres de la liaison série


while True:
    # Lecture d'un tag RFID. Les données arrivent sur le port série et sont stockées dans un tableau d'octets
    if uart0.any()>0:
        donnee_tag = uart0.read()
        print("Donnees tag RFID :            ", donnee_tag)

        # On isole et on décode les 5 octets de poids faible du champ "10 ASCII Data Characters" 
        rfid_hexa = ""
        for i in range(5, 11):
            rfid_hexa += chr(donnee_tag[i])
        print("Identifiant RFID en hexa :    ",  rfid_hexa)

        # L'identifiant RFID indiqué sur le tag est obtenu par conversion hexadecimal décimale 
        rfid = str(int(rfid_hexa, 16))

        while len(rfid)<10:
            rfid = "0" + rfid
        print("Identifiant RFID en decimal : ", rfid)    



Exemple d'utilisation



































Créé avec HelpNDoc Personal Edition: Produire des livres EPub gratuitement