RFID et sauvegarde de données ?

Bonjour a tous,
Dans le cadre d'une sorte de jeux de rôle que j'ai créé, pour l’évolution des personnages, j'ai eu une idée folle, c'est de créer des cartes avec les stats de ces personnages inscrite sur la carte en RFID, (un peut comme les amybot je pense) mais avec la possibilité pour le maitre je jeu, en debut de partie de charger les stats du joueur dans une variable de mon programme de déroulement de jeu (sous arduino) pour les utilisé dans les phases d'action puis a la fin du jeu, le maitre de jeu a la possibilité de modifier es stat.
Voila pou la mise en situation, plus concrètement, j'aimerais stocker des données sur une carte RFID, les récupérer dans des variables, les modifier sur la carte.
Quelqu'un saurais faire cela ? car tous les tuto que j'ai trouver c'est lire l'ID de la carte

Merci par avance des toutes réponses pertinentes.

Bonjour

En arrivant sur un forum il est important de s'informer sur ses Règles de Fonctionnement et de s'y conformer

Ce message n'est pas à sa place, demandes au modérateur (lien Report to Moderator) le déplacement à l'endroit approprié.

Nous y voilà !!

l'écriture sur RFID (en particulier dans l'EEPROM des tags MIFARE) a été traitée sur ce forum

Son moteur de recherche, cantonné au forum français, permettra de retrouver les échanges
Cliquer sur la Loupe en haut à droite, puis sélectionner Cétégorie : International et Forum Board : Français

Vraiment j'ai revu la recherche avec d'autre mots et peut être que je les choisis mal mais je ne trouve pas d'explication sur ce que je recherche, il y a un exemple dans le programme Arduino que j’essaie de décortiqué mais c'est pas en bonne voix.
Sur les différents post que je trouve, il n'y a pas d'explication plus que cela.
Au mieux des programmes avec des tableaux hexadécimaux, ou des morceaux de programme "à tester", rien de vraiment concret qui me permette de comprendre le fonctionnement.
Apparemment il y a une question réécriture dans des adresses mais je ne trouve pas comment écrire quoi dans ces fameuses adresse.
Souvent la réponse est : "Pkoi écrire sur la carte, tu n'a cas utiliser UID et faire en sorte que ton programme réagisse en fonction de la carte présenté"

tu as vu ce fil de discussion ? : Arduino Forum

Oui c'est celui ci qui m'a fait voir qu'il y avais des histoires de tableaux hexa, il y a des exemples à tester mais je ne comprend pas les codes (outre le fait que les commentaires soit en anglais).
De ce que j'ai compris on ne peut stocker que des valeurs hexa (embêtant mais je peut faire avec).
Mais je ne vois pas comment je peut écrire ou lire une valeur à un endroit particulier.
Peut être que certain me diront "Ben t'a qu'a faire comme avec n'importe quel EPROM".
Mais non je ne sait pas ecrire des données sur un EPROM.

Je comprend bien qu'entre vous, vous vous comprenez mais quand on part de Zéro, ce qui vous parait logique ne nous est pas forcement accessible sans explication (en gros je sait a quoi ressemble un EPROM vu de l’extérieur et un vieux souvenir d'école me dit qu'on peut l'effacer avec des ultraviolet.

Bonjour,

EPROM → effaçable par ultraviolet
EEPROM → effaçable électriquement (c’est ce qui est dans les processeurs arduino).

Maintenant comme les EPROMs sont de moins en moins utilisées, quelquefois on trouve (abusivement) le terme EPROM pour désigner des EEPROM.

Je ne disait cela que pour illustré le fait que je n’avais pas de connaissance, ce qui le prouve bien mais malheureusement éloigne du sujet de base.
Petit rappel
Je veux lire et écrire des donnés sur une carte RFID
Je connais un peut la programmation et l’electronique est très loin devant moi, donc je ne connais pas tous le terme technique.
J’ai compris des différents topics que j’ai lu que je ne pouvais pas stocker de texte mais que de l’hexa. (VRAIS ou FAUX ?)
Je ne sait pas comment écrire et retrouver une valeur dans L’ “EEPROM” de la carte via Arduino.

Les connaissances ça s'acquiert... il n'y a pas de magie, il faut comprendre comment ces cartes fonctionnent pour pouvoir stocker des données dessus

voici un bon document à lire (en anglais). ça vous explique la structure des cartes Mifare Classic 1k (les plus fréquentes), à quoi servent les champs et comment la mémoire est organisée en secteurs / blocs de 16 octets. Chaque secteur est protégé par une clé (A ou B) qu'il faut connaître pour pouvoir accéder aux données du secteur. Les octets en bleu sont disponibles pour des données utilisateur.

L'exemple ReadAndWrite.ino proposé par la bibliothèque ne fait que mettre le principe d'écriture de blocks en oeuvre.

  • On commence par s'authentifier avec une des clés pour avoir accès au bloc en lecture ou écriture avec mfrc522.PCD_Authenticate()
  • on effectue un MIFARE_Read() ou MIFARE_Write().
  • Dans le cas du write ça va écrire 16 octets dans le secteur / bloc choisi

le challenge c'est que la mémoire n'est pas contigue et que si les données que vous voulez stocker sont sur plus de 16 octets, il faudra les répartir dans les différents secteurs / blocs en faisant autant de requêtes que nécessaire.

Ce n'est pas insurmontable, vous pouvez avoir une structure qui représente les données d'une carte et lors de la lecture ou écriture, vous avez une fonction qui va parcourir les octets associés à la structure par groupe de 16 pour les lire depuis / écrire vers la carte Mifare.

Ce que contiennent ces octets ce n'est pas important, ça peut être des valeurs, du texte ASCII etc.. quand vous accèderez à la structure dans le code tout sera remis en ordre.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.