ESP8266 - RFID

Dieses Tutorial zeigt dir, wie man RFID/NFC mit dem ESP8266 verwendet. Das RFID/NFC-System besteht aus zwei Komponenten: einem Lesegerät und einem Tag. Zwei der beliebtesten RFID/NFC-Leser sind der RC522 und der PN532. Dieses Tutorial verwendet den RC522 RFID/NFC-Leser, der günstig und einfach zu bedienen ist.

Der RC522 RFID/NFC-Leser kann:

Dieses Tutorial konzentriert sich auf:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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 des RFID-RC522-Moduls

Der RFID-RC522 verfügt über acht Pins, von denen einige gemeinsam genutzt werden und die übrigen zwischen drei Kommunikationsmodi aufgeteilt sind: SPI, I2C und UART. Gleichzeitig kann nur ein Kommunikationsmodus verwendet werden. Die Pins sind:

  • GND: muss mit GND (0V) verbunden werden
  • VCC: muss mit VCC (3,3 V) verbunden werden
  • RST: ist ein Pin zum Zurücksetzen und Herunterfahren der Stromversorgung. Wenn dieser Pin auf LOW geht, wird eine harte Stromabschaltung aktiviert. Bei der ansteigenden Flanke wird das Modul zurückgesetzt.
  • IRQ: ist ein Interrupt-Pin, der den Mikrocontroller benachrichtigen kann, wenn sich ein RFID-Tag in seiner Nähe befindet.
  • MISO/SCL/TX: fungiert als MISO, wenn die SPI-Schnittstelle aktiviert ist, fungiert als SCL, wenn die I2C-Schnittstelle aktiviert ist und fungiert als TX, wenn die UART-Schnittstelle aktiviert ist.
  • MOSI: fungiert als MOSI, wenn die SPI-Schnittstelle aktiviert ist.
  • SCK: fungiert als SCK, wenn die SPI-Schnittstelle aktiviert ist.
  • SS/SDA/RX: fungiert als SS, wenn die SPI-Schnittstelle aktiviert ist, fungiert als SDA, wenn die I2C-Schnittstelle aktiviert ist und fungiert als RX, wenn die UART-Schnittstelle aktiviert ist.
RFID-RC522 Pinbelegung

※ Notiz:

  • Die Anordnung der Pins kann je nach Hersteller variieren. FOLGEN Sie IMMER den auf dem Modul aufgedruckten Beschriftungen. Die Abbildung oben ist die Pinbelegung des Moduls vom Hersteller DIYables.
  • Verbinden Sie den VCC-Pin nicht mit dem 5V-Pin. Dadurch könnte Ihr Modul beschädigt werden.
  • Die MFRC522-Bibliothek unterstützt nur den SPI-Modus, daher verwendet diese Anleitung ausschließlich SPI-Kommunikation.

Wie RFID/NFC funktioniert

RFID/NFC besteht aus zwei Teilen: Lesegerät und Tag:

  • Das Lesegerät besteht aus einem Funkfrequenzmodul und einer Antenne, die ein hochfrequentes elektromagnetisches Feld erzeugt.
  • Der RFID-Tag ist in der Regel ein passives Gerät, das keine Energiequelle benötigt. Er verfügt über einen Mikrochip zum Speichern und Verarbeiten von Daten sowie über eine Antenne zum Empfangen und Senden von Signalen. Der Tag dient dazu, Informationen wie eine UID (Unique ID) und andere Daten zu speichern.
Arduino RFID/NFC-System

Der Tag muss sich in der Nähe des Lesegeräts befinden, um auf die darin enthaltenen Informationen zugreifen zu können. Der Lesevorgang ist wie folgt:

  • Das Lesegerät erzeugt ein elektromagnetisches Feld, das Elektronen durch die Antenne des Tags fließen lässt und den Chip mit Energie versorgt.
  • Der Chip im Tag antwortet dann, indem er die angeforderten Informationen in Form eines Funksignals zurück an das Lesegerät sendet.
  • Das Lesegerät erkennt das Signal und wandelt es in Daten um.
  • Der ESP8266 liest die Daten vom Lesegerät aus.

Verdrahtungsdiagramm zwischen RFID-RC522-Modul und ESP8266

ESP8266 NodeMCU RFID RC522 Verdrahtungsdiagramm

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Wenn Sie männlich-zu-weibliche Jumperdrähte verwenden, können Sie den ESP8266 direkt mit dem RFID-RC522-Modul verbinden. Wenn Sie jedoch männlich-zu-männliche Jumperdrähte verwenden, müssen Sie den ESP8266 mit dem RFID-RC522-Modul über ein Breadboard verbinden.

Verdrahtungstabelle des RFID/NFC RC522-Moduls und ESP8266

RFID/NFC RC522 ESP8266
SS → D8 (SPI CS/SS)
SCK → D5 (SPI CLK)
MOSI → D7 (SPI MOSI)
MISO → D6 (SPI MISO)
IRQ not connected
GNDGND
RST → D2
VCC → 3.3V

ESP8266 RFID/NFC-Code

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN D8 // The ESP8266 pin D8 #define RST_PIN D2 // The ESP8266 pin D2 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

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial Wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet an, wenn du ESP8266 zum ersten Mal verwendest.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Öffne die Arduino IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. (z. B. NodeMCU 1.0 (ESP-12E Module)), und den jeweiligen COM-Port.
  • Klicke auf das Libraries-Symbol in der linken Seitenleiste der Arduino IDE.
  • Suche nach “MFRC522” und finde die Bibliothek, die von GithubCommunity bereitgestellt wird.
  • Klicke auf den Install-Button, um die MFRC522-Bibliothek zu installieren.
ESP8266 NodeMCU MFRC522-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn mit der Arduino-IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
  • Öffnen Sie den Seriemonitor.
  • Halten Sie einige RFID-/NFC-Tags an das RFID-RC522-Modul.
  • Überprüfen Sie die UID im Seriemonitor.
COM6
Send
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
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!