Schnittstellen -RCTOP 102 RFID -Sensor mit ESPTOP 10 mit Arduino IDE

Schnittstellen -RCTOP 102 RFID -Sensor mit ESPTOP 10 mit Arduino IDE
ESP32 ist eine Leistungsscheibe, die kompakte Mikrocontroller-basierte Karte spielt, die eine Reihe von GPIO-Stiften für Schnittstellensensoren enthält. In diesem Tutorial wird ESP32 mit einem RFID -Sensor mit dem Arduino -Code miteinander verbunden. RC522 ist ein Smartsensor auf SPI -basiert.

Inhalt in diesem Artikel behandelt:

  • 1: Einführung in den RC522 -Sensor
  • 2: RC522 -Sensor -Pinout
  • 3: Schnittstellen von RC522 RFID -Sensor mit ESP32
  • 3.1: Schema
  • 3.2: Installation der erforderlichen Bibliotheken
  • 3.3: Die UID für RFID -Karte/Tag erhalten
  • 4: Lesen eines RFID -Tags mit ESP32
  • 4.1: Code
  • 4.2: Ausgabe
  • Abschluss

1: Einführung in den RC522 -Sensor

Der MFRC522 ist ein rFID -basiertes kontaktloses IC, das Daten mit einer Häufigkeit von 13 lesen und schreiben kann.56 MHz. Es ist für eine einfache Integration in eine Vielzahl von Anwendungen ausgelegt, einschließlich Zugriffskontrollsystemen, Zahlungsanschlüssen und anderen Systemen, für die sichere drahtlose Kommunikation erfordern.

Der Sensor verfügt über ein Design mit geringem Stromverbrauch und entspricht dem ISO/IEC 14443 A/MIFARE -Standard, mit dem er mit einer Vielzahl kontaktloser Karten und Tags kommunizieren kann.

Darüber hinaus verfügt das MFRC522 über eine eingebaute Antenne, die es zu einer bequemen und kompakten Lösung zum Hinzufügen von kontaktlosen Kommunikationsfunktionen zu einem Projekt macht.

2: RC522 -Sensor -Pinout

Der Sensor verfügt über insgesamt 8 Stifte, die ihn mit einem Mikrocontroller oder einem anderen Steuergerät verkürzen. Die Pinout des MFRC522 -Sensors lautet wie folgt:

Der SDA, Sck, Mosi, Und Miso Stifte werden verwendet, um den MFRC522.

Der Irq PIN kann verwendet werden, um einen Interrupt zu generieren, wenn bestimmte Ereignisse auftreten, z.

Der GND Pin verbindet sich mit dem Boden des Stromkreises und der RST Pin wird zum Zurücksetzen des Sensors verwendet.

Endlich, das 3.3v Pin wird verwendet, um dem Sensor Strom zu liefern.

Es ist wichtig zu beachten, dass diese PIN -Namen je nach spezifischem Modul geringfügig variieren können. Daher ist es immer am besten, das Datenblatt des Herstellers für die richtigen Pinout -Informationen zu konsultieren.

3: Schnittstellen von RC522 RFID -Sensor mit ESP32

Die Schnittstelle des MFRC522 -Sensors mit ESP32 -Mikrocontroller ist ein einfacher Prozess, der mit der MFRC522 -Bibliothek durchgeführt werden kann, die frei zum Download zur Verfügung steht. Diese Bibliothek bietet eine benutzerfreundliche Funktion für den Zugriff auf die Funktionalität des Sensors, einschließlich Funktionen zum Lesen und Schreiben von Daten in kontaktlose Karten und Tags.

Sobald die Bibliothek installiert ist. In der Skizze ist es wichtig, die richtigen Pin -Verbindungen zwischen ESP32 und dem MFRC522 -Sensor wie den SPI.

Mit der richtigen Verkabelung und der ordnungsgemäßen Bibliothek kann der ESP32 mit dem MFRC522 -Sensor kommunizieren und die gewünschten Aktionen wie Lesen und Schreiben auf Karten und Tags ausführen.

Für weitere Details zu ESP32 SPI -Protokoll und Arbeiten Sie den Artikel ESP32 SPI -Pins lesen.

3.1: Schema

RC522 Schematisches Bild mit ESP32 ist unten dargestellt:

3.2: Installation der erforderlichen Bibliotheken

MFRC522 Die Bibliothek wird zum Lesen der RFID -Karte und den Tags benötigt Uid. Öffnen Sie die IDE, gehen Sie zum Bibliotheksmanager und suchen Sie nach der MFRC522 -Bibliothek. Installieren Sie die Bibliothek in Arduino IDE.

Nach der Installation der MFRC522 -Bibliothek lesen wir die UID für RFID -Tags und Karten.

3.3: Die UID für RFID -Karte/Tag erhalten

Öffne das DumpInfo Beispiel für MFRC522 -Sensor. Gehe zu: Datei> Beispiele> MFRC522> DUPPINFO:

Der folgende Code wird in einem neuen IDE -Fenster geöffnet. Laden Sie den Code auf ESP32 hoch. Denken Sie daran, den Rücksetz- und Slave -Auswahl -PIN gemäß Ihrer Karte festzulegen. Jeder der ESP32 Digital Pins kann als festgelegt werden RST Und Ss:

Nach dem Hochladen von Code auf ESP32. Berühren und halten Sie die RFID -Karte/das Tag mit MFRC522 -Sensor:

Der Sensor liest die im RFID -Tag gespeicherten Daten und zeigt sie auf dem seriellen Monitor an. Hier können wir das sehen Uid Für RFID -Tag mit Angabe "02 DC B4 C3".

