NFC

La technologie RFID / NFC fait partie des modes de communication sans contact.

NFC, ou Near Field Communication (Communication dans un champ proche), est une technologie fréquemment utilisée dans des applications de type systèmes de contrôle d’accès sans fil (par exemple des portes sans clé et des verrous), paiements avec smartphones, …

Le circuit émetteur-récepteur (PN532) gère la communication sans fil à 13.56MHz.

Matériel testé : NFC Shield V2.0

Bibliothèques : PN532 (protocole) et NDEF (format de message)

Le NFC Shield de Seeed est une platine d’évaluation conçue pour tester les technologies de communication sans contact de type RFID / NFC en 13.56 MHz.

Ce modèle, basé sur un contrôleur spécialisé de type « PN532 », permet de communiquer avec des cartes MIFARE ou des smartphones.

Dans le présent article, pour utiliserons le format de message NDEF qui permet une approche nettement simplifiée du protocole NFC.

Câblage

Ce modèle est sur un shield, il n’y a donc aucun câblage à réaliser !

Il faut néanmoins savoir que ce shield utilise le port numérique 10 (ou bien le 9 après une légère modification sur la carte). Il n’est donc plus disponible pour d’autres applications.

Programmation

Il faut tout d’abord, si ce n’est pas déjà fait, installer les bibliothèques PN532 et NDEF :

  • se rendre sur https://github.com/Seeed-Studio/PN532
  • cliquer sur Clone or download, puis Download ZIP
  • installer la bibliothèque en copiant les dossiers contenus dans l’archive ZIP (PN532x) dans le dossier {utilisateur}\Documents\Arduino\libraries\
  • se rendre sur https://github.com/don/NDEF
  • cliquer sur Clone or download, puis Download ZIP
  • installer la bibliothèque en copiant tout le contenu de l’archive ZIP dans le dossier {utilisateur}\Documents\Arduino\libraries\NDEF\

Une première approche consiste à utiliser les exemples fournis avec la bibliothèque, ou plus simplement, les exemples suivants :

Obtenir des informations sur un périphérique NFC

Informations sur le lecteur :

Avec une carte MIFARE :

Avec un smartphone


Utilisation avec des cartes MIFARE

Les cartes à puce sans contact MIFARE comportent un circuit en logique câblée doté d’une petite mémoire permettant de stocker des informations. Elle sont alimentées lorsqu’on les approche d’un lecteur grâce à une petite bobine.

 

Formater une carte MIFARE

Le message  Tag is not NDEF formatted  indique que la carte n’est pas au format NDEF : il faut la formater.

La méthode permettant de formater un tag est :

Exemple d'utilisation :

 

Écrire un message NDEF

Une fois la carte formatée, on peut y écrire des messages, dont la taille dépend de la capacité de mémoire de la carte.

Pour cela, il faut créer un objet « message » …

… ajouter un ou plusieurs enregistrements à ce message …

… et enfin écrire ce message sur la carte …

Exemple d'utilisation :

Si l’écriture a réussi, l’instruction  tag.print()  (voir premier programme, plus haut) affichera ceci :

Pour accéder plus précisément aux enregistrements du message contenu dans la carte, il faut utiliser d’autres méthodes…

Lire un message NDEF

Pour accéder à chaque enregistrement du message contenu dans la carte, il faut utiliser les méthodes suivantes :

récupération du message dans un objet  NdefMessage  :

récupération de l’enregistrement numéro i  dans un objet  NdefRecord

récupération de la longueur (en octets) de l’enregistrement :

création d’un tableau d’octets pour y stocker l’enregistrement :

récupération de l’enregistrement dans le tableau ainsi créé :

Pour afficher l’enregistrement sous la forme d’une chaîne de caractères, il faut utiliser l’instruction suivante :

 

Exemple d'utilisation :


Applications

Utiliser un périphérique NFC comme une clef

Chaque périphérique NFC possède un identifiant (UID).

Dans le cas d’une carte MIFARE, il s’agit d’un numéro de 4 octets, presque unique (calculer combien de possibilité cela fait !) et non modifiable.

 

Obtenir des informations depuis un Smartphone

Le programme ci-dessous permet d’obtenir des informations de la part d’une application Android.

Pour le faire fonctionner, il faut au préalable activer la fonctionnalité NFC et l’échange des données Android Beam.

Ensuite, approcher le smartphone du shield NFC …

 

 

 

 

 

 

sources : https://cedric.cnam.fr/~bouzefra/cours/CoursNFC_Bouzefrane_Decembre2013.pdf

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code