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
whileTrue: # 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)