Insgesamt 16 (0-15) Sektoren, in denen Rfid Karten-/Tag -1K -Speicher sind organisiert. In jedem dieser 16 Sektoren sind vier (0-3) Blöcke enthalten. Jeder Block verfügt über die Fähigkeit, 16 (0-15) Datenbytes zu speichern.

Diese Daten stellt das dar:

16 Sektoren x 4 Blöcke x 16 Bytes von Daten = 1024 Bytes = 1k Speicher

Der serielle Monitor von Arduino IDE zeigt uns die Verteilung von 1K -Speicher des RFID -Tags. Diese Verteilung enthält auch die Sektoren, Blöcke und Dateninformationen in Zeilen und Spalten der Ausgabedaten:

Sie können auch die eindeutige ID lesen (Uid) für die Karte am Ende der Ausgabe:

4: Lesen eines RFID -Tags mit ESP32

Jetzt haben wir die eindeutige ID (UID) für RFID -Tag gelesen. Wir schreiben einen Arduino -Code, der diese Karteninformationen speichert und dem Benutzer Zugriff gewährt, wenn das RFID -Tag mit demselben UID mit dem MFRC522.

4.1: Code

Öffnen Sie die IDE SELECT ESP32 -Board und hochladen angegebener Code.

/*
****************
LinuxHint.com
****************
LinuxHint.com
****************
*/
#enthalten
#enthalten
#define ss_pin 21 /*Slave auswählen PIN* /
#define rst_pin 22 /*Pin für RC522* /zurücksetzen
#define led_g 12 /*Pin 8 für LED* /
MFRC522 MFRC522 (SS_PIN, RST_PIN); /*Erstellen Sie MFRC522 initialisiert*/
void setup ()

Serie.Beginnen Sie (9600); /*Serielle Kommunikation beginnt*/
Spi.Start(); /*SPI -Kommunikation initialisiert*/
MFRC522.Pcd_init (); /*RFID -Sensor initialisiert*/
PinMode (LED_G, Ausgabe); /*LED -Pin als Ausgabe eingestellt*/
Serie.println ("Legen Sie Ihre Karte an den Leser ...");
Serie.println ();

Hohlraumschleife ()

/*Suchen Sie nach der RFID -Karte*//
Wenn ( ! MFRC522.Picc_isnewcardpresent ())

zurückkehren;

/*Karte auswählen*/
Wenn ( ! MFRC522.PICC_READCARDERIAL ())

zurückkehren;

/*Uid für karten/tag auf seriell monitor*/anzeigen
Serie.print ("uid tag:");
String content = "";
Bytebrief;
für (byte i = 0; i < mfrc522.uid.size; i++)

Serie.Druck (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " ");
Serie.Druck (MFRC522.uid.uidbyte [i], hex);
Inhalt.concat (String (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " "));
Inhalt.concat (String (MFRC522.uid.uidbyte [i], hex));

Serie.println ();
Serie.print ("meldung:");
Inhalt.touppercase ();
if (Inhalt.Substring (1) == "02 DC B4 C3")/*UID für die Karte/Tag, die wir durch Ihre Karte uid ersetzen möchten*/

Serie.println ("autorisierter Zugriff"); /*Meldung drucken, wenn UID mit der Datenbank übereinstimmt*/
Serie.println ();
Verzögerung (500);
DigitalWrite (LED_G, Hoch); /*LED eingeschaltet*/
Verzögerung (2500);
DigitalWrite (LED_G, LOW);

anders
Serie.println ("Zugriff verweigert"); /*Wenn UID nicht übereinstimmt, über die Druckmeldung*//nicht übereinstimmt*/

Der Code begann mit der SPI- und MFRC522 -Bibliothek. Als nächstes haben wir den Reset- und Slave Select Pin für den Sensor definiert. Eine LED am Pin D12 wird als Ausgang initialisiert.

Die RFID -Karte, die wir lesen möchten, wird durch Definieren der UID initialisiert. Dies ist die gleiche UID, die wir mit dem erhalten haben DumpInfo Beispielcode:

Ein WENN Der Zustand überprüft die UID auf die Karte, die mit dem Sensor abgebildet ist. Wenn die UID mit der in der Code -LED übereinstimmenden und autorisierten Zugriffsnachricht übereinstimmt, bleibt die LED ausgeschaltet und der Zugriff verweigert wird angezeigt, wenn eine andere Karte abgebildet ist.

4.2: Ausgabe

Im Ausgang können wir sehen, dass das RFID -Tag nicht mit dem MFRC522.:

Berühren Sie oder bringen Sie die RFID -Karte/das nach der Ausgabe in die Nähe des Sensors mit. Auf dem seriellen Monitor werden die Karten -UID angezeigt:

LED wird eingeschaltet, wenn der Zugang gewährt wird und UID mit dem, den wir im Code definiert haben, übereinstimmt:

Wir haben die Schnittstelle des RFID -Tags mit dem RC522 -Sensor mit ESP32 -Board und IDE abgeschlossen.

Abschluss

ESP32 ist eine IoT -Karte, die alle erforderlichen Kommunikationsschnittstellen zum Austausch von Daten zwischen verschiedenen Geräten bietet. ESP32 verfügt über mehrere GPIO -Stifte, um Daten von Sensoren zu lesen. Die Verwendung des SPI -Protokolls ESP32 kann RFID -Sensordaten lesen, und mehrere Projekte können entwickelt werden. Dieser Artikel behandelt die ESP32 -Schnittstelle mit RC522 -Sensor und Code, die zum Lesen einer RFID -Karte/des Tags erforderlich sind.