Lire & écrire sur des badges/cartes RFID avec un Raspberry Pi : le code

Soutenez un média indépendant

Reportages, enquêtes, initiatives et solutions en accès libre : pour un numérique plus responsable, notre rédaction compte sur vous.

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 :

Installation de Python 2.7

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 :

Git clone SPI PY

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.

Resultat installation Librairie SPI

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 :

Git clone MFRC522

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 :

Ecrire sur une carte RFID avec un Raspberry Pi

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 :

Lecture du code RFID Raspberry Pi

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.

Sur le même thème :