Raspberry Pi - RFID
Ce tutoriel vous apprend à utiliser RFID/NFC avec Raspberry Pi. Le système RFID/NFC se compose de deux composants : un lecteur et une étiquette. Deux des lecteurs RFID/NFC les plus populaires sont le RC522 et le PN532. Ce tutoriel utilisera le lecteur RFID/NFC RC522, qui est bon marché et facile à utiliser.
Le lecteur RFID/NFC RC522 peut :
- Obtient l'UID d'une étiquette RFID/NFC
- Change l'UID d'une étiquette RFID/NFC (uniquement si l'étiquette le permet)
- Stocke des données sur une étiquette RFID/NFC
- Récupère des données d'une étiquette RFID/NFC
Ce tutoriel se concentre sur :
- Comment connecter le module RC522 au Raspberry Pi
- Comment programmer le Raspberry Pi pour communiquer avec le module RC522 afin de lire l'UID d'une étiquette RFID.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du module RFID-RC522
Brochage du module RFID-RC522
Le RFID-RC522 possède 8 broches, dont certaines sont des broches communes et d'autres sont partagées entre trois modes de communication : SPI, I2C et UART. Un seul mode de communication peut être utilisé à la fois. Les broches sont :
- Broche GND : Cela doit être connecté à GND (0V).
- Broche VCC : Cela doit être connecté à VCC (3.3).
- Broche RST : C'est une broche pour la réinitialisation et la mise hors tension. Lorsque cette broche devient basse, la mise hors tension complète est activée. Sur le front montant, le module est réinitialisé.
- Broche IRQ : C'est une broche d'interruption qui peut alerter le microcontrôleur lorsqu'une étiquette RFID entre dans sa proximité.
- Broche MISO/SCL/TX : Cela agit comme MISO lorsque l'interface SPI est activée, agit comme SCL lorsque l'interface I2C est activée et agit comme TX lorsque l'interface UART est activée.
- Broche MOSI : Cela agit comme MOSI lorsque l'interface SPI est activée.
- Broche SCK : Cela agit comme SCK lorsque l'interface SPI est activée.
- Broche SS/SDA/RX : Cela agit comme SS lorsque l'interface SPI est activée, agit comme SDA lorsque l'interface I2C est activée et agit comme RX lorsque l'interface UART est activée.
※ Note:
- Les broches du module peuvent être disposées différemment selon le fabricant. Il est important d'utiliser les étiquettes imprimées sur le module, comme on le voit dans l'image ci-dessus de DIYables.
- Ne faites pas l'erreur de connecter la broche VCC à la broche 5V, car cela pourrait endommager le module.
- La bibliothèque MFRC522 ne prend en charge que le mode SPI, donc ce tutoriel se concentrera sur la communication SPI.
Fonctionnement de la RFID/NFC
RFID/NFC se compose de deux composants : lecteur et étiquette.
- Le lecteur est composé d'un module à fréquence radio et d'une antenne qui produit un champ électromagnétique de haute fréquence.
- La balise est généralement un dispositif passif, ne nécessitant pas de source d'alimentation. Elle possède une puce qui stocke et traite les informations, ainsi qu'une antenne pour envoyer et recevoir des signaux. La balise est utilisée pour stocker les informations, y compris l'UID (Identifiant Unique) et les données.
La balise doit être proche du lecteur pour lire l'information qu'elle contient. Le processus de lecture est le suivant :
- Le lecteur génère un champ électromagnétique qui provoque un flux d'électrons à travers l'antenne de l'étiquette, alimentant la puce.
- La puce à l'intérieur de l'étiquette répond ensuite en renvoyant l'information demandée au lecteur sous la forme d'un signal radio.
- Le lecteur détecte le signal et le convertit en données.
- Le Raspberry Pi lit les données du lecteur.
Schéma de câblage entre le module RFID-RC522 et le Raspberry Pi
This image is created using Fritzing. Click to enlarge image
Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :
Tableau de câblage du module RFID/NFC RC522 et Raspberry Pi
RC522 RFID Reader | Raspberry Pi |
---|---|
SS | Pin 24 (GPIO8) |
SCK | Pin 23 (GPIO11) |
MOSI | Pin 19 (GPIO10) |
MISO | Pin 21 (GPIO9) |
IRQ | Not connected (can be left unconnected) |
GND | Any GND Pin |
RST | Pin 31 (GPIO12) |
VCC | Pin 1 or Pin 16 (3.3V) |
Code RFID/NFC pour Raspberry Pi
Étapes rapides
- Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
- Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
- Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
- Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
- Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
- Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
- Activez l'interface SPI sur Raspberry Pi en suivant les instructions sur Raspberry Pi - comment activer l'interface SPI
- Assurez-vous d'avoir la bibliothèque spidev installée. Sinon, installez-la en utilisant la commande suivante :
- Assurez-vous que la bibliothèque mfrc522 est installée. Si ce n'est pas le cas, installez-la en utilisant la commande suivante :
- Créez un fichier de script Python rc522_rfid.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
- Appuyez sur différentes étiquettes RFID/NFC sur le module RFID-RC522.
- Vérifiez l'UID sur le moniteur série.
Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.