ESP32 - RFID/NFC

Deze tutorial legt uit hoe u de ESP32 met de RC522 RFID/NFC reader gebruikt om informatie van een RFID/NFC-tag te lezen.

Hardware Vereist

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB Kabel Type-C
1×RFID/NFC RC522 Kit (lezer + tags)
1×RFID Sleutelhanger
1×RFID Kaart
1×Breadboard (experimenteerprint)
1×Jumper Draden
1×(Optioneel) DC Voedingsaansluiting
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over het RFID-RC522 Module

Pinout

RFID-RC522 module Pinout

Het RFID-RC522 module heeft 8 pinnen, waarvan sommige gedeeld worden door drie communicatieinterfaces: SPI, I2C, UART. Er kan telkens maar één communicatiemodus tegelijk worden gebruikt. De pinnen zijn:

  • GND pin: verbind deze pin met GND (0V)
  • VCC pin: verbind deze pin met VCC (3.3V)
  • RST pin: dit is een reset- en power-down pin. Wanneer deze pin laag gaat, wordt hard power-down geactiveerd. Bij een stijgende flank wordt het module gereset.
  • IRQ pin: een interrupt pin die de ESP32 kan waarschuwen wanneer een RFID-tag binnen detectiebereik komt.
  • MISO/SCL/TX pin: werkt als:
    • MISO pin indien SPI interface geactiveerd is
    • SCL pin indien I2C interface geactiveerd is
    • TX pin indien UART interface gebruikt wordt
  • MOSI pin: werkt als MOSI bij SPI interface
  • SCK pin: werkt als SCK bij SPI interface
  • SS/SDA/RX pin: werkt als:
    • SS pin bij SPI interface
    • SDA pin bij I2C interface
    • RX pin bij UART interface

    ※ Notiz:

    • De volgorde van de pinnen kan verschillen per fabrikant. Gebruik ALTIJD de labels die op het module zijn gedrukt. De bovenstaande afbeelding toont de pinout van de modules van de fabrikant DIYables.
    • Het RFID-RC522 module werkt op 3.3V. Verbind de VCC pin van het RFID-RC522 module NIET met 5V. 5V kan het module beschadigen.
    • Deze tutorial maakt gebruik van de SPI interface voor communicatie tussen ESP32 en het RFID-RC522 module.

Bedradingsschema

ESP32 RFID RC522 bedradingsschema

This image is created using Fritzing. Click to enlarge image

De aansluitingen tussen RFID/NFC RC522 Module en ESP32

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

ESP32 RFID/NFC Code

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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 } } }

Snelle Stappen

  • Als dit de eerste keer is dat u de ESP32 gebruikt, raadpleeg dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Klik op het Bibliotheken icoon in de linkerzijbalk van de Arduino IDE.
  • Typ “MFRC522” in het zoekvak en zoek naar de bibliotheek van GithubCommunity
  • Installeer de bibliotheek door te klikken op de Installeren knop.
ESP32 MFRC522 bibliotheek
  • Kopieer de bovenstaande code en plak deze in de Arduino IDE.
  • Compileer en upload de code naar het ESP32 bord door op de Upload knop te klikken in de Arduino IDE
  • Open de Seriële Monitor in Arduino IDE
Hoe de seriële monitor te openen in Arduino IDE
  • Houd meerdere RFID/NFC tags tegen het RFID-RC522 module
  • Bekijk de UID die op de Seriële Monitor wordt weergegeven
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  

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

*Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap het proces te volgen.*

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!