ESP8266 - Türschloss mit Tastenfeld
Dieses Tutorial zeigt dir, wie du ein Passwort-Türschloss-System mit ESP8266, einer Tastatur und einem Solenoidschloss oder elektromagnetischen Schloss baust. Im Folgenden wird beschrieben, wie das Türschloss-System funktioniert.
- Benutzer geben das Passwort über das Tastenfeld ein.
- ESP8266 überprüft das Passwort.
- Wenn das eingegebene Passwort gültig ist, deaktiviert ESP8266 das Solenoidschloss, um die Tür zu entriegeln. Die Tür bleibt für eine bestimmte Zeit (z. B. 20 Sekunden) entriegelt, bevor sie automatisch wieder verriegelt wird.
- Der ESP8266-Code unterstützt mehrere Passwörter.

Um es einfach zu machen, ist das Tutorial in mehrere Schritte unterteilt, von einfach bis schwierig:
- Teil 1: Ein einfaches Keypad-Türschloss-System mit Arduino Nano, Keypad, Solenoid-Verriegelung oder elektromagnetischer Verriegelung.
- Teil 2: (Optional) Mehrere Passwörter unterstützen.
- Teil 4: (Optional) Piepton hinzufügen, wenn das Keypad gedrückt wird.
- Teil 5: (Optional) Einen Türsensor zum Keypad-Türschloss hinzufügen.
- Teil 6: (Optional) Gültige Passwörter im internen EEPROM des Arduino Nano verwalten und speichern.
- Teil 7: (Optional) Den Zugriffsverlauf auf einer SD-Karte speichern.
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 das Keypad, die Solenoidverriegelung und das elektromagnetische Schloss
Sowohl das Solenoidschloss als auch das elektromagnetische Schloss werden verwendet, um die Tür zu verriegeln bzw. zu entriegeln. Sie unterscheiden sich hauptsächlich in der mechanischen Ausführung. Ihre Verkabelung zum ESP8266 ist ähnlich. Der ESP8266-Code zur Steuerung beider ist derselbe.
Falls Sie mit dem Ziffernfeld, dem Solenoidschloss, dem elektromagnetischen Schloss (Pinbelegung, Funktionsweise, wie man es programmiert …) nicht vertraut sind, können Ihnen die folgenden Tutorials beim Lernen helfen:
Verdrahtungsdiagramm
- Schaltplan mit ESP8266, Tastatur und Solenoidschloss

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.
- Schaltplan mit ESP8266, Tastatur und elektromagnetische Türverriegelung

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP8266-Code - Türschloss mit Tastenfeld
Schnelle Schritte
Um mit ESP8266 in der Arduino-IDE zu beginnen, folgen Sie diesen Schritten:
- Schauen Sie sich das Tutorial zur Einrichtung der Umgebung für ESP8266 in der Arduino IDE an, falls dies Ihr erster Einsatz mit ESP8266 ist.
- Verbinden Sie die Komponenten wie in der Abbildung gezeigt.
- Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
- Öffnen Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E Module), und seinen jeweiligen COM-Port.
- Schließen Sie ein USB-Kabel zwischen dem ESP8266 und dem PC an.
- Öffnen Sie die Arduino-IDE, wählen Sie das richtige Board und den Port aus.
- Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suchen Sie nach “keypad” und finden Sie die keypad-Bibliothek, die von Mark Stanley und Alexander Brevig erstellt wurde.
- Drücken Sie dann den Installieren-Button, um die Installation der keypad-Bibliothek abzuschließen.

