Go Down

Topic: Groove-NFC (Seeed) et erreurs de librairies (Read 213 times) previous topic - next topic

fenrirwolf

Bonjour,

Tout d'abord veuillez m'excusez pour les éventuels erreurs que je pourrais commettre, je ne suis pas habitué aux forums.

J'explique brièvement, je suis sur un projet pour mes études dans lequel je travail sur la technologie NFC. Mes quelques recherches m'ont orienté du coté d'Arduino dont je ne connaissais absolument rien. J'ai donc débuté par des montages simples et du code par très compliqué comme : le scintillement d'une LED ou l'affichage sur un écran LCD.

Maintenant je dois attaquer le gros, un montage qui me permettra de lire des TAG NFC. Pour cela j'utilise : 
- un Arduino UNO,
- un BASE SHIELD de chez seeed studio,
- le Groove-NFC de chez seeed studio.


Le site constructeur (seeed) me propose une sorte de tutoriel : ici, que j'ai suivie. Puis arrivé à l'étape de test : example => Seeed_Arduino_NFC => ReadTag, une erreur de libraire s'affiche :

Code: [Select]
Arduino : 1.8.13 (Windows 10), Carte : "Arduino Uno"

In file included from C:\Program Files (x86)\Arduino\libraries\Seeed_Arduino_NFC\src\PN532\NDEF\MifareClassic.cpp:1:0:

C:\Program Files (x86)\Arduino\libraries\Seeed_Arduino_NFC\src\PN532\NDEF\MifareClassic.h:10:10: fatal error: PN532.h: No such file or directory

 #include <PN532.h>
          ^~~~~~~~~
compilation terminated.

exit status 1

Erreur de compilation pour la carte Arduino Uno

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.


J'ai fait des recherches pour élucider ce mystère mais rien ne marche, j'ai également essayer de désinstaller tout (y compris supprimer les librairies) pour tout recommencer à 0 mais toujours le même problème (de même lorsque je change de place les librairies pour résoudre l'erreur). 
J'ai également tester d'autre exemples mais plusieurs autres problèmes arrivent toujours causé par PN532...

Bref, j'aimerais comprendre pourquoi le code ne marche pas et pouvoir résoudre le problème mais il me faudrait de l'aide. Donc si quelqu'un a un peu de temps à perdre pour aider un pauvre étudiant, il est le bienvenue !

PS : s'il vous faut d'autres informations demandez !
PPS : Je connais bien Python et ai des bases de C++



 

lesept

Non ! Ne désinstalle pas tout, malheureux ! 
Installe plutôt cette bibliothèque, puis relance l'IDE arduino 
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

fenrirwolf

Merci pour votre réponse ! Je me suis peut être mal exprimé mais j'ai déjà installé toute les librairies dont j'ai besoin dont la fameuse PN532.
Le problème est qu'il semble que le compilateur ne comprenne pas ou se trouve les fichiers de la bibliothèque. 

J'ai installé les librairies en les glissant dans le dossier librairies d'arduino, ce procédé est-il bon ? ou faut-il impérativement que je passe par l'IDE Arduino ?

fdufnews

Tu as bien suivi le step 3 de la partie software?
Quote
Step 3. Download PN532 Library and put it under C:\Program Files (x86)\Arduino\libraries\Seeed_Arduino_NFC-master\src.

fenrirwolf

Oui tout a été fait correctement ! Peut-être qu'il faudrait que je "dise" à l'IDE l'emplacement de la libraire pour lui faciliter la tache ?

hbachetti

Installe les répertoires de l'archive (NDEF, PN532, PN532_HSU, PN532_I2C, PN532_SPI)  directement dans Arduino\libraries\
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fdufnews

J'ai l'impression qu'il y a un couac dans l'installation.
Dans le message d'erreur il est question de ce chemin :
C:\Program Files (x86)\Arduino\libraries\Seeed_Arduino_NFC\src\PN532\NDEF\MifareClassic.h
Alors que si on regarde l'arborescence de la librairie sur github MifareClassic.h se trouve dans PN532 et non dans NDEF.
Et dans le Wiki de Seeed ils disent de copier les fichiers de la librairie PN532 dans le répertoire C:\Program Files (x86)\Arduino\libraries\Seeed_Arduino_NFC-master\src.

Par ailleurs dans l'installation de la librairie Seeed_Arduino_NFC il y a déjà un répertoire PN532

hbachetti

Non, j'ai bien MifareClassic.h dans NDEF.

J'ai installé comme indiqué sur la page github :

Quote
Download zip file and extract the 4 folders(PN532, PN532_SPI, PN532_I2C and PN532_HSU) into Arduino's libraries.
Je ne vois pas où tu as vu ceci :

Quote
Step 3. Download PN532 Library and put it under C:\Program Files (x86)\Arduino\libraries\Seeed_Arduino_NFC-master\src.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fdufnews

#8
Oct 17, 2020, 01:09 pm Last Edit: Oct 17, 2020, 01:09 pm by fdufnews
Je ne vois pas où tu as vu ceci :
Sur le wiki de seeed, le premier lien donné par fenrirwolf (dans lequel il manque d'ailleurs le : après https)

hbachetti

Il vaut mieux installer comme indiqué sur le github.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fenrirwolf

Bonjour, d'abord merci à tous de m'apporter votre aide sur ce problème. Je tiens compte de vos commentaires et pense réorganiser les librairies de différentes manières demain.
Je vous tient au courant !

D'autre part, pensez-vous que ma configuration soit suffisante pour détecter une carte NFC ?
Je rappelle :
- un Arduino UNO,
- un BASE SHIELD de chez seeed studio,
- le Groove-NFC de chez seeed studio.

fenrirwolf

Me revoilà !
Après avoir tâtonner pendant plusieurs heures, j'ai finalement trouver quelques configurations de librairies qui me permette de ne plus avoir l'erreur du début. Néanmoins je n'arrive toujours pas a faire fonctionner mon module... Deux nouveaux problèmes émergent.

Le premier : Lorsque je suis dans l'exemple ReadTag de la librairie Seeed_Arduino_NFC (le code se téléverse sans erreurs) et que je vais sur le moniteur série, voici ce que le programme m'affiche :


Code: [Select]
20:49:06.792 -> ⸮⸮Reader
20:49:06.792  -> UU
20:49:06.792 -> Write:  B؞B⸮⸮


Les caractères sont étranges, de plus lorsque je passe la carte NFC sur l'antenne du Groove NFC rien ne se passe...

Deuxième :
Il s'agit d'une erreur fréquente qui m'est arrivé en testant des exemples d'autres librairies (NDEF, PN532...).
Elle s'affiche dans le moniteur série : "Didn't find PN53X board". J'ai bien sur essayé de chercher sur google mais aucun forums n'apporte de solution ou même d'explication concrète sur cette erreur...

Si vous pouvez à nouveau tenter de m'apporter votre lumière ! Je vous remercie :)


Go Up