ESP8266ESP8266 - Einführung

RFID-Reader RC522

In diesem Artikel zeige ich Dir, wie Du den RFID-RC522 Reader mit einem ESP8266 verbinden und die verschiedene RFID-Tags auslesen kann. Bevor wir nun mit dem Aufbau der Schaltung auf dem Breadboard beginnen, hier wie immer die Liste der eingesetzten Materialen:

Schaltplan und Pin-Belegung

Im ersten Schritt bauen wir nun die Schaltung nach folgender Pin-Belegung auf:

RFID-RC522ESP8266 NodeMCU
3,3V3,3V
GNDGND
RSTD3
SDAD8
SCKD5
MOSID7
MISOD6
IRQ

Ich habe zudem an den Pin D4 den Plus-Pol einer LED angeschlossen und den Ground auf GND gelegt. Damit möchte ich bei einem Lesevorgang die LED einschalten.

Vorbereitungen in ArduinoIDE

Nach dem wir nun die Schaltung aufgebaut haben können wir mit der Implementierung beginnen. Das Arduino Programm soll die RFID-Tags lesen und während dem Lesevorgang eine LED einschalten. Dazu starten wir nun die ArduinoIDE und installieren zunächst über den Boardverwalter die MFRC522 Bibliothek.

Sketch

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN D8
#define RST_PIN D3
const int ledPin = D4;

MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
MFRC522::MIFARE_Key key;

void setup(void){
SPI.begin();
rfid.PCD_Init();

Serial.begin(115200);
Serial.println("Boot RFID-Reader...");

pinMode(ledPin, OUTPUT);
}

void loop(void){
digitalWrite(ledPin,LOW);
handleRFID();
}

void handleRFID() {
if (!rfid.PICC_IsNewCardPresent()) return;
if (!rfid.PICC_ReadCardSerial()) return;
Serial.println(printHex(rfid.uid.uidByte, rfid.uid.size));

digitalWrite(ledPin,HIGH);
delay(500);
digitalWrite(ledPin,LOW);

rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
}

String printHex(byte *buffer, byte bufferSize) {
String id = "";
for (byte i = 0; i < bufferSize; i++) {
id += buffer[i] < 0x10 ? "0" : "";
id += String(buffer[i], HEX);
}
return id;
}

Im Serial-Monitor sehen wir nun die verschiedenen RFID-Tags, mit denen wir nun ein einfaches Zutrittsberechtigungssystem erstellen können. Wichtig ist hierbei aber gesagt, dass die Technik nicht besonders sicher ist, und damit nicht für sicherheitsrelevante Bereiche eingesetzt werden sollte. Ich habe hiermit später vor das Eingangstor unseres Hauses zu steuern. Ich denke dafür reicht die Technik aus.

Ich hoffe Dir gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

2 Gedanken zu „RFID-Reader RC522

  • Hallo Matthias,

    tolle Anleitung!
    Ich würde das Projekt gerne für einen ESP-01 umsetzen. Ich habe leider bei meiner Recherche noch nicht herausgefunden, wie ich mit dem ESP-01 über SPI kommunizieren kann.

    Hast Du vielleicht eine Ahnung?

    Viele Grüße
    Tom

    Antwort
    • Helen Roth

      hallo

      der esp01 hat kein spi Port zur Verfügung.

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.