Lecture d’une carte NFC Mifare avec NXP Reader Library

J’essaie de lire le contenu d’une carte Mifare Ultralight à l’aide de la bibliothèque de lecteurs NFC.

Je suis totalement nouveau avec NFC et j’utilise ce référentiel github pour commencer.

Le code de ce référentiel permet de détecter le type de carte détecté (Mifare, Mifare ultralight …) et de lire l’UID de la carte. J’ai ajouté ce code pour lire le contenu d’une carte Mifare ultralight:

uint8_t bBufferReader[96]; memset(bBufferReader, '\0', 0x60); PH_CHECK_SUCCESS_FCT(status, phalMful_Read(&alMful, 4, bBufferReader)); int i; for(i = 0; i < 96; i++){ printf("%02X", bBufferReader[i]); } 

J’ai une carte qui contient le texte “Hello world” et quand je le lis, le morceau de code ci-dessus affiche les octets suivants:

 0103A010440312D1010E5402667248650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 

Donc, je lis des extraits de ma carte, mais il n’ya aucune trace de texte “Hello world”.

Probablement manquer quelque chose (pourrait être un gros quelque chose ou, espérons-le, un petit quelque chose). Toute aide est la bienvenue !

modifier

Alors j’ai fait de bons progrès. Mifare ultralight contient 16 pages de 4 octets, 0 à 3 pour un usage interne (numéro de série, verrou, etc.) et 4 à 15 pour des données utilisateur. Je peux maintenant lire le contenu de mes cartes, cependant, il ne rest que quelques questions:

Je lis une carte qui contient une URL, www.google.com, voici ce que j’ai obtenu:

 03 0F D1 01 -> Page 1, 4 bytes of non text data, not sure what it is 0B 55 01 67 -> Page 2, 3 bytes of non text data, then 1 bytes for the "g" 6F 6F 67 6C -> Page 3, 4 bytes for "oogl" 65 2E 63 6F -> Page 4, 4 bytes for "e.co" 6D FE 00 00 -> Page 6, 1 byte for "m", 1 byte for I don't know 00 00 00 00 -> Other pages are just empty 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

Donc, j’ai 7 octets de données + mon URL, “google.com” + 1 octet FE

Je ne trouve pas quels sont ces 7 octets de préfixe + ce 1 octet final …

Éditer à nouveau

Ok, c’est le format du message NDEF.

    Oui c’est le format NDEF!

     03 NDEF Message 0F length Record 1 D1 - MB, ME, SR, TNF=”NFC Forum well-known type” 01 Type length 0B Payload length 55 Type - “U”(Abbrivation for URL) 67 6F 6F 67 6C 65 2E 63 6F 6D (google.com) Record 2 FE Terminator NDEF