13.
Exercice 6 - Obtention de l'UID à partir d'un transpondeur Mifare Classic
13.1
Introduction
La valeur de l'octet d'état du module de lecture renvoyé lorsqu'un transpondeur Mifare Classic est détecté dépend de la taille de la mémoire de données du
transpondeur disponible.
Mifare 1K= 134 (Bit 4 de l'octet de statut= 0)
Mifare 4K= 150 (Bit 4 de l'octet de statut= 1)
Si l'une de ces valeurs est renvoyée dans l'octet de statut, un transpondeur est disponible et l'UID peut être lu. Il n'est pas nécessaire d'inclure l'UID dans les
commandes de lecture/écriture de données car le mode Mifare ne peut pas gérer plus d'un transpondeur à la fois.
13.2
Objectif
L'objectif de cet exercice est d'écrire un programme Flowcode qui affichera, sur l'écran LCD, l'UID de 8 octets de n'importe quel transpondeur Mifare en
communication avec le module de lecture RFID.
13.3
Exigences
Cet exercice nécessite les éléments suivants (voir section 5.2 informations de configuration) :
•
un microcontrôleur, soit le PIC BL0011, soit l'Arduino Uno BL0055
•
une copie de Flowcode, version 8 ou ultérieure, fonctionnant sur le PC
•
un E-blocks2 RFID (BL0197) avec un module de lecture RWD-MICODE
•
une LED E-blocks2 (BL0167)
•
un LCD E-blocks2 (BL0169)
un transpondeur RFID Mifare (plusieurs si possible - notez les UID).
13.4
Le programme Flowcode en détail sur
Le programme comprendra :
•
accéder à l'octet d'état du module de lecture à l'aide de la fonction Initialiser ;
•
vérifier qu'un transpondeur a été détecté et qu'il n'y a pas d'erreurs ;
•
afficher chaque octet de l'UID à 4 octets du transpondeur, à tour de rôle, sur l'écran LCD, à l'aide des fonctions GetRFIDUID et ReadRFIDUID, chaque fois
qu'un transpondeur a été détecté ;
revenir en arrière et relire l'octet d'état à plusieurs reprises.
13.4.1
Fonction GetRFIDUID
Cette fonction permet au module de lecture de renvoyer sept octets de données UID à partir d'un transpondeur. Si aucun transpondeur n'est présent ou s'il y a une
erreur, l'octet d'état l'indiquera et aucune donnée ne sera renvoyée. Les sept octets UID sont nécessaires pour assurer la compatibilité avec les transpondeurs
Ultralight. Les transpondeurs classiques n'utilisent que quatre octets, de sorte que le module de lecture met les trois octets restants à 0.
35