====== Interface entre le lecteur de carte et l'ordinateur ======
Pour ce projet nous utiiliserons un lecteur de carte de chez [[http://www.electrodragon.com/product/pn532-nfcrfid-v1-3-development-board-arduino-compatible-wcard/|electrodragon]]: le PN532 qui est une copie d'un modele de chez [[https://www.adafruit.com/product/364|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.
===== Branchements =====
Voici le schema de branchement avec un adaptateur FTDI de chez [[http://www.electrodragon.com/product/cp2102-usb-ttl-uart-module-v2/|electrodragon]] egalement.
{{:connexion.png?0x800}}
Si l'on utilise une Raspberry Pi on peut se passer du FTDI
{{:pn532_bb0128.png?0x600}}
===== Configuration logiciel =====
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
==== Linux ====
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.
=== Methode utilisant les variables d'environnement ===
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
=== Fichier de configuration ===
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"
==== Windows ====
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.
=== Methode utilisant les variables d'environnement ===
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" {{ :config_step2.png?nolink& }}
Puis sur variable d'environnement
{{ :config_step3.png?nolink& }}
Puis "Nouvelle…" dans variables systèmes
{{ :config_step4.png?nolink& }}
Et remplir "Nom de la variable" et "Valeur de la variable" comme suit:
{{ :config_step5.png?nolink& }}
Ou COM4 représente le port COM associé au FTDI
=== Fichier de configuration ===
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"