PN532-RFID-NFC-Arduino-Lib

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Par le passé, Adafruit proposait deux bibliothèques Arduino pour utiliser sa carte NFC. Une version de la bibliothèque était destinée à l'usage du shield (support du bus I2C) et l'autre version pour le breakout NFC (support du busSPI). Depuis, les deux bibliothèques ont étés unifiées en une seule bibliothèque Arduino Adafruit-PN532 (GitHub).

La bibliothèque Adafruit PN532 peut lire des cartes MiFare, inlus le numéro l'identifiant de la carte (fixé matériellement), ainsi que la lecture/écriture de section d'EPEPROM et l’authentification. Cette bibliothèque fonctionne avec le breakout et le shield utilisant soit la connexion SPI ou I2C.

Installer la bibliothèque

Télécharger la bibliothèque Adafruit PN532 depuis GitHub. Décompressez le répertoire et renommez les répertoire pour qu'il porte le nom Adafruit_PN532. A l'intérieur du répertoire, vous devriez vois les fichiers Adafruit_PN532.cpp et Adafruit_PN532.h. Installez ensuite le répertoire de la bibliothèque Adafruit_PN532 dans votre répertoire répertoire_des_croquis_arduino/libraries. Vous pourriez avoir besoin de créer le sous répertoire libraries si c'est la première bibliothèque que vous installez. Voyez ce tutoriel pour en apprendre plus sur l'installation des bibliothèques Arduino.

Redemandez votre Arduino IDE. Vous devriez être capable de sélectionner le croquis/sketch d'exemple suivant Fichier > Exemples > Adafruit_PN532 > readMifare.

Si vous utilisez le breakout NFC avec la connexion SPI (voyez les pages précédentes pour le branchement), vous pouvez téléverser directement le corquis d'exemple dans votre Arduino et passer directement à la section "Tester les tags MiFare" sur cette même page.

Si vous utilisez le shield NFC, ou si vous utilisez le breakout NFC en I2C alors vous devez effectuer une petite modification pour faire en sorte que l'exemple utilise le bus I2C. Explorer les lignes de votre croquis, vous devriez trouver les lignes suivantes près du début du croquis:

// Uncomment just _one_ line below depending on how your breakout or shield
// is connected to the Arduino:

// Use this line for a breakout with a SPI connection:
Adafruit_PN532 nfc(PN532_SCK, PN532_MISO, PN532_MOSI, PN532_SS);

// Use this line for a breakout with a hardware SPI connection.  Note that
// the PN532 SCK, MOSI, and MISO pins need to be connected to the Arduino's
// hardware SPI SCK, MOSI, and MISO pins.  On an Arduino Uno these are
// SCK = 13, MOSI = 11, MISO = 12.  The SS line can be any digital IO pin.
//Adafruit_PN532 nfc(PN532_SS);

// Or use this line for a breakout or shield with an I2C connection:
//Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);

Modifier le croquis de sorte que la ligne sous "with SPI connection" soit mise en commentaire ET que la ligne sous "with I2C connection" soit décommentée.

Cela configurera le croquis pour que le croquis utilise la bibliothèque avec le bus I2C (pour le shield). Le code modifié devrait ressembler à ceci:

// Uncomment just _one_ line below depending on how your breakout or shield
// is connected to the Arduino:

// Use this line for a breakout with a SPI connection:
//Adafruit_PN532 nfc(PN532_SCK, PN532_MISO, PN532_MOSI, PN532_SS);

// Use this line for a breakout with a hardware SPI connection.  Note that
// the PN532 SCK, MOSI, and MISO pins need to be connected to the Arduino's
// hardware SPI SCK, MOSI, and MISO pins.  On an Arduino Uno these are
// SCK = 13, MOSI = 11, MISO = 12.  The SS line can be any digital IO pin.
//Adafruit_PN532 nfc(PN532_SS);

// Or use this line for a breakout or shield with an I2C connection:
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);

Téléversez ensuite l'exemple sur votre Arduino et poursuivez votre lecture. Notez que vous aurez besoin de réaliser ce changement pour chacun des exemples proposés dans la bibliothèque.

Tester les tags MiFare

Dans le moniteur série d'Arduino, vous devriez voir que la bibliothèque à trouvé le PN532. Ensuite, vous pouvez placer un tag près de l'antenne et le programme affichera les 4 octets/bytes du code d'identification (l'ID, celui-ci est 0xAE 0x4C 0xF0 0x6C) et ensuite la version (sous forme d'entier) des 4 bytes ensemble. Vous pouvez utiliser cette information pour identifier chaque carte. NXP à émis tellement de cartes qu'ils ont finit par faire le tour complet des valeurs possibles offert par les 4 octets/bytes de l'ID. Cela représente donc 2^32 cartes (4,294,967,296 cartes). L'ID n'est donc plus garanti comme "absolument unique". Il y a cependant peu de chance que vous puissiez entrer en possession de deux cartes ayant le même ID. D'un point de vue sécuritaire, l'utilisation du seul ID pour identifier une carte n'est pas souhaitable... sauf si votre projet ne met pas des informations sensibles (transaction financière, identification, etc). Hormis ces cas plus sensibles, l'ID peut très bien être utilisé comme identifiant unique (ex: jouet, matériel informatique, etc).

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com



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.