Lecteur de bdage 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 l'ESP32 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



ESP32 Micropython programme qui permet de lire un badge RFID 125 kHZ Grove


from machine import Pin, UART

uart = UART(1, 9600)
uart.init(9600, bits=8, parity=None, stop=1, tx=25, rx=26 )


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 uart.any()>0:

        donnee_tag = uart.readline()
        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