15
Exercice 8 - Écrire des données dans un transpondeur Mifare
15.1
Introduction
Jusqu'à présent, les exercices sur le mode Mifare ont examiné les problèmes liés à la détection, à l'identification et à la lecture des données d'un transpondeur
Mifare par le module de lecture RFID. L'étape suivante consiste à modifier ce programme pour écrire des blocs de données dans la mémoire du transpondeur. Cela
permettra de stocker des informations dans la mémoire d'un transpondeur et de les modifier si nécessaire.
Comme pour le transpondeur ICODE de l'exercice 4, le processus d'écriture d'un bloc de données dans un transpondeur est l'inverse du processus de lecture.
Après avoir détecté et identifié un transpondeur, les 4 octets de données doivent être écrits dans une mémoire tampon du module de lecture, créée par le
composant RFID de Flowcode. Le contenu de la mémoire tampon peut ensuite être écrit dans le transpondeur, avec l'UID du transpondeur - obtenu au cours du
processus d'identification.
La fonction Flowcode WriteRFIDBuffer copie les données, un octet à la fois, dans une mémoire tampon. La fonction WriteRFIDBlock est ensuite utilisée pour copier
le contenu de la mémoire tampon à un emplacement particulier de la mémoire du transpondeur.
15.2
Objectif
Écrire un programme Flowcode qui modifiera le programme précédent en y ajoutant la possibilité d'écrire des données.
du clavier vers un transpondeur Mifare.
15.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
•
un clavier E-blocks2 (BL0138)
•
un LCD E-blocks2 (BL0169)
•
un transpondeur RFID Mifare (plusieurs si possible - notez les UID).
15.4
Le programme Flowcode en détail sur
L'aperçu du programme est exactement le même que dans l'exercice 4, pour le transpondeur ICODE. Il s'agit de :
•
détecter la présence d'un transpondeur Mifare ;
•
lire l'UID du transpondeur ;
•
lire les données du bloc 5 de la mémoire du transpondeur ;
•
afficher les 4 octets de données sur l'écran LCD ;
•
vérifie si une touche du clavier est enfoncée ;
•
écrire la valeur ASCII de la touche pressée dans la mémoire du transpondeur, à l'aide des fonctions WriteRFIDBuffer et WriteRFIDBlock ;
•
vérifier que les nouvelles données ont été transférées avec succès.
44