Dans la continuité de la série d’article BT4 et NFC, voici maintenant le dernier volet (Chapitre III) de la saga. Ce tutoriel vous permettra la mise en oeuvre d’une passerelle domotique NFC (Mifare). Les précédents articles nous ont permis de comprendre les différences ou complémentarités entre BT4 et NFC, le second article nous a accompagné dans la mise en oeuvre de la passerelle Bluetooth, et nous voilà aujourd’hui à l’étape finale de la passerelle : La mise en place d’un dispositif détectant les cartes (Tags) Mifare, et actionnant des traitements au travers du réseau vers votre contrôleur domotique avec des requêtes HTTP.
Pour rappel, voici la vidéo initiale de l’objectif final :
1 – Pré-requis
Avant de commencer la mise en place de la solution vous devrez réunir les éléments suivant :
- Des connaissances informatique de niveau intermédiaire (Débutant / intermédiaire / Avancé) ;
- Un Raspberry Pi ( mais vous pouvez aussi utiliser d’autres plateforme matériel avec Linux Debian);
- D’une carte SD ;
- le logiciel Putty (Connexion SSH) ;
- Un lecteur NFC de référence NXP PNEV512R (32€);
- Des cartes, tags ou stickers Mifare ;
- de l’huile de coude et 2 heures de votre temps.
2 – Installation et configuration du Raspberry
Comme d’habitude, voici la procédure permettant l’installation et la configuration de votre Raspberry PI.
Récupérer la dernière image officielle sur le site http://www.raspberrypi.org/downloads (fichier Wheezy Raspbian). Une fois décompressé, on obtient le fichier « *****-wheezy-raspbian.img« . Pour copier l’image officielle sur une carte SD, on peut utiliser l’outil open source Win32 Disk Imager .
Décompresser le fichier télécharger, puis lancer le programme Win32DiskImager :
Dans le fenêtre ci-dessus, effectuer les étapes suivantes :
- Sélectionner le fichier source (dernière image officielle wheezy-raspbian.img) ;
- sélectionner le disque destination (SDcard insérée dans un port SD du PC ou un lecteur externe) ;
- lancer l’écriture en cliquant sur le bouton « Write » ;
- confirmer l’écriture en cliquant sur « Yes ».
L’opération d’écriture est assez longue (plusieurs minutes). A la fin de l’écriture, votre carte SD est prête à être utilisée dans la Raspberry Pi.
Configuration du Raspberry Avant de mettre sous tension la Raspberry Pi, vous devez :
- Insérer la carte SD précédemment générée ;
- Ne pas brancher le Dongle USB
- brancher un câble ethernet relié au réseau de votre domicile (votre box internet par exemple).
- brancher un clavier USB et un écran HDMI (option) ou utiliser une connexion SSH ;
Rappel : La connexion SSH avec PuttyA la mise sous tension apparaît l’écran de configuration initiale. Vous pouvez relancer l’utilitaire de configurationn avec la commande :
1 | sudo raspi-config |
Après avoir exécuté l’option 1 pour étendre le système de fichiers à l’intégralité de l’espace disponible (à la prochaine mise sous tension, la partition sera étendue à la taille de votre carte SD), vous pouvez paramétrer les « Locales » avec le menu 4. Vous pouvez aussi vérifier que votre serveur de connexion SSH est activé avec l’option 8 + A4. De la même manière vous pourrez changer le mot de passe de votre session « PI ».
Après toutes ces opérations, le reboot suivant est assez long en raison de l’opération d’extension de la partition (qui n’est faite qu’un seule fois). A la fin du démarrage (boot), il est enfin possible de se loguer avec le login «pi » et le mot de passe « raspberry » (si inchangé).
- Il est aussi judicieux de mettre à jour le système de votre Raspberry avec l’option 8 + A5.
- Vous pouvez aussi mettre à jour le Firmware de votre RPI avec le tutoriel de Korben.
3 – Activation du bus SPI
Pour en savoir plus sur le bus SPI c’est ici.
- Connecter votre shield NXP.
- Connexion SSH au Raspberry.
- Saisir la commande suivante et suivre la vidéo pour les action suivantes :
1 | sudo raspi-config |
4 – Installation et configuration de la passerelle NFC
4.1 – Installation des binaires
Comme toujours, exécuter les commandes Update et Upgrade :
1 2 | sudo apt-get update sudo apt-get upgrade |
Installation de l’environnement de développement Python :
1 2 3 4 | sudo apt-get install python #(normalement déja installé 2.7.3 et GCC 4.6.3) sudo apt-get install python-dev sudo apt-get install python-pip sudo reboot |
Installation et compilation des dépendances :
- La première commande est une compilation des librairies Mifare (.c & .h) pour générer un module « mifare.o » exploitable depuis la bibliothèque « nxppy » dans un script Python (projet Github & source). Cette librairie nous permettra l’accès au lecteur NFC Mifare sur le bus et le traitement de la lecture UID des tags Mifare.
- La seconde commande permet l’importation et l’enregistrement de la librairie « requests » dans le framework Python. Cette librairie servira à manipuler simplement des requêtes HTTP dans notre projet.
1 2 | sudo pip install nxppy sudo pip install requests |
Installation de mon petit développement :
- Se placer dans le répertoire personnel du compte « pi »,
- Télécharger le fichier de source compressées,
- Décompresser le fichier tar,
- Supprimer le fichier de sources téléchargé,
- Se placer dans le répertoire décompressé,
- Appliquer les permissions d’exécutions aux fichiers.
1 2 3 4 5 6 7 | cd /home/pi wget http://domotique-info.fr/wp-content/uploads/2014/08/domotique-info-nxpnfc.tar -O nxpnfc.tar tar -xf nxpnfc.tar rm nxpnfc.tar cd nxpnfc sudo chmod +x nxpnfc.py sudo chmod +x nxpnfc.sh |
Aperçu du contenu de la décompression :
Voici le contenu du fichier « nxpnfc.tar » que nous venons de décompresser. Le fichier nxpnfc.log ne sera pas présent mais sera créé à l’exécution du fichier nxpnfc.py. Le fichier « nxpnfc.sh » est le script shell de démarrage du processus (PID) résident (tâche de fond comme un service).
4.2 – Configuration de la passerelle
Maintenant que nous disposons des binaires présent sur la machine, nous allons configurer le dispositif afin,
- Qu’il se lance au démarrage de la machine,
- Que le processus reste résident,
- Qu’il traite les événements de lecture Mifare en fonction du fichier de configuration.
Configuration du lancement au démarrage
Nous allons maintenant éditer le fichier « /etc/rc.local » pour ajouter notre démarrage automatique :
- Connexion SSH au Raspberry,
- Saisir la commande suivante,
- Editer le contenu du fichier /etc/rc.local,
- Ajouter la ligne sh /home/pi/nxpnfc/nxpnfc.sh restart,
- Enregistrer (ctrl-X).
1 | sudo nano /etc/rc.local |
Fichier de configuration
Un fichier de configuration va vous permettre de renseigner les UID Mifare accociés aux requêtes HTTP à exécuter et le délai avant exécution de cette dernière. Ce fichier sera appelé à chaque démarrage du script résident python. Voici ci-dessous la structure CSV à respecter dans le fichier /home/pi/nxpnfc/nxpnfc.cfg :
Le premier champ sera UID, le deuxième champ comportera devant l’url, séparé avec l’@ une valeur numérique correspondant au délai en seconde avant exécution de l’URL. Si vous avez besoin d’authentification basique, les pipes (|) derrières l’URL doivent être ajoutés pour intercaler le login et le mot de passe. Il est à noter qu’il faut impérativement 3 point-virgules. Cependant, vous pouvez laisser un vide un champ de cette structure.
- Attention pas de barre verticale (Pipe=|) dans les mots de passe.
- Attention pas de @ dans les mots de passe.
- Tous les champs URL devront être entre guillemets afin de résoudre d’éventuels espaces.
Pour utiliser une « Authentification basique » (HTTP uniquement) il faut juste ajouter « |<login>|<mot de passe> » derrière l’URL comme dans les exemples ci-dessous :
041272495B2381; »1@http://192.168.1.140/monapi|admin|mdp « ; »3@http://192.168.1.140/api/Action|admin|mdp »;<je peux aussi laisser un voir deux champs vide>
041272495B2381; »1@http://192.168.1.140/api/callAction?deviceID=49&name=turnOn|admin|monmodp « ; »3@http://192.168.1.140/api/callAction?deviceID=49&name=turnOff|<user>|<password> »;
Dans le seconde exemple, j’utilise l’API de mon HC2 Fibaro pour interagir avec un module ON/OFF. Il est possible de transposer l’opération sur tous les contrôleurs domotique offrant une API HTTP.
Fichier Python
Ce fichier est le cœur du dispositif. C’est le moteur permanent des traitements de la passerelle .
Il est possible d’interagir avec ce dispositif avec les commandes suivantes :
1 2 3 | sudo sh /home/pi/nxpnfc/nxpnfc.sh start sudo sh /home/pi/nxpnfc/nxpnfc.sh restart sudo sh /home/pi/nxpnfc/nxpnfc.sh stop |
Fichier de log
Le fichier de log est un petit plus que je me suis permis d’ajouter, pour éventuellement tracer un dysfonctionnement ou pour faire suivre le résultat de tests. Il faut noter qu’il faudra redémarrer ce processus pour recharger les modifications du fichier de configuration (nxpnfc.cfg). Donc n’oubliez pas d’exécuter cette commande pour prendre en compte vos changements :
1 | sudo sh /home/pi/nxpnfc/nxpnfc.sh restart |
La commande suivante vous permettra de suivre directement les log dynamiquement (comme sur la vidéo ci-dessous) :
1 | sudo tail -f /home/pi/nxpnfc/nxpnfc.log |
5 – Conclusion
Pour un investissement relativement faible, il est possible d’obtenir un dispositif NFC fonctionnel et efficace. Il existe bien d’autres solutions DIY, mais celle-ci me semble relativement simple à mettre en place pour un adepte et un habitué de la plate-forme Raspberry Pi.
Considérant la suite d’articles autour de BT4 et NFC, vous pouvez donc maintenant mettre en oeuvre une passerelle de proximité permettant la gestion de vos statuts de présences avec le Bluetooth 4 et la possibilité d’actionner des traitements distants (Http) avec le lecteur NFC.
Vous l’aurez compris, l’interopérabilité avec votre environnement domotique est énorme.
42 Comments
fredo
Bel article. Clair, net, précis… du Seb, c’est bien !
Pascal STEPHANY
Excellent !!!
Merci Seb 🙂
framboise314
Bonjour Seb
Pour l instant je suis en vacances
j’ai bien noté de préparer un article présentant
cette passerelle domotique quand je reprendrai (mi sept)
Cordialement
François
Sébastien Joly
@framboise314 c’est pas ce que je voulais dire avec mon commentaire sur framboise314. C’est juste pour orienter tes lecteurs au cas ou …
TouFou
Merci Merci Merci !!!!!
Je peux enfin utiliser ma carte NFC simplement!!!!
Je me permet une ou deux remarques pour ton tuto:
Dans la partie installation de mon petit developpement apres le wget, il faut rajouter mv domotique-info-nxpnfc.tar nxpnfc.tar
et ensuite, à chaque fois que tu mentionne /home/pi/nxpnfc.sh, c’est plutot /home/pi/nxpnfc/nxpnfc.sh
Un grand merci pour ton article!!
Sébastien Joly
@TouFou
Merci pour ta correction. Par contre je préfère renommer directement la cible de téléchargement dans la commande wget.
miguipda
Bonjour,
personnellement, je verrais bien l’usage de ce tutoriel en déportant le module NFC de la carte RPi (avec un câble de rallonge) afin que le module NFC soit (dans le montant de chassis en bois de la porte ou) attaché derrière la porte (côté intérieur donc) juste à hauteur de la poignée poussoir. Ainsi, en mettant la main sur cette poignée de porte, l’anneau (http://nfcring.com/) se retrouve alors (invisiblement) face au capteur NFC.
Le RPi se trouvant placé avec sa caméra comme oeil de judas de porte (en mode détection de mouvement).
Ceci serait alors une bonne sécurité d’intrusion non désirée pour toute personne sachant crocheter une porte. La non détection de l’anneau NFC et l’enregistrement (même partiel) vidéo permet un envoi (mail) des infos propres à l’ouverture/fermeture (désiré ou inconnu) de la porte.
Double fonctionnalité donc : sécurité et log des entrées sorties
D’avance merci de faire ce deuxième tuto complémentaire de vidéo en mode détection de mouvement avec le module camera de la RPi : http://www.seeedstudio.com/depot/Raspberry-Pi-Camera-Module-p-1659.html?cPath=122_111
Excellente continuation et merci pour ces excellent articles.
Sébastien Joly
@miguipda bonjour,
L’idée est intéressante, mais je n’ai pas prévu à moyen termes cet article en sus.
Barry
Hi,
Sorry that this is in english, but I get this error:
pi@raspberrypi ~/nxpnfc $ sudo python /home/pi/nxpnfc/nxpnfc.py
2014-10-06 | 10:15:28 | Lancement du script
2014-10-06 | 10:15:28 | Chargement du fichier de configuration.
2014-10-06 | 10:15:28 | Attente lecture Mifare.
Traceback (most recent call last):
File « /home/pi/nxpnfc/nxpnfc.py », line 72, in
except (SystemExit, KeyboardInterupt):
NameError: name ‘KeyboardInterupt’ is not defined
Are you able to assist?
Sébastien Joly
Hi @Barry,
Can you give me the configuration file (nxpnfc.cfg) without password?
It is imperative to three semicolons per line in this file.
Barry
Hi and thanks for your response, iactually left the example file as is, so its as per the download, i have not modified it.
Sébastien Joly
@Barry, This is normal then. You must adapt the http request to your needs. What do you drive?
Barry
Hi, I would expect the system to still run without error, only when i go to swipe the NFC should it error?
pi@raspberrypi ~/nxpnfc $ more nxpnfc.cfg
041272495B2381; »0@http://192.168.1.140/api/callAction?deviceID=82&name=turnOn|admin|motdepasse »; »1@http://192.168.1.140/api/callAction?deviceID=82&name=turnOff|admin|motdepasse »;
041272495B2382; »http://192.168.1.2/sms-gw/sms.php?telnum=06123456784&message=ACTION1″; »http://192.168.1.2/sms-gw/sms.php?telnum=0612345678&message=ACTION2″;
I did what you suggested and made a new nxpnfc.cfg which now contains a single line:
041272495B2382; »http://www.unix.co.nz/?var=test »; »http://www.unix.co.nz/?var2=test »;
I tried to start it and the same error appears:
pi@raspberrypi ~/nxpnfc $ sudo python /home/pi/nxpnfc/nxpnfc.py
2014-10-06 | 13:31:34 | Lancement du script
2014-10-06 | 13:31:34 | Chargement du fichier de configuration.
2014-10-06 | 13:31:34 | Attente lecture Mifare.
Traceback (most recent call last):
File « /home/pi/nxpnfc/nxpnfc.py », line 72, in
except (SystemExit, KeyboardInterupt):
NameError: name ‘KeyboardInterupt’ is not defined
I dont have a keyboard attached at all but this shouldnt be the problem right.
Sébastien Joly
You forget the value « delay » (second). Must stipulate 0 if you do not want to delay.
Barry
same error with 041272495B2382; »0@http://www.unix.co.nz/?var=test »; »0@http://www.unix.co.nz/?var2=test »;
Funny thing is even with your original cfg file its an error, why would you provide a example cfg with errors?
Sébastien Joly
It is difficult to provide an example that works with the local network of each.
I think you did not understand the idea of the script in a home automation infrastructure. Http request that you want to execute is what action?
In my example I offer a url to a Fibaro Homecenter2. By changing the IP address the login and password it works on. But if you do not read the article, and use the project without understanding the context is not ideal.
Nico
Bonjour,
J’ai le même problème que les personnes précédentes. Lorsque j’exécute le fichier nxpnfc.py, j’ai l’erreur suivante:
root@raspberrypi:/home/pi/nxpnfc# python nxpnfc.py
2014-11-04 | 13:49:07 | Lancement du script
2014-11-04 | 13:49:07 | Chargement du fichier de configuration.
2014-11-04 | 13:49:07 | Attente lecture Mifare.
Traceback (most recent call last):
File « nxpnfc.py », line 72, in
except (SystemExit, KeyboardInterupt):
NameError: name ‘KeyboardInterupt’ is not defined
Même en modifiant le fichier de configuration, le problème persiste.
Pouvez vous m’aider?
Merci
Sébastien Joly
@Nico,
La solution est la même qu’expliqué au dessus.
Relire les conditions de formatage de la ligne de configuration. Respecter les éléments de l’encadré jaune
Nico
Après quelques recherche, il semblerait qu’il s’agisse d’une erreur au niveau de nxppy. La méthode uid=nxppy.read_mifare() génère une erreur:
AttributeError: ‘module’ object has no attribute read_mifare
Sébastien Joly
Je n’ai jamais ce message d’erreur et la librairie PIP n’a pas évolué depuis mon installation.
Seule possibilité vous êtes en Python 3 au lieu de 2.6 ou 2.7.
Sébastien Joly
Petit détail, si vous modifier le script python, vous n’êtes pas sans savoir la rigueur d’indentation du langage Python.
De plus, il faut pas modifier les fichiers dans un éditeur ne respectant pas l’encodage du système cible.
Nico
Merci pour la réactivité!
Je suis bien en version 2.7.3
root@raspberrypi:/home/pi# python -V
Python 2.7.3
Je n’ai pas modifié le script python, juste tenté de l’exécuter.
Sébastien Joly
Sachant qu’il ne peut y avoir de différence que dans le fichier de config nxpnfc.cfg, je vous encourage à vérifier que vos actions et URL sont valides et fonctionnelles.
Nico
J’ai vérifié à nouveau le fichier de configuration, il me semble correct:
041272495B2381; »0@http://172.22.1.11″;;
Sachant que le raspberry dispose d’une adresse en 172.22.1.* et qu’il accède en wget et ping à l’adresse 172.22.1.11.
Sébastien Joly
Ok, mais en quoi cela matérialise une action ?
Nico
il s’agit d’un fichier index.php qui va désactiver une alarme. Mais cette url n’est pas appelée car le script nxpnfc.py s’arrête juste après avoir marqué « Attente lecture Mifare. »
Sébastien Joly
Je peux voir le log ?
041272495B2381; »0@http://172.22.1.11?;;
Les double-quotes sont pas bonne ( » « ).
Nico
root@raspberrypi:/home/pi/nxpnfc# sudo tail -f /home/pi/nxpnfc/nxpnfc.log
2014-11-04 | 15:01:36 | Attente lecture Mifare.
2014-11-04 | 15:02:06 | Lancement du script
2014-11-04 | 15:02:06 | Chargement du fichier de configuration.
2014-11-04 | 15:02:06 | Attente lecture Mifare.
2014-11-04 | 15:08:45 | Lancement du script
2014-11-04 | 15:08:45 | Chargement du fichier de configuration.
2014-11-04 | 15:08:45 | Attente lecture Mifare.
Sébastien Joly
@Nico,
Et dès le passage d’un d’un Mifare cela plante ?
Car là j’ai pas d’UID.
Nico
Il ne lit aucun badge, il plante avant…
Nico
Lorsque j’exécute le fichier nxpnfc.py, voilà l’erreur:
^Croot@raspberrypi:/home/pi/nxpnfc# python nxpnfc.py
2014-11-04 | 16:42:33 | Lancement du script
2014-11-04 | 16:42:33 | Chargement du fichier de configuration.
2014-11-04 | 16:42:33 | Attente lecture Mifare.
Traceback (most recent call last):
File « nxpnfc.py », line 74, in
except (SystemExit, KeyboardInterupt):
NameError: name ‘KeyboardInterupt’ is not defined
Nico
J’ai créé un nouveau script python qui essaye simplement de lire un badge:
import nxppy
uid = nxppy.read_mifare()
print uid
Voilà l’erreur
Traceback (most recent call last):
File « test.py », line 3, in
uid = nxppy.read_mifare()
AttributeError: ‘module’ object has no attribute ‘read_mifare’
C’est pourquoi je pense que c’est un problème au niveau de nxppy…
Sébastien Joly
J’ai vu que tu viens de créer une issue sur le git.
Je pense surtout que ton install PIP ne s’est pas passé comme il faut.
Te rappelles-tu le retour console suite à « sudo pip install nxppy » ?
Je suis persuadé que tu n’as pas vu une erreur à ce moment là, car ce que je lis sur l’issue est « segmentation fault » qui peut arriver lors du make de la procédure.
Donc, je te propose de reprendre au début après avoir nettoyé.
Nico
root@raspberrypi:/home/pi# sudo pip install nxppy
Downloading/unpacking nxppy
Downloading nxppy-1.1.tar.gz (1.5Mb): 1.5Mb downloaded
Running setup.py egg_info for package nxppy
no previously-included directories found matching ‘doc/.build’
Installed /home/pi/build/nxppy/nose-1.3.4-py2.7.egg
Installing collected packages: nxppy
Running setup.py install for nxppy
compiling NxpRdLib
— The C compiler identification is GNU 4.6.3
— The CXX compiler identification is GNU 4.6.3
— Check for working C compiler: /usr/bin/gcc
— Check for working C compiler: /usr/bin/gcc — works
— Detecting C compiler ABI info
— Detecting C compiler ABI info – done
— Check for working CXX compiler: /usr/bin/c++
— Check for working CXX compiler: /usr/bin/c++ — works
— Detecting CXX compiler ABI info
— Detecting CXX compiler ABI info – done
— Configuring done
— Generating done
— Build files have been written to: /home/pi/build/nxppy/NxpRdLib_PublicRelease/build
Scanning dependencies of target nxprd
[ 1%] Building C object CMakeFiles/nxprd.dir/home/pi/build/nxppy/NxpRdLib_PublicRelease/comps/phalMful/src/phalMful.c.o
…
[ 95%] Building C object CMakeFiles/nxprd.dir/home/pi/build/nxppy/NxpRdLib_PublicRelease/comps/phpalI14443p4a/src/Rd710/phpalI14443p4a_Rd710.c.o
[ 97%] Building C object CMakeFiles/nxprd.dir/home/pi/build/nxppy/NxpRdLib_PublicRelease/comps/phpalI14443p4a/src/phpalI14443p4a.c.o
[ 98%] Building C object CMakeFiles/nxprd.dir/home/pi/build/nxppy/NxpRdLib_PublicRelease/comps/phpalI14443p4a/src/Sw/phpalI14443p4a_Sw.c.o
[100%] Building C object CMakeFiles/nxprd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o
Linking C static library libnxprd.a
[100%] Built target nxprd
building ‘nxppy’ extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -INxpRdLib_PublicRelease/types -INxpRdLib_PublicRelease/intfs -INxpRdLib_PublicRelease/comps/phpalSli15693/src/Sw -I/usr/include/python2.7 -c Mifare.c -o build/temp.linux-armv6l-2.7/Mifare.o -O1
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -INxpRdLib_PublicRelease/types -INxpRdLib_PublicRelease/intfs -INxpRdLib_PublicRelease/comps/phpalSli15693/src/Sw -I/usr/include/python2.7 -c nxppy.c -o build/temp.linux-armv6l-2.7/nxppy.o -O1
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-armv6l-2.7/Mifare.o build/temp.linux-armv6l-2.7/nxppy.o -o build/lib.linux-armv6l-2.7/nxppy.so NxpRdLib_PublicRelease/build/libnxprd.a
Successfully installed nxppy
Cleaning up…
root@raspberrypi:/home/pi/nxpnfc# python nxpnfc.py
2014-11-04 | 17:17:40 | Lancement du script
2014-11-04 | 17:17:40 | Chargement du fichier de configuration.
2014-11-04 | 17:17:40 | Attente lecture Mifare.
Traceback (most recent call last):
File « nxpnfc.py », line 74, in
except (SystemExit, KeyboardInterupt):
NameError: name ‘KeyboardInterupt’ is not defined
Nico
J’ai désinstallé puis réinstallé nxppy.
La réinstall semble bonne (aucune erreur affichée) mais j’ai toujours le mêmes problèmes avec le script python…
Testeur
Bonjour,
J’ai tout installé correctement cependant je n’ai pas vraiment compris comment le tester. Télécharger une appli android pour write un tag sur le NXP ? J’ai testé avec plusieurs applications mais toujours en « attente lecture mifare » rien ne se passe. Je suis surement passé complètement à coté d’un truc mais je ne comprends pas comment le tester.
Un petit coup de pouce ?
Merci en tout cas
Testeur
Excusez-moi petite erreur dans le précédent message, je ne peux tout simplement pas lancer le process puisque quand je le lance directement par -> sudo python nxpnfc.py j’ai l’erreur :
« Traceback (most recent call last) :
File « nxpnfc.py », line 72, in
except (SystemExit, KeyboardInterupt):
NameError: name ‘KeyboardInterupt’ is not defined
Merci de votre aide…
Fouyou
Merci pour cet excellent article. Il m’a bien aidé à me lancer dans cette aventure qui me tentait depuis longtemps. J’ai du procéder à pas mal de changements pour que tout fonctionne :
– Le script présenté ici ne peut marcher en l’état avec plusieurs tags NFC différents,
– Il faut faire attention car la version actuelle des outils n’est pas compatible avec les dernières mises à jour d’OS de la raspberry.
J’ai bien galéré pour faire le point la dessus et faire marcher l’ensemble. Si cela intéresse, j’ai tout noté sur mon (tout petit) blog qui me sert de bloc-note pour mon implémentation domotique.
Merci encore pour la bonne base qu’a constitué cet article !
Emmanuel
Bonjour ! Pouvez-vous ré-uploadé votre script svp ? Le lien semble cassé 🙁
Merci par avance,
Emmanuel.
Sébastien Joly
BOnjour Emmanuel,
Non les fichiers sont toujours en ligne (commande wget).
Je ne conseille pas la mise en oeuvre car la librairie nxppy n’est plus la mëme.
Emmanuel
Au temps pour moi !! Le fichier est bien accessible ! Effectivement nxppy semble avoir changé.
J’ai cependant réussi a reprendre le script de Fouyou et cela semble fonctionner. Cependant je rencontre des soucis à l’écriture sur mes cartes vierges. Je ne pense pas avoir bien compris le principe malgré la lecture de la doc sur github…
J’effectue des mifare.write_block sans succès… Des erreurs…
As-tu pu creuser davantage le côté « Ecriture » ?
Merci d’avance,
Emmanuel.
Mlab
Bonjour,
Super tuto qui nous à extrêmement bien avancé sur notre projet. Et-il par contre possible de lier un display LCD tout en utilisant la carte? Apparemment les bus SPI se marchent dessus.