Pour ce projet nous utiiliserons un lecteur de carte de chez electrodragon: le PN532 qui est une copie d'un modele de chez adafruit. Ce lecteur presente l'avantage de fonctionné avec des cartes 13,56Mhz, le même type que les cartes d'etudiant.Un autre avantage est qu'il permet de communiqué par UART ce qui facilite grandement sa connexion à un ordinateur. Le seul composant exterieur dont nous auront besoins est donc un convertiesseur UART vers USB.
Voici le schema de branchement avec un adaptateur FTDI de chez electrodragon egalement.
Si l'on utilise une Raspberry Pi on peut se passer du FTDI
Une fois connecter à l'ordinateur il faut configurer la librairie nfc, la methode differe en fonction de votre Os et je n'ai testé que sous Windows et Mac Os X
Sous Linux la libraire doit être installé séparément, pour se faire il faut exécuter la commande suivante:
sudo apt-get install libnfc
Apres cela on doit configurer la librairie pour qu'elle reconnaisse notre lecteur. Pour se faire, il existe deux méthodes.
Cette première méthode consiste à ajouter une variable d'environnement décrivant notre lecteur NFC. Pour se faire il suffit de saisir la commande suivante dans le terminal:
LIBNFC_DEVICE=pn532_uart:ttyUSB0:115200
Ou ttyUSB0 représente le port serie associé au FTDI
Si vous utilisez un raspberry pi vous pouvez vous passer du FTDI (Vous devez activer l'UART avant cela). Auquel cas la commande devient
LIBNFC_DEVICE=pn532_uart:/dev/ttyAMA0
La deuxième méthode consiste à créer un fichier de configuration nommé libnfc.conf qui sera placé dans le répertoire /etc/nfc Voici le contenu du fichier
# Set log level (default: error) # Valid log levels are (in order of verbosity): 0 (none), 1 (error), 2 (info), 3 (debug) log_level = 0 # Definit manuellement le périphérique par défaut # Remplacer ttyUSB0 par le port associé à votre FTDI # Si vous bracher le lecteur directement sur l'UART d'un raspberry Pi # remplacer ttyUSB0 par ttyAMA0 device.name = "PN532.Electrodragon" device.connstring = "pn532_uart:ttyUSB0:115200"
Sous Windows la libraire est déjà incluse sous la forme d'une DLL dans le dossier de l'exécutable la seule chose à faire est de configurer notre lecteur. Pour se faire, il existe deux méthodes.
Cette première méthode consiste à ajouter comme pour Linux une variable d'environnement décrivant notre lecteur NFC
Pour cela il faut faire un clic droit sur le “Poste de travail” choisir “Propriétés” dans le menu déroulant,
Puis cliquer sur “Parametres systeme avancés”
Puis sur variable d'environnement
Puis “Nouvelle…” dans variables systèmes
Et remplir “Nom de la variable” et “Valeur de la variable” comme suit:
Ou COM4 représente le port COM associé au FTDI
La deuxième méthode consiste à créer un fichier de configuration nommé libnfc.conf qui sera placé dans le répertoire C:\nfclib
Voici le contenu du fichier
# Set log level (default: error) # Valid log levels are (in order of verbosity): 0 (none), 1 (error), 2 (info), 3 (debug) log_level = 0 # Definit manuellement le périphérique par défaut # Remplacer COM4 par le port associé à votre FTDI device.name = "PN532.Electrodragon" device.connstring = "pn532_uart:COM4:115200"