ESP32 S3 - RFID/NFC-Türschlosssystem
Erfahren Sie, wie Sie ein RFID/NFC-RC522-Modul und ein relaisgesteuertes elektromagnetisches Schloss oder Magnetschloss mit einem ESP32 S3 verdrahten, um ein voll funktionsfähiges RFID-Türschlosssystem zu bauen. Da die UIDs der berechtigten Tags direkt in der Firmware gespeichert sind, gewährt oder verweigert der ESP32 S3 den Zugang sofort, sobald eine Karte oder ein Tag an das Lesegerät gehalten wird – ganz ohne Netzwerkverbindung.
Was Sie bauen werden:
- Eine Schaltung, die das RFID-RC522-Modul, ein Relais und ein elektromagnetisches Schloss oder Magnetschloss mit dem ESP32 S3 verbindet
- Eine Firmware, die die UID jedes aufgelegten RFID- oder NFC-Tags liest und mit einer gespeicherten Liste berechtigter UIDs vergleicht
- Eine Variante mit einem Schlüssel, die die Tür für einen berechtigten Tag öffnet und alle anderen abweist
- Eine Variante mit mehreren Schlüsseln, die jedem berechtigten Tag einen benannten Benutzer zuordnet (zum Beispiel Manager und Sekretärin)

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über RFID/NFC RC522 Module and Electromagnetic Lock
Das RFID-RC522 ist ein günstiges 13,56-MHz-Lesemodul auf Basis des MFRC522-Chips von NXP Semiconductors. Es kommuniziert über SPI mit dem ESP32 S3, arbeitet mit 3,3-V-Logik (direkt kompatibel mit dem ESP32 S3) und kann ISO-14443A-kompatible Karten und Tags in einer Entfernung von bis zu etwa 5 cm erkennen. Ein elektromagnetisches Schloss oder Magnetschloss wandelt ein elektrisches Signal des ESP32 S3 (über ein Relais geleitet) in eine mechanische Riegelbewegung um und ist damit der ideale Aktuator für ein physisches Zugangskontrollsystem.
Wichtige Spezifikationen
Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln, einschließlich Pinbelegung, Funktionsprinzip und Verdrahtung mit dem ESP32 S3. Mehr dazu erfahren Sie unter den folgenden Links:
Systemkomponenten
Ein mit dem ESP32 S3 gebautes Türschlosssystem besteht aus zwei Hauptteilen:
- Türschlosssystem: ESP32 S3, RFID/NFC-RC522-Lesegerät, Relais und Magnetschloss oder elektromagnetisches Schloss
- Türschlüssel: RFID/NFC-Tags (Karten, Schlüsselanhänger oder Aufkleber)

