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×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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 THAT:

    • 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

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils 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 comment configurer l'environnement pour l'ESP32 sur Arduino IDE.
  • 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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!