Programmer des tags NFC

Programmer des tags NFC

La technologie NFC s'est largement démocratisée sur les téléphones portables ces dernières années, mais peu de gens savent qu'il ne s'agit que d'une surcouche logique basée sur des standards RFID qui existent depuis bien plus longtemps. En particulier, il est possible d'utiliser le Yocto-RFID-15693-C pour écrire sur n'importe quel tag ISO-15693 du contenu qui sera reconnu par les lecteurs NFC Type 5, y compris de nombreux téléphones portables.


Pour faciliter l'utilisation des modules Yoctopuce pour les applications NFC, nous venons d'ajouter à nos librairies trois méthodes qui permettent d'écrire sur des tags RFID des données compatibles avec les lecteurs NFC. Vous pouvez donc les utiliser aussi bien depuis votre propre programme qu'en utilisant notre librairie en ligne de commande.

tagWriteUrlNFC

Cette méthode écrit sur le tag un message NFC pointant vers l'URL spécifiée. Lorsque le tag sera présenté à un téléphone, celui-ci ouvrira spontanément une page web sur cette URL (ou selon la configuration du téléphone, offrira à l'utilisateur d'ouvrir cette page).

C'est un peu l'équivalent d'un QR code qui pointe sur une URL, mais sans que l'utilisateur ait à scanner le code avec sa caméra: il suffit qu'il pose le tag contre son téléphone pour ouvrir la page Web. Joli effet marketing...

Voici un exemple d'utilisation de cette méthode en C#:

Console.WriteLine("Présentez un tag sur le lecteur");
List<String> tagList;
do {
    tagList = reader.get_tagIdList();
    YAPI.Sleep(250, ref errmsg);
} while(tagList.Count <= 0);

rfidReader.tagWriteUrlNFC(tagList[0],
    "https://www.yoctopuce.com/FR",
    options, ref status)

print("Tag programmé.")



tagWriteWifiConfigNFC

Cette méthode fait usage de l'un des messages NFC les plus utiles: la description d'une configuration de réseau WiFi. Lorsque le tag écrit par cette méthode sera présenté à un téléphone, celui-ci offrira de se connecter au réseau correspondant, sans qu'il soit nécessaire de procéder à la recopie fastidieuse d'un long mot de passe.

Voici un exemple d'utilisation en Python:

print("Présentez un tag sur le lecteur")
tagList = []
while len(tagList) < 1:
    YAPI.Sleep(100)
    tagList = rfidReader.get_tagIdList()

rfidReader.tagWriteWifiConfigNFC(tagList[0],
    "GUEST_NETWORK", "WPA2", "FC0F26B2-1681-4FBC-8F0B-C2289D2ED761",
    options, status)

print("Tag programmé.")



tagWriteBinNFC

Cette méthode enregistre sur le tag un bloc de données quelconque, en indiquant son type MIME au format NFC. La plupart des type de données standards sont ignorés par les téléphone, sauf un cas particulier intéressant: les cartes de visite au format VCARD. Vous pouvez ainsi transformer un tag RFID en une carte de visite magique, qu'il suffit de placer sous le téléphone pour être ajoutée au carnet d'adresse.

Voici un exemple d'utilisation en ligne de commande:

C:\> YRfidReader get_tagIdList
OK: YRFIDMK1-2846D6.rfidReader.get_tagIdList = E002516765CA437F.
C:\> YRfidReader tagWriteBinNFC E002516765CA437F text/vcard file:my_vcard.vcf ""



Si cette application vous intéresse, prenez garde à un détail en particulier: une VCARD fait facilement 512 bytes, voire bien plus si vous incluez une photo. Si vous désirez que la VCARD contenue dans la carte NFC, pour qu'elle puisse être importée sans connectivité, il faudra vous assurer de choisir une carte RFID avec suffisamment de mémoire, par exemple basée sur le chip ST25DV64KC ou le chip MB89R118, comme une carte Siemens MDS D400 (2 KB). L'alternative consiste à ne mettre sur le tag qu'une URL pointant vers un fichier VCARD, hébergé sur votre serveur web: c'est une méthode qui est reconnue par la plupart des téléphones, qui vous proposerons aussi spontanément d'ajouter la VCARD au carnet d'adresse.

Conclusion

Ces quelques petites applications de la technologie NFC ne sont qu'une facette des multiples possibilités du Yocto-RFID-15693-C. Mais il faut reconnaître que leur potentiel d'intérêt pour le grand public n'est pas le moindre...

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.