RFID RC522 - Probleme de tags

Bonjour tout le monde,

J’ai construits un lecteur RFID autour du module RC522. J’utilise la librairie MFRC522.

Tout fonctionne parfaitement avec les Tags fournis avec le module mais ca accroche avec d’autres deja en ma possession ; le souci c’est que j’ai une centaine de ces derniers et que j’aimerai bien pouvoir les utiliser :-/ ; surtout que ces tags semblent partager la meme puce ( Fudan FM11RF08 ).

Je vous ai attache une photo reprenant les caracteristiques des deux differents tags. Si une bonne ame pouvait eclaircir ma lanterne …

Merci d’avance

mytrax:
Bonjour tout le monde,

J’ai construits un lecteur RFID autour du module RC522. J’utilise la librairie MFRC522.

Tout fonctionne parfaitement avec les Tags fournis avec le module mais ca accroche avec d’autres deja en ma possession ; le souci c’est que j’ai une centaine de ces derniers et que j’aimerai bien pouvoir les utiliser :-/ ; surtout que ces tags semblent partager la meme puce ( Fudan FM11RF08 ).

bonjour
qu’est ce qu tu entend exactement par “ça accroche” ?
avec le lecteur et la lib tu recupere l’UID de tes tags ?
ça donne quoi en utilisant ce programme

/*
 * Dump serial number of a MIFARE RFID card using a RFID-RC522 reader
 * Uses MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT.
 * https://github.com/miguelbalboa/rfid
 -----------------------------------------------------------------------------
 * Pin layout should be as follows:
 * Signal     Pin              Pin               Pin
 *            Arduino Uno      Arduino Mega      MFRC522 board
 * ------------------------------------------------------------
 * Reset      9                5                 RST
 * SPI SS     10               53                SDA
 * SPI MOSI   11               52                MOSI
 * SPI MISO   12               51                MISO
 * SPI SCK    13               50                SCK
 *
 * Hardware required:
 * Arduino
 * PCD (Proximity Coupling Device): NXP MFRC522 Contactless Reader IC
 * PICC (Proximity Integrated Circuit Card): A card or tag using the ISO 14443A interface, eg Mifare or NTAG203.
 * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com.
 */

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10    //Arduino Uno
#define RST_PIN 9
byte tagok = 0;

unsigned long sernum[11] = {0, 679864085, 3478850816, 1159921925, 3278950471, 0, 0, 0, 0,0, 1149839889}; //poste 0 N° carte lue, poste 1 à 9 pour UID carte a tester, poste 10 carte master

MFRC522 mfrc522(SS_PIN, RST_PIN);        // Create MFRC522 instance.
MFRC522::MIFARE_Key key;
int led = 8;
void setup() {
  pinMode(led, OUTPUT);
  Serial.begin(9600);        // Initialize serial communications with the PC
  SPI.begin();                // Init SPI bus
  mfrc522.PCD_Init();        // Init MFRC522 card
Serial.println("SERIAL OK ");
}

void loop() {

  digitalWrite(led, LOW);
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }

  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial())    return;

  Serial.print("Card UID:");    //Dump UID
  for (byte i = 0; i < 4; i++) {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
  }

  sernum[0] = *((unsigned long *)mfrc522.uid.uidByte); //recup num serie lu long unsigned

  Serial.print(" ");
  Serial.print(sernum[0]);
  Serial.print(" ");
  Serial.print(sernum[0], HEX);
  Serial.print(" ");
  tagok = 0;
  for  (byte i = 1; i < 10; i++) {
    if (sernum[0] == sernum[i]) tagok = 1; // carte reconnue dans la liste

  }
  if (sernum[0] == sernum[10]) tagok = 255; // carte master reconnue

  if (tagok == 0) { // faire si carte inconnue
    Serial.print("TAG INCONNU");
  }
  if (tagok >0) //faire si carte reconnue
  {
    digitalWrite(led, HIGH);
    Serial.print("TAG OK ");
    if (sernum[0] == sernum[1]) Serial.print("Badge STOCK     " ); 
    if (sernum[0] == sernum[2]) Serial.print("Badge LABO      " ); 
    if (sernum[0] == sernum[3]) Serial.print("Bramble card OK " ); 
    if (sernum[0] == sernum[4]) Serial.print("Badge ANECHO    " ); 
    if (sernum[0] == sernum[10]) Serial.print("Badge MASTER    " ); 
    delay(50);
    digitalWrite(led, LOW);
  }

  if (tagok == 255) //faire si carte master reconnue
  {

    Serial.print("CARTE MASTER RECONNUE");

  }


Serial.println();

mfrc522.PICC_HaltA(); // Halt PICC

}

bonjour artouste. en fait le tag ne passe meme pas la commande mfrc522.PICC_IsNewCardPresent() ...

mytrax:
bonjour artouste. en fait le tag ne passe meme pas la commande mfrc522.PICC_IsNewCardPresent() …

le module est prevu seulement pour les transpondeurs aux normes ISO/IEC 14443 A/MIFARE
Il ne gere pas tout ce qui est en 13.56

tu es sur que tes transpondeurs sont bien “compatibles” ?
(par exemple le module ne detecte pas les “pass navigo” , “carte velib” )

Voici les tags en question :

S50-RFID-13-56-Mhz-IC-Tag-Token-Key-Ring-IC-cards

mytrax:
Voici les tags en question :

S50-RFID-13-56-Mhz-IC-Tag-Token-Key-Ring-IC-cards

ouais, pas de norme ni de protocole evoqué

as tu vu le fichier que j'ai attache au post ? j'ai scanne les deux tags via une apps pour smartphone.
Sur la gauche, les tags qui ne fonctionnent pas et sur la droite un tag livre avec le module.

Ce qui me trouble c'est que les deux tags utilisent la meme puce / meme norme. Concernant le protocole je ne comprends pas tres bien les differences ; c'est a ce niveau la qu'il me faudrait quelques explications.

mytrax:
as tu vu le fichier que j'ai attache au post ? j'ai scanne les deux tags via une apps pour smartphone.
Sur la gauche, les tags qui ne fonctionnent pas et sur la droite un tag livre avec le module.

Ce qui me trouble c'est que les deux tags utilisent la meme puce / meme norme. Concernant le protocole je ne comprends pas tres bien les differences ; c'est a ce niveau la qu'il me faudrait quelques explications.

tu remarquera que l'ATS ne renvoie qu'une reponse B2 suivie de 0
Il faudrait lire un de tes tag avec un lecteur multiprotocole pour faire des comparaisons, mais en l'etat il n'est à priori pas compatible avec le module basique RC522