J’ai passé pas mal de temps et beaucoup demandé votre aide (plus que de raison ) il y a 5 ans pour accéder à une résidence étudiante via Badge RFID et serrure electrique ainsi qu’un lave linge connecté.
Le tout vieillit et fonctionne plutôt très bien.
J’ai une petite contrainte aujourd’hui, j’aurais besoin de copier un badge car ils ont été perdus.
J’ai retrouvé un vieil arduino UNO R3 (J’ai aussi esp32 et un Nano) et un lecteur de badge qui fonctionne avec WIEGAND
j’ai le code qui ouvre la porte en Hexadécimal il me semble (ex : 0x5D46F2)
J’ai retrouvé ces lignes de code pour lire un badge …
Wiegand est un protocole unidirectionnel du lecteur vers le contrôleur. Il n’existe aucun mécanisme dans Wiegand pour adresser un badge, envoyer des commandes ou écrire des données.
Votre code lit sans aucun doute l'ID du badge pour décider quoi autoriser. Achetez un nouveau badge, lisez son ID, modifiez le code source de votre vieux code pour utiliser le nouvel ID au lieu de 0x5D46F2, recopiez et rechargez dans votre arduino.
Ah ok il me semblait bien. Je ne peux pas accèder aux arduino qui sont en place malheureusement; je vais peut être me procurer un lecteur MFRC522 qui lui doit être bi directionnel ensuite il ne restera “plus qu’a” trouver les lignes de code.
Les systèmes Wiegand classiques utilisent des badges basse fréquence à 125 kHz qui émettent un identifiant fixe.
Le MFRC522 fonctionne uniquement en haute fréquence à 13,56 MHz avec des badges adaptés.
➜ Ces deux technologies sont physiquement différentes et incompatibles au niveau protocole...
Si vous avez codé en dur 0x5D46F2 dans l'application, vous êtes un peu coincé...
Il faut trouver un programmateur RF125 kHz spécifique pour écrire des badges RFID basse fréquence (125 kHz) qui sont vendus avec un UID reconfigurable. Il faut chercher des "cloneable badges"... à mon avis ce n'est pas si simple à trouver...
pourquoi ?
(et il faudrait changer le programme pour que vous ayez un badge maître qui puisse créer des nouveaux badges en enregistrant les nouveaux IDs...)
Le NFC fonctionne à 13,56 MHz - ça n'a rien à voir avec le Wiegand...
si je me souviens bien à l'époque on avait parlé d'une interface web qui permettait de créer des cartes avec différents droits. Vous n'aviez pas fait cela ?
Merci pour ces précisions car finalement je ne comprends pas bien les différences et les protocoles car j’utilise des Badges en format carte bancaire avec un MRFR522 donc en 13.56mhz qui sont également en Hex dans mon programme; et des badges avec les lecteurs Wiegand en 125 hz pour ouvrir les serrures également en Hex … ?
Vous avez une très bonne mémoire effectivement pour le lave linge je peux faire un changement de badge via mon interface Web pour mémoire :
// Changer un Badge
server.on("/cdc", HTTP_GET, [] (AsyncWebServerRequest * request) {
int studioNumber = request->arg("Id").toInt();
Serial.println(studioNumber );
// Attente du passage du badge (affiche des . pour indiquer)
while ( ! mfrc522.PICC_IsNewCardPresent()) {
Serial.print(".");
yield();
}
// Lecture du badge (affiche des + pendant la lecture)
while ( ! mfrc522.PICC_ReadCardSerial()) {
Serial.print("+");
yield();
}
Serial.print("Card UID:");
for (byte i = 0; i < 4; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
Utilisateur[studioNumber].uID = *(uint32_t *)mfrc522.uid.uidByte;
}
pageStudio(studioNumber);
request->send(SPIFFS, "/studio.htm");
});
cela permet d’affecter un nouveau badge à un compte; ce qui est très pratique mais je n’ai pas d’interface web ni de connexion avec les serrures.
C’est curieux les cordonniers nous dupliquent les badges en 2 minutes peu importe le format me demande quel est leur logiciel
Deux badges peuvent avoir exactement le même format physique tout en étant totalement incompatibles sur le plan électronique et protocolaire.
Un badge 13,56 MHz utilisé avec un MFRC522 fonctionne par couplage inductif haute fréquence, avec une bobine accordée sur 13,56 MHz et une puce conforme aux normes ISO 14443 ou ISO 15693. Sur ces puces on peut lire leur identifiant mais aussi lire ou écrire des données.
Un badge 125 kHz utilisé avec un lecteur Wiegand fonctionne par couplage inductif basse fréquence, avec une bobine accordée autour de 125 kHz et une puce très simple qui ne fait que moduler (émettre) un identifiant fixe.
Dans les deux cas, la carte est alimentée sans contact par le champ électromagnétique du lecteur grâce à une bobine en résonance, mais la fréquence, la modulation, le protocole et le niveau de complexité sont totalement différents.
Quand la duplication se fait en deux minutes, cela signifie presque toujours que le badge d’origine utilise un protocole ancien ou peu sécurisé... Ils ont aussi des duplicateurs multi‑technologies qui intègrent plusieurs lecteurs et plusieurs protocoles dans un même appareil.
il faudrait savoir quel type exact de badge vous utilisez pour voir quel appareil permettrait de refaire une carte.
il y a des trucs comme le Proxmark 3 RDV4.01 — Lab401 mais c'est pas donné et je ne sais même pas si ça correspond à votre besoin.
Intéressant! Cela voudrait dire que votre lecteur n’est pas en 125 kHz
Ces badges 13,56 MHz MIFARE Classic 1K peuvent être compatibles avec des lecteurs RFID prenant en charge MIFARE et sortant en protocole Wiegand. Vous avez un lien sur le lecteur ?
Si votre lot est vendu explicitement avec UID modifiable (comme semble le dire la mauvaise traduction en français de la description), alors il est possible de modifier l’UID, mais il faut utiliser un appareil capable d’écrire ce bloc.
Si c’est une carte MIFARE Classic normale sans cette caractéristique, alors l’UID ne pourra pas être modifié.
Alors ca y est, j’ai remonté un Uno avec un MFRC522 et un nano avec un lecteur WIEGAND.
Après ce multiples essais j’ai réussi a copier le code sur un badge vierge mais chose curieuse que je n’explique pas, je me suis rendu compte que le MRFC et le Wiegand lisent le code différement.
J’ai du adapter l’écriture du code en MFRC522 pour qu’elle soit lu et reconnu pour la WIEGAND.
Exemple :
Nous dirons que le code reconnu par ma serrure via le WIEGAND est 0*C8F117