ESP8266 - RFID-Türschloss
Dieses Tutorial erklärt dir, wie man ein Türschloss-System mit dem ESP8266, dem RFID/NFC RC522-Modul, einem Relais, einem Solenoidschloss oder elektromagnetischem Schloss sowie optionalem LCD-Display baut. Um es dir leichter zu machen, fordert das Tutorial dich auf, das RFID-Türschloss Schritt für Schritt von einfach nach komplex aufzubauen. Im Detail werden wir Folgendes tun:
- Teil 1: Ein einfaches RFID-Türschloss-System mit ESP8266, Keypad, Solenoid-Schloss oder elektromagnetisches Schloss, unterstützt einen einzelnen RFID-Schlüssel
- Teil 2: (Optional) Unterstützung zum Hinzufügen mehrerer RFID-Schlüssel
- Teil 3: (Optional) Hinzufügen eines LCD-Displays zum RFID-Türschloss.
- Teil 4: (Optional) Hinzufügen eines Türsensors zum RFID-Türschloss.
- Teil 5: (Optional) Verwaltung und Speicherung der gültigen RFID-Schlüssel im internen EEPROM des ESP8266
- Teil 6: (Optional) Speichern der Zugriffshistorie auf einer SD-Karte

Wenn Sie ein Türschloss-System mit Passwort erstellen möchten, lesen Sie bitte ESP8266 - Keypad-Türschloss.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über RFID/NFC RC522-Modul und elektromagnetische Verriegelung
Wenn Sie mit dem RFID/NFC RC522-Modul, dem elektromagnetischen Türschloss und dem Solenoid-Schloss (einschließlich Pinbelegung, Funktionsweise und Programmierung) nicht vertraut sind, können Sie mehr erfahren, indem Sie diese Tutorials befolgen:
Türschloss-Systemkomponenten
Das Türschloss-System besteht aus zwei Hauptkomponenten:
- Türschloss: bestehend aus einem ESP8266, einem Relais, einem RFID/NFC-Leser, einem Solenoidschloss oder einem elektromagnetischen Schloss
- Türschlüssel: RFID/NFC-Tags

Wie RFID/NFC-Türschloss funktioniert
- Der Benutzer tippt ein RFID/NFC-Tag an den RFID/NFC-Leser, der die UID vom Tag ausliest.
- Der ESP8266 erhält dann die UID vom Lesegerät und vergleicht sie mit den im Code festgelegten UIDs.
- Wenn die UID mit einer der vordefinierten UIDs übereinstimmt, wird der ESP8266 das Solenoidschloss entsperren und damit die Tür entriegeln.
- Diese Tags dienen als autorisierte Schlüssel.
- Das Relais wird vom ESP8266 aktiviert, um die Tür nach einer bestimmten Zeit zu verriegeln.
Verdrahtungsdiagramm
- RFID RC522 Türschloss mit elektromagnetischer Verriegelung

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
- RFID RC522 Türschloss mit elektromagnetischem Schloss

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
※ Notiz:
Hersteller können die Reihenfolge der Pins unterschiedlich anordnen, daher ist es wichtig, sich auf die auf dem Modul aufgedruckten Bezeichnungen zu verlassen. Das oben gezeigte Pinout-Diagramm zeigt die Pin-Anordnung für Module, die vom Hersteller DIYables produziert werden.
ESP8266 Code - Eine Taste
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schau dir das Tutorial Wie man die Umgebung für ESP8266 in der Arduino-IDE einrichtet an, falls du ESP8266 zum ersten Mal verwendest.
- Verbinde die Bauteile wie im Diagramm gezeigt.
- Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
- Öffne die Arduino IDE auf deinem Computer.
- Wähle das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den entsprechenden COM-Port.
Um die UID eines RFID-/NFC-Tags zu bestimmen:
- Lade den Code auf den ESP8266 hoch und öffne den seriellen Monitor.
- Halte den Tag an das RFID-RC522-Modul; die UID wird im seriellen Monitor angezeigt.
Sobald Sie die UID haben:
- Ändere Zeile 18 des obigen Codes, um die UID widerzugeben.
- Zum Beispiel ersetze byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; durch byte keytagUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Lade den geänderten Code auf den ESP8266 hoch.
- Platziere einen RFID/NFC-Tag auf dem RFID-RC522-Modul.
- Überprüfe die Ausgabe im Seriellen Monitor.
- Vergewissern Sie sich, dass das elektromagnetische Schloss nicht verriegelt ist.
- Halten Sie einen anderen RFID/NFC-Tag an das RFID-RC522-Modul.
- Überprüfen Sie die Ausgabe im Serial Monitor.
※ Notiz:
- Zu Testzwecken wurde die Entsperrzeit auf 2 Sekunden festgelegt; sie sollte jedoch für den praktischen Einsatz bzw. die Demonstration erhöht werden.
- Die Installation der MFRC522-Bibliothek ist erforderlich. Weitere Informationen finden Sie im ESP8266 - RFID/NFC RC522 Tutorial.
ESP8266-Code - Mehrere Tasten
Stellen wir uns einen Raum vor, zu dem nur der Manager und die Sekretärin Zutritt haben.
In diesem Fall sind zwei RFID-/NFC-Tags erforderlich: eines für den Manager und das andere für die Sekretärin. Die UIDs der beiden Tags müssen im Code angegeben werden.
Wiederhole dieselben Schritte wie zuvor und lege dann jedes RFID-Tag auf das RFID-RC522-Modul. Die Ausgabe im seriellen Monitor sollte wie folgt erscheinen:
Sie können den oben geschriebenen Code erweitern, um drei, vier oder mehr Tags einzuschließen.
Hinzufügen eines LCD-Displays zum RFID-Türschloss
Wir können optional ein LCD-Display hinzufügen, um den Benutzern den Zugangsstatus anzuzeigen (z. B. ZUGANG ERTEILT/ABGELEHNT). Weitere Informationen zu LCD finden Sie in ESP8266 - LCD tutorial.
Schaltplan - Türverriegelungssystem mit RFID, Solenoidschloss oder elektromagnetischer Verriegelung und LCD-Anzeige

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Bitte beachten Sie, dass im obigen Schaltplan eine 5‑V-Spannung hinzugefügt wird, da der 5‑V-Pin des ESP8266 nicht genügend Strom liefern kann, um sowohl das Relais als auch das LCD gleichzeitig zu versorgen.
ESP8266-Code - Türschloss-System mit Passwort unter Verwendung eines RFID RC522-Moduls, Solenoidschloss oder elektromagnetischem Schloss und LCD-Display
※ Notiz:
Die Adresse des LCDs kann je nach Hersteller variieren. Wir haben in unserem Code 0x27 verwendet, wie von DIYables angegeben.
Hinzufügen eines Türsensors zum RFID-Türschloss
Im zuvor erwähnten Code verriegelt der ESP8266 die Tür nach Ablauf eines Timers seit dem Entsperren. In der Praxis wird jedoch normalerweise ein Türsensor in das System integriert. Wenn der ESP8266 erkennt, dass die Tür geschlossen ist, verriegelt er die Tür sofort, anstatt auf das Timeout zu warten.
Um Sie nicht zu überfordern, haben wir den Türsensor nicht in das Verdrahtungsdiagramm und den Code aufgenommen. Stattdessen überlassen wir diesen Teil Ihrer Kreativität. Sie können sich die Tutorials ESP8266 - Türsensor und ESP8266 - Türsensor-Steuerrelais für weitere Hinweise ansehen.
Verwaltung und Speicherung gültiger RFID-Schlüssel im EEPROM
Der obige Code enthält gültige RFID-Schlüssel (UID), die im ESP8266-Code hartkodiert sind. Das bedeutet, dass Sie, wenn Sie Schlüssel hinzufügen oder entfernen möchten, Änderungen am Code vornehmen und ihn erneut auf den ESP8266 hochladen müssen, was umständlich ist.
In der Praxis ist es notwendig, RFID-Schlüssel zu verwalten, ohne den Code jedes Mal ändern und hochladen zu müssen. Um dies zu erreichen, können die RFID-Schlüssel im EEPROM gespeichert werden, statt fest im Code hinterlegt zu werden. Folglich ist eine Methode erforderlich, um die RFID-Schlüssel einfach aus dem EEPROM zu verwalten.
Es stehen zwei Methoden zur Verwaltung von RFID-Schlüsseln im EEPROM zur Verfügung:
- RFID-Schlüssel als Master-Schlüssel
- Durch die Verwendung eines RFID-Schlüssels als ADD-Master-Schlüssel können dem System neue Schlüssel hinzugefügt werden.
- Sobald der ESP8266 den ADD-Master-Schlüssel erkennt, wechselt er zwischen dem ADD-Modus und dem Betriebsmodus.
- Während des ADD-Modus fügt der ESP8266 alle neuen Schlüssel, die er erkennt, dem EEPROM hinzu.
- Ein ähnlicher Ansatz wird für den DELETE-Master-Schlüssel und den DELETE-Modus verwendet.
- Verwenden Sie ADD/DELETE-Befehle über Serial/Bluetooth/IR
- Befehle werden über Serial/Bluetooth/IR übertragen, wobei Tools wie der Serial Monitor, die Bluetooth-App oder der IR-Controller verwendet werden.
- Die Befehle bestehen aus einer Anweisung (ADD/DELETE) und der UID des RFID-Schlüssels.
- Um die Sicherheit zu verbessern, sollte dem Befehl außerdem ein Passwort beigefügt werden. Der ESP8266 überprüft das Passwort, um festzustellen, ob der Befehl gültig ist oder nicht.
Um eine der beiden oben genannten Methoden nutzen zu können, muss eine beträchtliche Menge ESP8266-Code hinzugefügt werden. Für Personen, die neu in der Programmierung sind, kann dies eine herausfordernde Aufgabe sein. Folglich zielt dieses Tutorial darauf ab, ein grundlegendes Verständnis des Türschloss-Systems zu vermitteln, ohne Anfänger mit komplexem Code zu überfordern. Wenn Sie dieses System aus praktischen Gründen implementieren möchten, kontaktieren Sie uns bitte über unseren kostenpflichtigen Programmierdienst.
Speichern der Zugriffshistorie auf SD-Karte
Um den Zugriffverlauf nachzuverfolgen, könnte es notwendig sein, die UID des RFID-Schlüssels, den Zugriffsstatus (GRANTED/DENIED) sowie Datum und Uhrzeit zu speichern. Da der EEPROM nicht über ausreichende Kapazität verfügt, die gesamte Historie zu speichern, kann stattdessen eine SD-Karte verwendet werden. Eine Anleitung dazu finden Sie im Tutorial ESP8266 - Daten mit Zeitstempel auf SD-Karte protokollieren.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.