- Kopiere den obigen Code und öffne ihn mit der Arduino-IDE.
- Klicke auf die Upload-Schaltfläche in der Arduino-IDE, um den Code an den ESP8266 zu senden.
- Öffne den seriellen Monitor.
- Drücke die Tasten 12345, gefolgt vom Symbol #.
- Dann drücke die Tasten 1234ABC, gefolgt vom Symbol #.
- Überprüfe den Zustand der Schlosszunge 20 Sekunden lang.
- Überprüfe das Ergebnis im seriellen Monitor.
Code-Erklärung
Die gültigen Passwörter sind im ESP8266-Code vordefiniert. Eine Zeichenkette wird verwendet, um das vom Benutzer eingegebene Passwort zu speichern, bezeichnet als Eingabezeichenfolge. Am Tastenfeld (Keypad) werden zwei Tasten (* und #) für besondere Zwecke verwendet: Passwort löschen und das Passwort beenden. Das System funktioniert wie folgt:
- Abgesehen von zwei Sondertasten wird jeder andere Tastendruck zum Eingabestring hinzugefügt
- Wenn * gedrückt wird, wird der Eingabestring gelöscht. Sie können ihn verwenden, um die Passworteingabe zu starten oder neu zu beginnen
- Wenn # gedrückt wird:
- Der ESP8266 vergleicht den Eingabestring mit den vordefinierten Passwörtern. Wenn er mit einem der vordefinierten Passwörter übereinstimmt, steuert der ESP8266 das Relais, um die Tür zu entriegeln.
- Unabhängig davon, ob das Passwort korrekt ist oder nicht, löscht der ESP8266 den Eingabestring für die nächste Eingabe.
ESP8266-Code - Mehrere Tasten
Piepton hinzufügen, wenn das Tastenfeld gedrückt wird.
Wir können das Türschloss reaktionsschnell erscheinen lassen, indem wir einen Piezo-Buzzer hinzufügen, der bei jedem Drücken einer Taste am Tastenfeld einen kurzen Piepton erzeugt.
Es ist ganz einfach, es hinzuzufügen. Also überlassen wir diesen Teil deiner Kreativität. Sie können sich das ESP8266 - Keypad Beep Tutorial für weitere Hinweise ansehen.
Hinzufügen eines Türsensors zum Keypad-Türschloss
Im zuvor erwähnten Code verriegelt der ESP8266 die Tür nach Ablauf eines Zeitlimits seit dem Entsperren. In der Praxis wird dem System jedoch üblicherweise ein Türsensor hinzugefügt. Wenn der ESP8266 erkennt, dass die Tür geschlossen ist, verriegelt er die Tür sofort, statt auf das Timeout zu warten.
Um dich nicht zu überfordern, haben wir den Türsensor nicht in das Verdrahtungsdiagramm und den Code aufgenommen. Stattdessen überlassen wir diesen Teil deiner Kreativität. Du kannst dir die Tutorials ESP8266 - Türsensor und ESP8266 - Türsensor-Steuer-Relais für weitere Hinweise ansehen.
Verwaltung und Speicherung gültiger Passwörter im EEPROM
Der obige Code enthält gültige Passwörter (UID), die im ESP8266-Code hartkodiert sind. Das bedeutet, dass Sie Passwörter hinzufügen oder entfernen möchten und dafür Änderungen am Code vornehmen sowie ihn erneut auf den ESP8266 hochladen müssen, was unpraktisch ist.
In der Praxis ist es notwendig, Passwörter zu verwalten, ohne jedes Mal den Code ändern und hochladen zu müssen. Um dies zu erreichen, können die Passwörter im EEPROM gespeichert werden, statt sie hartkodiert zu hinterlegen. Daraus ergibt sich die Notwendigkeit einer Methode, mit der die Passwörter einfach vom EEPROM aus verwaltet werden können.
Zwei Methoden stehen zur Verwaltung von Passwörtern im EEPROM zur Verfügung:
- Masterpasswörter verwenden
- Indem ein Passwort als ADD-Masterpasswort verwendet wird, können dem System neue Passwörter hinzugefügt werden. Sobald der ESP8266 das ADD-Masterpasswort erkennt, wechselt er zwischen ADD-Modus und Betriebsmodus.
- Während des ADD-Modus speichert der ESP8266 alle neu erkannten Passwörter in den EEPROM.
- Ein ähnlicher Ansatz wird auch für das DELETE-Masterpasswort und den DELETE-Modus verwendet.
- ADD-/DELETE-Befehle über Serial/Bluetooth/IR verwenden
- Befehle werden über Serial/Bluetooth/IR übertragen und verwenden Werkzeuge wie den Serial Monitor, die Bluetooth-App oder den IR-Controller.
- Die Befehle bestehen aus einer Anweisung (ADD/DELETE) und dem Passwort.
Um eine der beiden oben genannten Methoden zu nutzen, muss eine beträchtliche Menge ESP8266-Code hinzugefügt werden. Für Personen, die noch neu im Programmieren sind, kann dies eine anspruchsvolle Aufgabe sein. Daher zielt dieses Tutorial darauf ab, ein grundlegendes Verständnis des Türschloss-System 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.
Speicherung der Zugriffshistorie auf SD-Karte
Um den Zugriffsverlauf nachzuverfolgen, kann es erforderlich sein, den Zugriffsstatus (GRANTED/DENIED) sowie Datum und Uhrzeit zu speichern. Da der EEPROM nicht über ausreichende Kapazität verfügt, um die gesamte Historie zu speichern, kann stattdessen eine SD-Karte verwendet werden. Eine Anleitung dazu finden Sie in diesem Tutorial ESP8266 - Log Data with Timestamp to SD Card.
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.