Table of contents
Nutzen Sie RFID für Ihr nächstes Projekt! Was ist RFID? RFID-Tags, -Karten und -Aufkleber: Worin liegt der Unterschied? Auslesen von RFID-Tags mit Arduino RFID-Tags mit MicroPython auslesen Arduino-Projekt zur Bürozeiterfassung mit RFIDNutzen Sie RFID für Ihr nächstes Projekt!
Wir alle haben uns schon einmal „eingewählt“, sei es beim kontaktlosen Bezahlen mit Karte, beim Scannen einer Fahrkarte oder beim Vorhalten eines Ausweises an einen Türleser. Ein freundlicher Piepton und ein grünes Licht gewähren uns Zutritt, oder manchmal signalisiert ein weniger freundliches rotes Blinken, dass wir es erneut versuchen sollen. Die unsichtbare Magie dahinter ist die Radiofrequenzidentifikation (RFID) .
RFID ist aber nicht nur etwas für Banken, Verkehrsbetriebe oder Lagerhäuser. Auch Bastler und Tüftler können es nutzen! Da DIY-Elektronikprojekte immer ausgefeilter werden, sind Technologien, die einst industriellen Systemen vorbehalten waren, nun als einfache Plug-and-Play-Platinen und -Module verfügbar. Das bedeutet, dass Sie Ihren eigenen Kreationen leistungsstarke, praxisnahe Identifikationsfunktionen hinzufügen können, ohne sich durch Hunderte von Seiten Chip-Datenblättern quälen zu müssen.
In diesem Artikel geben wir Ihnen einen kurzen Überblick darüber, was RFID ist, stellen Ihnen seine gängigen und überraschenden Einsatzmöglichkeiten vor und zeigen Ihnen, wie einfach Sie mit unserem 125-kHz-RFID- Lesegerät in Ihren eigenen Arduino- oder MicroPython-Projekten experimentieren können.
Was ist RFID?
Die Radiofrequenzidentifikation (RFID) nutzt elektromagnetische Felder, um kleine elektronische Geräte, sogenannte RFID-Tags, automatisch zu identifizieren und zu verfolgen .
Ein RFID-System umfasst üblicherweise:
-
Ein Funksender erzeugt das HF-Signal, das zur Aktivierung passiver Tags verwendet wird.
-
Ein Funkempfänger – wartet auf die Antwort des Tags.
-
Eine Antenne – typischerweise zwischen Sender und Empfänger geteilt, die zum Ausstrahlen und Empfangen des Signals dient.
-
Ein Radiotransponder (RFID-Tag) – ein winziger Chip mit eigener Antenne, der bei Stromzufuhr reagiert.

So funktioniert es: Die Antenne des Lesegeräts sendet ein Abfragesignal aus . Sobald ein RFID-Tag in das Feld gelangt, gewinnt seine Antenne genügend Energie, um den Chip zu versorgen. Der Chip sendet dann Daten per Rückstreuung zurück : Er verändert die Art und Weise, wie er das Funksignal reflektiert. Diese Veränderungen enthalten die eindeutige ID des Tags und weitere Daten, die der Empfänger ausliest und interpretiert.
RFID findet sich in vielen Bereichen des täglichen Lebens wieder: kontaktlose Zahlungskarten, Diebstahlsicherungen im Einzelhandel, Fahrkarten für den öffentlichen Nahverkehr und die Lagerortverfolgung. Doch die Technologie wird auch in überraschenderen Bereichen eingesetzt: zur Zeitmessung bei Marathonläufen, für bargeldloses Bezahlen in Freizeitparks, zur Authentifizierung von Luxusgütern und Weinflaschen oder sogar zur Verfolgung von Bienen in Forschungsprojekten. Überall dort, wo eine schnelle, berührungslose Identifizierung von Objekten oder Personen erforderlich ist, kommt häufig RFID zum Einsatz.
RFID-Tags, -Karten und -Aufkleber: Worin liegt der Unterschied?
Alle drei Optionen basieren auf demselben Prinzip: einem kleinen RFID-Chip in Kombination mit einer Antenne, unterscheiden sich jedoch in Bauform und Verwendungszweck:
-
RFID-Tags – Robuste Einheiten, die in Produkte eingebettet, an Gegenständen befestigt oder in Textilien eingenäht werden können. Ideal für Industrie- oder Maker-Projekte, bei denen Wiederverwendbarkeit wichtig ist.
-
RFID-Karten – Standardgroße Plastikkarten im Kreditkartenformat, ideal für Zutrittskontrollsysteme, Mitarbeiterausweise oder bargeldlose Zahlungssysteme.
- RFID-Aufkleber – Dünne, flexible Etiketten mit Kleberückseite, die sich schnell auf Verpackungen, Bücher oder Einzelhandelsartikel anbringen lassen. Kostengünstig und für den Einmalgebrauch bestimmt.
Auslesen von RFID-Tags mit Arduino
Mit unserer 125-kHz-RFID-Leseplatine ist der Einstieg in RFID-Projekte ganz einfach. Sie ist in zwei Varianten erhältlich:
-
I2C-Version – verwendet den EasyC/Qwiic-Anschluss zum einfachen Verbinden und zur Reihenschaltung mehrerer Geräte.
-
UART-Version – kommuniziert über eine einfache serielle TX/RX-Leitung.
Wir stellen außerdem eine eigene Arduino-Bibliothek zur Verfügung, um die Entwicklung so einfach wie möglich zu gestalten. Schauen wir uns einige Beispiele mit der I2C-Version an!
[Bildplatzhalter: RFID-Platine über Qwiic-Kabel mit Mikrocontroller verbunden]
Beispiel: Auslesen eines Tags mit Arduino (I²C-Version)
Lesen wir einen Tag mit der Qwiic-Version aus! Verbinden Sie einfach die RFID-Platine mit Ihrem Mikrocontroller und prüfen Sie in einer Schleife, ob etwas ausgelesen werden kann:
void loop()
{
// Check if valid tag data is available
if (rfid.available())
{
// Read and print tag ID and raw data
Serial.print("Tag available! Tag ID: ");
Serial.print(rfid.getId());
Serial.print(" RAW RFID Data: ");
rfid.printHex64(rfid.getRaw()); // Print raw data as hexadecimal
Serial.println();
// Optionally clear RFID data from the breakout
// rfid.clear();
}
}

