ESP32 - RFID/NFC

Ce tutoriel vous explique comment utiliser l'ESP32 avec un lecteur RFID/NFC RC522 pour lire les informations d'une étiquette RFID/NFC.

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module RFID-RC522

Brochage

Module RFID-RC522 Brochage

Le module RFID-RC522 possède 8 broches, certaines broches sont partagées entre trois interfaces de communication : SPI, I2C, UART. À la fois, un seul mode de communication peut être utilisé. Les broches sont :

  • Broche GND : connectez cette broche à GND (0V)
  • Broche VCC : connectez cette broche à VCC (3.3)
  • Broche RST : broche pour réinitialisation et extinction. Lorsque cette broche est basse, l'extinction complète est activée. Sur le front montant, le module est réinitialisé.
  • Broche IRQ : broche d'interruption qui peut alerter l'ESP32 lorsqu'une étiquette RFID entre dans sa portée de détection.
  • Broche MISO/SCL/TX : fonctionne comme :
    • Broche MISO si l'interface SPI est activée
    • Broche SCL si l'interface I2C est activée
    • Broche TX si l'interface UART est activée.
  • Broche MOSI : fonctionne comme MOSI si l'interface SPI est activée.
  • Broche SCK : fonctionne comme SCK si l'interface SPI est activée
  • Broche SS/SDA/RX : fonctionne comme :
    • Broche SS si l'interface SPI est activée
    • Broche SDA lorsque l'interface I2C est activée
    • Broche RX lorsque l'interface UART est activée.

    ※ Note:

    • L'ordre des broches peut varier selon les fabricants. Utilisez TOUJOURS les étiquettes imprimées sur le module. L'image ci-dessus montre le brochage des modules du fabricant DIYables.
    • Le module RFID-RC522 fonctionne avec 3,3V. Ne connectez pas la broche VCC du module RFID-RC522 à 5V. 5V peut endommager le module RFID-RC522.
    • Ce tutoriel utilise l'interface SPI pour la communication entre l'ESP32 et le module RFID-RC522.

Diagramme de câblage

Schéma de câblage ESP32 RFID RC522

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..

Tableau de câblage entre le module RFID/NFC RC522 et l'ESP32

RFID/NFC RC522 Module ESP32
SS pin → (29) GPIO5
SCK pin → (30) GPIO18
MOSI pin → (37) GPIO23
MISO pin → (31) GPIO19
IRQ pin(not connected)
GND pinGND
RST pin → (11) GPIO27
VCC pin → 3.3V

Code RFID/NFC ESP32

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32/esp32-rfid-nfc */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 5 // ESP32 pin GPIO5 #define RST_PIN 27 // ESP32 pin GPIO27 MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.print("RFID/NFC Tag Type: "); Serial.println(rfid.PICC_GetTypeName(piccType)); // print UID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'ESP32, consultez Installation du logiciel ESP32..
  • Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
  • Tapez "MFRC522" dans la boîte de recherche, puis recherchez la bibliothèque par GithubCommunity
  • Installez la bibliothèque en cliquant sur le bouton Install.
Bibliothèque ESP32 MFRC522
  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload de l'IDE Arduino.
  • Ouvrez le moniteur série sur l'IDE Arduino.
Comment ouvrir le moniteur série sur Arduino IDE
  • Appuyez sur plusieurs étiquettes RFID/NFC sur le module RFID-RC522
  • Voyez l'UID affiché sur le moniteur série
COM6
Send
Tap an RFID/NFC tag on the RFID-RC522 reader RFID/NFC tag Type: MIFARE 1KB UID: 2B B8 59 B1 RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 15 75 46 7A 2C 5B 7E
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !