Lire & écrire sur des badges/cartes RFID avec un Raspberry Pi : le code
Je reviens vers vous comme promis pour la suite de mon dossier RFID. Si vous nous rejoignez, consultez tout d’abord la partie qui concerne le montage :
Vérification des mises à jour
Vous devez avoir l’habitude de ces deux commandes classiques :
sudo apt-get update sudo apt-get upgrade
Histoire de commencer sur de bonnes bases et d’être à jour au niveau du système. Ceci nous permettra d’éviter le genre d’erreurs qui nous font perdre un temps fou.
Installation de Python 2.7
Ensuite, nous allons installer notre grand ami python. Et pour cela, nous allons faire un simple :
sudo apt-get install python2.7-dev
Vous devriez obtenir le même résultat :
Il faut bien entendu taper la lettre Y et appuyer sur entrée.
Installation de la librairie SPI-Py
Une simple commande :
git clone https://github.com/lthiery/SPI-Py.git
Celle-ci vous permet d’obtenir ce résultat :
L’objectif de cette librairie, c’est d’installer les composants pour gérer l’interface SPI. Nous allons maintenant passer à l’installation en effectuant les deux commandes suivantes :
cd ~/SPI-Py sudo python setup.py install
En lançant ces deux commandes vous obtiendrez le même résultat que moi. Si ce n’est pas le cas, je vous invite à m’en faire part dans les commentaires de cet article.

Installation d’une classe simple pour utiliser la carte RC-522
Pour cela, nous allons faire un dernier git clone afin de récupérer cette fameuse classe :
git clone https://github.com/pimylifeup/MFRC522-python.git
Vous obtiendrez ce résultat :
Et voilà, tout est installé ! Nous allons pouvoir « coder » un peu.
Codage du fichier pour écrire sur une carte RFID
Pour commencer, rendons-nous dans le répertoire que nous avons récupéré en provenance de GitHub. C’est le moment d’écrire dans un fichier que nous allons tout simplement nommer Write.py. Pour cela, vous devez exécuter les commandes suivantes :
cd ~/MFRC522-python sudo nano Write.py
A l’intérieur de ce fichier, nous allons écrire le code suivant :
Voici comment fonctionne ce code. Tout d’abord, la première ligne indique qu’il s’agit de code python. Ensuite, on importe la classe propre au Raspberry Pi qui permet d’utiliser les GPIO (afin de transmettre des informations à travers le câblage réalisé – cf article précédent). On continue en important la classe permettant de manipuler la carte RC-522. Puis on instancie la classe SimpleMFRC522 pour pouvoir l’utiliser. Ensuite, on demande à l’utilisateur de saisir du texte qui sera écrit sur la carte RFID. Dès que l’utilisateur aura appuyé sur la touche entrée pour valider, la ligne contenant la commande reader.write pourra écrire sur la carte RFID. Pour cela, le Raspberry Pi sera placé en position d’attente jusqu’à ce qu’une carte RFID se présente au dessus de notre module RC-522. A cet instant, la console répondra le terme Written et libérera le contrôle des GPIO.
Dès que vous avez copié-collé le code dans le fichier, vous devez taper un CTRL+X et appuyer sur la touche Y pour enregistrer le fichier qui a été édité.
Il ne vous reste plus qu’à lancer le programme que nous venons d’écrire avec un simple :
sudo python Write.py
Ensuite saisissez un mot, puis validez en appuyant sur entrée. Vous devez maintenant placer votre carte RFID devant le module. Ce qui produira le résultat suivant dans la console :
Codage du fichier pour lire une carte RFID
A présent nous allons vérifier que la phase d’écriture s’est bien déroulée, en lisant la carte RFID. Pour cela, nous allons écrire un nouveau programme dans un fichier Read.py. On lance donc la commande suivante :
sudo nano Read.py
Et on y inscrit le code suivant :
Je vous explique : c’est quasiment la même chose que pour l’écriture, sauf qu’on fait un reader.read à la place du reader.write. Cette fonction va nous retourner deux valeurs : un id et un texte, que nous afficherons dans la console. Pour enregistrer le fichier, même chose que tout à l’heure : un petit CTRL+X suivi de la touche Y. Pour lancer le programme, il vous suffit de faire un :
sudo python Read.py
Une fois que vous aurez lancé le programme, celui-ci attendra sagement que vous présentiez la carte RFID pour vous afficher la réponse. Lorsque cela sera fait, vous obtiendrez le même résultat que moi :
J’espère que cet article vous a permis de découvrir plein de notions intéressantes. Bien sûr, si jamais vous rencontriez des soucis, les commentaires sont là pour vous exprimer.