Eine ausführliche Anleitung zur Arduino-Bibliothek finden Sie hier in unserer Dokumentation.
Das vollständige, lauffähige Beispiel für Arduino finden Sie hier.
RFID-Tags mit MicroPython auslesen
# Import needed libraries
from rfid import RFID
from machine import I2C, Pin
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
rfid = RFID(i2c=i2c, i2c_address=0x30)
if rfid.checkHW():
print("RFID Reader detected")
while True:
if rfid.available():
tag_id = rfid.getId()
raw_data = rfid.getRaw()
print(f"Tag ID: {tag_id}")
print("Raw Data: ", end="")
rfid.printHex64(raw_data)
else:
print("Couldn't detect RFID reader")
Unsere MicroPython-Module finden Sie hier .
Arduino-Projekt zur Bürozeiterfassung mit RFID
Nachdem wir nun problemlos Tags auslesen können, lasst uns etwas noch Cooleres entwickeln! Anstatt die Daten auf eine SD-Karte zu schreiben, werden wir einen lokalen Webserver auf dem Mikrocontroller hosten, der die Tag-Scans in Echtzeit anzeigt.
Für dieses Beispielprojekt benötigen Sie:
1× Mikrocontroller (wir verwenden einen fest verlöteten Dasduino CONNECTPLUS )
1× OLED-Display (für Benutzerfeedback)
1× RFID-Karte
2× Qwiic-Kabel für Plug-and-Play-Verkabelung

Wenn ein Benutzer seine RFID-Karte oder seinen RFID-Tag an das System hält, passiert Folgendes:
-
Lesen Sie die ID von der RFID-Platine.
-
Zeigen Sie den Namen des Benutzers (oder „Unbekannt“) auf dem OLED-Display an.
-
Stellen Sie das Ereignisprotokoll über eine einfache Webseite in Ihrem lokalen WLAN-Netzwerk bereit.
void loop() {
display.clearDisplay();
display.setCursor(0,0);
display.println("RFID logger");
display.println();
display.println("IP address:");
display.print(IP);
display.display();
// Monitors the presence of a client and delivers the requested HTML page
server.handleClient();
// See if the RFID scanner detects a card
if (rfid.available()) {
// If a card is detected, get its ID and store it for future use
int ID = rfid.getId();
String idStr = String(ID);
// Display the ID and when it was scanned on the display
display.setCursor(0,0);
display.clearDisplay();
display.println("Scanned ID: ");
display.println(idStr);
display.println();
display.println("At:");
display.print(getTimeString());
display.display();
// Add a scan entry so that it can be displayed on the server
addScan(idStr);
// A way to debounce the scanner so we dont get duplicate scans
while(rfid.available())
{
rfid.clear();
delay(100);
}
// Monitors the presence of a client and delivers the requested HTML page
server.handleClient();
delay(2000);
}
delay(50);
}
Wenn Sie nun einen Tag scannen, erscheint die ID auf dem OLED-Display und in Ihrem Browser unter der IP-Adresse des ESP32.
Das vollständige Projekt mit detailliertem Code und Installationsanleitung finden Sie hier .
Bereit für Ihr eigenes RFID-Projekt? Entdecken Sie unser 125-kHz-RFID-Lesegerät und integrieren Sie kontaktlose Technologie in Ihr Arduino- oder MicroPython-Projekt!