ESP32 - RFID/NFC

Dieses Tutorial erklärt dir, wie du den ESP32 mit dem RC522 RFID/NFC-Leser verwendest, um die Informationen von einem RFID/NFC-Tag auszulesen.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×RFID Card
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das RFID-RC522-Modul

Pinbelegung

RFID-RC522-Modul-Pinbelegung

Das RFID-RC522-Modul hat acht Pins. Einige Pins werden zwischen drei Kommunikationsschnittstellen geteilt: SPI, I2C, UART. Zur gleichen Zeit kann nur ein Kommunikationsmodus verwendet werden. Die Pins sind:

  • GND-Pin: Verbinde diesen Pin mit GND (0 V)
  • VCC-Pin: Verbinde diesen Pin mit VCC (3,3 V)
  • RST-Pin: ist ein Pin für Reset und Herunterfahren. Wenn dieser Pin auf Low geht, wird ein hartes Herunterfahren aktiviert. Bei der steigenden Flanke wird das Modul zurückgesetzt.
  • IRQ-Pin: ist ein Interrupt-Pin, der den ESP32 benachrichtigen kann, wenn ein RFID-Tag in seinen Erkennungsbereich kommt.
  • MISO/SCL/TX-Pin: funktioniert als:
    • MISO-Pin, wenn SPI-Schnittstelle aktiviert ist
    • SCL-Pin, wenn I2C-Schnittstelle aktiviert ist
    • TX-Pin, wenn UART-Schnittstelle aktiviert ist.
  • MOSI-Pin: funktioniert als MOSI, wenn SPI-Schnittstelle aktiviert ist.
  • SCK-Pin: funktioniert als SCK, wenn SPI-Schnittstelle aktiviert ist
  • SS/SDA/RX-Pin: funktioniert als:
    • SS-Pin, wenn SPI-Schnittstelle aktiviert ist
    • SDA-Pin, wenn I2C-Schnittstelle aktiviert ist
    • RX-Pin, wenn UART-Schnittstelle aktiviert ist.

    ※ Notiz:

    • Die Reihenfolge der Pins kann je nach Hersteller variieren. VERWENDEN SIE IMMER die auf dem Modul aufgedruckten Beschriftungen. Das obige Bild zeigt die Pinbelegung der Module des Herstellers DIYables.
    • Das RFID-RC522-Modul arbeitet mit 3,3 V. Schließen Sie den VCC-Pin des RFID-RC522-Moduls nicht an 5 V an. 5 V kann das RFID-RC522-Modul verbrennen.
    • Diese Anleitung verwendet die SPI-Schnittstelle für die Kommunikation zwischen ESP32 und dem RFID-RC522-Modul.

Verdrahtungsdiagramm

ESP32 RFID RC522 Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

Die Verkabelungstabelle zwischen RFID/NFC RC522-Modul und 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

ESP32 RFID/NFC-Code

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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 } } }

Schnelle Schritte

  • Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet an.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Geben Sie in das Suchfeld „MFRC522“ ein, suchen Sie dann nach der Bibliothek von GithubCommunity
  • Installieren Sie die Bibliothek, indem Sie auf die Schaltfläche Installieren klicken.
ESP32 MFRC522-Bibliothek
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie in der Arduino-IDE auf die Schaltfläche Hochladen klicken.
  • Öffnen Sie den seriellen Monitor in der Arduino-IDE.
Wie öffnet man den seriellen Monitor in der Arduino-IDE?
  • Tippe mehrere RFID- und NFC-Tags auf dem RFID-RC522-Modul an.
  • Sieh dir die im Serial Monitor angezeigte UID an.
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

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!