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-RC522 ESP8266 NodeMCU
3,3V 3,3V
GND GND
RST D3
SDA D8
SCK D5
MOSI D7
MISO D6
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.

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere