PN532-RFID-NFC-LibNFC
Utiliser LibNFC
libnfc et ses objectifs évoluent constamment. Etant donné ces fréquentes modifications entre les versions, il n'est pas possible pour Adafruit (ni pour MCHobby) d'offrir un support libnfc pour la carte PN532. Adafruit peut uniquement assurer le bon fonctionnement (et support) de sa carte PN532 avec le code Arduino (et bibliothèque) développé par Ardafruit. Les informations ci-dessous ont pour but de vous aider à démarrer le plus facilement possible avec libnfc et le breakout PN532 d'Adafruit, cela vous demandera néanmoins des investissements personnels (installation, recherche, tests) pour pouvoir tirer profit de libnfc sur votre plateforme de développement. L'utilisation de libnfc est faite à votre propre discretion. |
Utiliser le breakout PN532 avec libnfc
libnfc est une bibliothèque NCF arrivée à maturité, cross-platform, open-source qui peut être facilement configurée pour fonctionner avec le breakout PN532. Si Linux est certainement la plateforme la plus simple pour utiliser libfnc, vous pouvez également configurer la bibliothèque pour Mac et Windows, vous aurez peut-être besoin de faire des recherches auprès de la communauté libnfc pour certains détails plus spécifiques tel que compiler des .dlls pour Windows, etc.
Ce tutoriel sera une documentation fondamentale si vous désirez tester le breakout board PN532 avec LibNfc. Vous découvrirez comment configurer, compiler libnfc et utiliser les programmes d'exemple inclus dans la bibliothèque.
Ce tutoriel ne concerne que l'utilisation du breakout PN532 avec un câble FTDI ou un convertisseur USB-Série (FTDI Friend), le tout branché sur un ordinateur. Vous ne pouvez/saurez pas utiliser LIbNFC avec des Arduino ou autres microcontroleurs. |
Libnfc sous Linux
Dans cet exemple, nous utilisons Ubuntu 10.10.
Etape 1: télécharger libnfc
Téléchargez la dernière version de libnfc depuis Google Code (ex. "libnfc-1.4.1.tar.gz") et faite une extraction du contenu dans l'archive comme suit:
$ wget http://libnfc.googlecode.com/files/libnfc-x.x.x.tar.gz $ tar -xvzf libnfc-x.x.x.tar.gz $ cd libnfc-x.x.x
Etape 2: Configurer libnfc pour PN532 via UART
Pour l'instant, libnfc ne supporte que la communication via un UART (port série), vous pouvez utiliser un convertisseur USB-Série tel que le FTDI Friend ou un câble FTDI TTL.
Avant la compilation, il sera cependant nécessaire de configurer libnfc pour utiliser la communication via UART et le chipset PN532.
Cette fonfiguration se fait à l'aide de la commande suivante (éxécuté depuis le répertoire dans lequel vous avez extrait le contenu de l'archive):
$ ./configure --with-drivers=pn532_uart --enable-serial-autoprobe
Note: Vous pouvez ajouter le flag/drapeau '–enable-serial-autoprobe' à la commande si vous désirez également inclure le support de débogage "debug output".
Crédit: AdaFruit Industries www.adafruit.com
Etape 3: Faire le Build et installer libnfc
Vous pouvez compile et installer libnfc avec les 3 commandes suivantes. Les commandes doivent être exécutées depuis le répertoire où vous avez extrait le contenu de l'archive:
$ make clean $ make $ make install
Etape 4: Détecter le lecteur
Nous allons maintenant vérifier si libnfc est capable de retrouver notre lecteur pn532.
Maintenant que libnfc est compilé et installé, vous pouvez exécuter l'exemple nfc-list pour essayer de détecter la carte NFC branchée sur le PC.
Assurez vous que la carte soit bien connectée sur votre PC à l'aide d'un adaptateur FTDI ou USB/UART (USB-Série).
Exécutez les commandes suivantes:
$ cd examples $ ./nfc-list
Cela devrait afficher une liste des périphérique détectés.
Etape 5: lecture de carte MiFare
Nous allons faire une opération de polling pour récupérer les infos des cartes au standard ISO14443A (les cartes Mifare).
Nous pouvons utiliser l'exemple nfc-poll qui, durant 30 secondes, attend la présentation d'une carte ISO14443A ou d'un tag afin d'afficher quelques informations de base à propos de cette carte.
Saisissez la commande suivante dans le répertoire d'exemple (dans lequel nous nous sommes déplacés tout à l'heure):
$ ./nfc-poll
Cela devrait afficher des informations élémentaires concernant les cartes qui rentre dans le champs magnétique du lecteur (durant un délais de 30 secondes).
Crédit: AdaFruit Industries www.adafruit.com
Libnfc avec Mac OSX Lion
scott-42 was kind of enough to post some tips on getting libnfc working on a Mac using an FTDI adapter. A couple simple changes to the code were required (as of v1.6.0-rc1), with the details here.
Keeping in mind the code changes mentionned above, the following steps should get libnfc compiling and working via an FTDI type adapter and UART on Lion (using libnfc 1.6.0_rc1):
Télécharger et configurer libnfc
Download and build libnfc and configure if for PN532 UART (making the code changes above before running make):
wget http://libnfc.googlecode.com/files/libnfc-1.6.0-rc1.tar.gz tar -xvzf libnfc-1.6.0-rc1.tar.gz cd libnfc-1.6.0-rc1 ./configure --with-drivers=pn532_uart --enable-serial-autoprobe sudo make sudo make install
Détecter le lecteur
If everything worked out, switch to the examples folder and see if you can find the PN532 and wait for an appropriate tag:
cd examples Kevins-Mac-mini:examples kevin$ ./nfc-poll /Users/kevin/libnfc-1.6.0-rc1/examples/.libs/nfc-poll uses libnfc 1.6.0-rc1 (r1326) NFC reader: pn532_uart:/dev/tty.usbserial-FTE5WWPB - PN532 v1.6 (0x07) opened NFC device will poll during 30000 ms (20 pollings of 300 ms for 5 modulations) ISO/IEC 14443A (106 kbps) target: ATQA (SENS_RES): 00 04 UID (NFCID1): 3e b9 6e 66 SAK (SEL_RES): 08
There are some dependencies to get libnfc running, but since it isn't an Adafruit project and we can't really support it directly ourselves, you will probably have better luck looking at the libnfc forums for Mac support. There are a few active users developping on the Mac. https://learn.adafruit.com/adafruit-pn532-rfid-nfc/libnfc
Source: PN532 RFID/NFC Breakout and Shield créé par LadyAda pour AdaFruit Industries. Crédit [www.adafruit.com AdaFruit Industries]
Traduit par Meurisse D. pour MCHobby.be
Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.