So funktioniert ein RFID/NFC-Türschloss
Die UIDs der berechtigten Tags sind in der Firmware des ESP32 S3 vordefiniert. Wenn ein Benutzer einen RFID- oder NFC-Tag an das RC522-Lesegerät hält, liest der ESP32 S3 die vom Modul zurückgegebene UID und vergleicht sie mit der gespeicherten Liste. Stimmt die UID mit einem berechtigten Eintrag überein, deaktiviert der ESP32 S3 das Relais, um das elektromagnetische Schloss oder Magnetschloss zu entriegeln. Andernfalls wird der Zugang verweigert und das Schloss bleibt verriegelt.
Verdrahtungsdiagramm
Verbinden Sie das RC522-Modul, das Relais und das elektromagnetische Schloss oder Magnetschloss gemäß dem folgenden Diagramm mit dem ESP32 S3. Halten Sie die SPI-Leitungen zwischen RC522 und ESP32 S3 kurz, um Störungen zu reduzieren, und überprüfen Sie immer die 3,3-V-Stromversorgung des RC522, bevor Sie Strom anlegen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Jumperkabel in die Buchsenleisten zu stecken geht schnell, aber die Kabel können herausrutschen. Setzen Sie den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3 und ziehen Sie jedes Kabel unter einer Schraube fest. Das Diagramm unten zeigt die Version mit Schraubklemmen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Oder stecken Sie den ESP32 S3 auf ein GPIO-Breakout-Board für ESP32 S3. Dieselbe Verdrahtung sieht dann so aus:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Das RFID-RC522-Modul arbeitet mit 3,3 V – wenn Sie seinen VCC-Pin mit 5 V verbinden, wird das Modul dauerhaft beschädigt. Überprüfen Sie daher die Versorgungsleitung, bevor Sie die Schaltung unter Strom setzen. Das elektromagnetische Schloss oder Magnetschloss läuft mit 12 V DC und muss über das Relais geschaltet werden; schließen Sie es niemals direkt an einen GPIO-Pin des ESP32 S3 an. Halten Sie die 12-V-Leitungen auf der Lastseite des Relais räumlich getrennt von den Niederspannungs-SPI-Leitungen, um störungsbedingte Lesefehler zu vermeiden.
※ Notiz:
Die Pin-Reihenfolge am RC522-Modul kann je nach Hersteller variieren. Verwenden Sie immer die auf dem Modul aufgedruckten Beschriftungen. Das obige Bild zeigt die Pinbelegung für Module des Herstellers DIYables.
| RFID/NFC-RC522-Modul | ESP32 S3 Pin |
|---|---|
| SS-Pin | GPIO10 (SS/CS) |
| SCK-Pin | GPIO12 (SCK) |
| MOSI-Pin | GPIO11 (MOSI) |
| MISO-Pin | GPIO13 (MISO) |
| IRQ-Pin | (nicht verbunden) |
| GND-Pin | GND |
| RST-Pin | GPIO9 |
| VCC-Pin | 3.3V |
ESP32 S3 Code - Ein Schlüssel
Der folgende Code initialisiert den SPI-Bus und die MFRC522-Bibliothek und fragt dann fortlaufend nach einem neuen Tag ab. Wird ein Tag erkannt, wird seine UID gelesen und mit der einzigen berechtigten UID in der Firmware verglichen – stimmen sie überein, wird das Relais kurz aktiviert, um die Tür zu entriegeln. Andernfalls wird die UID im Seriellen Monitor ausgegeben und der Zugang verweigert.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie die Komponenten gemäß dem oben gezeigten Verdrahtungsplan.
- Verbinden Sie den ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem Computer.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie im Menü Werkzeuge das richtige ESP32 S3 Board und den COM-Port aus.
- Klicken Sie auf das Symbol Bibliotheken in der linken Leiste der Arduino IDE.
- Geben Sie "MFRC522" in das Suchfeld ein und suchen Sie dann nach der Bibliothek von GithubCommunity.
- Klicken Sie auf Installieren, um die MFRC522-Bibliothek zu installieren.
- Search for MFRC522 created by GithubCommunity and click the Install button.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Klicken Sie auf Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.

- Öffnen Sie nach dem Hochladen den Seriellen Monitor in der Arduino IDE.

- Halten Sie einen RFID- oder NFC-Tag, den Sie berechtigen möchten, an das RC522-Lesegerät und notieren Sie die im Seriellen Monitor ausgegebene UID.
- Aktualisieren Sie die UID in Zeile 18 des obigen Codes. Ändern Sie zum Beispiel byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; in byte keytagUID[4] = {0x2B, 0xB8, 0x59, 0xB1};
- Laden Sie den aktualisierten Code erneut auf den ESP32 S3 hoch.
- Halten Sie den berechtigten RFID/NFC-Tag an das RC522-Lesegerät und prüfen Sie den Seriellen Monitor.
- Prüfen Sie, ob das elektromagnetische Schloss oder Magnetschloss bei gewährtem Zugang deaktiviert (entriegelt) wird.
- Halten Sie einen anderen (nicht berechtigten) Tag an das Lesegerät und bestätigen Sie, dass das Schloss verriegelt bleibt.
- Profi-Tipp: Zum einfacheren Testen ist die Entriegelungsdauer im Code auf 2 Sekunden eingestellt – erhöhen Sie diesen Wert, bevor Sie das System in einer echten Installation einsetzen.
ESP32 S3 Code - Mehrere Schlüssel
Der folgende Code erweitert das Beispiel mit einem Schlüssel um die Unterstützung mehrerer berechtigter Benutzer, die jeweils durch eine eindeutige UID und einen lesbaren Namen in der Firmware identifiziert werden. Wird ein passender Tag aufgelegt, gibt der ESP32 S3 den Namen des Benutzers im Seriellen Monitor aus und entriegelt die Tür. Jeder unbekannte Tag wird abgewiesen und seine UID protokolliert.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Befolgen Sie dieselben Schritte zur Bibliotheksinstallation und Verdrahtung wie im Abschnitt mit einem Schlüssel oben.
- Ermitteln Sie die UID jedes Tags, den Sie berechtigen möchten, indem Sie zuerst den Code mit einem Schlüssel ausführen (siehe Schritt 12 oben).
- Aktualisieren Sie die beiden berechtigten UIDs im Code mit den UIDs Ihrer Tags für Manager und Sekretärin.
- Laden Sie den aktualisierten Code auf den ESP32 S3 hoch.
- Halten Sie den Manager-Tag und dann den Sekretärin-Tag an das RC522-Lesegerät und beobachten Sie den Seriellen Monitor.
- Profi-Tipp: Sie können drei, vier oder mehr berechtigte Tags hinzufügen, indem Sie das UID-Array im Code erweitern – jeder zusätzliche Eintrag benötigt eine weitere UID und einen weiteren Namens-String.
※ Notiz:
In diesem Tutorial sind die berechtigten UIDs fest in die Firmware kompiliert. Bei einem produktiven System würden Sie die UIDs typischerweise in einem nichtflüchtigen Speicher (z. B. EEPROM oder Flash) ablegen, damit sie zur Laufzeit ohne erneutes Flashen hinzugefügt oder entfernt werden können. Wenn Sie Hilfe bei der Umsetzung dieser Funktion benötigen, kontaktieren Sie uns gerne über unseren Programmierservice.
Anwendungs- und Projektideen
Der ESP32 S3 in Kombination mit einem RC522-RFID-Modul und einem relaisgesteuerten Schloss eröffnet eine Vielzahl von Zugangskontroll- und Sicherheitsanwendungen, die sich mit minimaler zusätzlicher Hardware umsetzen lassen. Hier sind praktische Einsatzmöglichkeiten für dieses System:
- Bürotürschloss: Weisen Sie jedem Mitarbeiter eine RFID-Karte zu und beschränken Sie den Zutritt auf berechtigtes Personal, wobei Zugangsversuche im Seriellen Monitor protokolliert werden.
- Intelligentes Schloss für Zuhause: Ersetzen Sie einen herkömmlichen Schlüssel durch eine RFID-Karte oder einen Schlüsselanhänger, den nur Familienmitglieder besitzen.
- Serverschrank-Sicherheit: Schützen Sie empfindliche IT-Geräte in einem verschlossenen Schrank, der sich nur für berechtigte Servicetechniker öffnet.
- Umkleideraum-System: Geben Sie jedem Spind einen eigenen RFID-gesteuerten Magnetriegel, der von einem eigenen ESP32 S3 für den eigenständigen Betrieb angesteuert wird.
- Zugang zu einer Gemeinschaftswerkstatt: Gewähren Sie registrierten Mitgliedern RFID-Zugang und protokollieren Sie jeden Zutritt automatisch zu Prüfzwecken.
- Prototyp-Sicherheitslabor: Bauen Sie einen Testaufbau, der jeden Zugangsversuch mit Zeitstempel auf einer SD-Karte oder in einer Cloud-Datenbank speichert.
- Parkschranken-Steuerung: Ersetzen Sie Kartenleser an Parkschranken durch einen RC522 und ESP32 S3, um Fahrzeuge anhand ihrer RFID-Aufkleber an der Windschutzscheibe zu autorisieren.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Fordern Sie sich heraus
Da Ihr ESP32 S3 nun erfolgreich ein Türschloss mit RFID-Karten steuert, bringen Sie das Projekt mit diesen zunehmend schwierigeren Aufgaben weiter voran:
- Anfänger: Fügen Sie eine grüne LED hinzu, die bei gewährtem Zugang 2 Sekunden lang leuchtet, und eine rote LED, die bei verweigertem Zugang blinkt.
- Anfänger: Schließen Sie einen passiven Summer an und spielen Sie bei gewährtem Zugang einen kurzen Piepton und bei verweigertem Zugang einen längeren Doppelpiepton ab.
- Fortgeschritten: Implementieren Sie eine Sperre, die das RFID-Lesegerät nach drei aufeinanderfolgenden unberechtigten Versuchen für 30 Sekunden deaktiviert.
- Fortgeschritten: Speichern Sie berechtigte UIDs im EEPROM, damit sie Stromausfälle überstehen und ohne erneutes Flashen des ESP32 S3 aktualisiert werden können.
- Experte: Fügen Sie über das WLAN des ESP32 S3 eine Weboberfläche hinzu, damit ein Administrator berechtigte UIDs im Browser hinzufügen oder widerrufen kann, ohne die Hardware anzufassen.
- Experte: Kombinieren Sie das RC522-Lesegerät mit einem Tastenfeld, sodass sich die Tür nur öffnet, wenn sowohl ein gültiger RFID-Tag als auch die richtige PIN vorgelegt werden.