- Erforderliche Komponenten
- Magnetschloss
- Schaltplan
- Installieren Sie die ESP32-Karte auf der Arduino IDE
- Code Erklärung
- Testen der
Sicherheit ist heutzutage für jedermann höchstens ein Problem, sei es Datensicherheit oder Sicherheit für das eigene Zuhause. Mit der Weiterentwicklung der Technologie und dem zunehmenden Einsatz von IoT sind digitale Türschlösser heutzutage weit verbreitet. Für das digitale Schloss ist kein physischer Schlüssel erforderlich, es werden jedoch RFID, Fingerabdruck, Gesichtsausweis, PIN, Passwörter usw. zur Steuerung des Türschlosses verwendet. In der Vergangenheit haben wir viele digitale Türschlösseranwendungen unter Verwendung dieser verschiedenen Technologien entwickelt. In diesem Tutorial erstellen wir ein Face ID-gesteuertes digitales Türschlosssystem mit ESP32-CAM.
Das AI-Thinker ESP32-CAM-Modul ist eine kostengünstige Entwicklungsplatine mit einer sehr kleinen OV2640-Kamera und einem Micro-SD-Kartensteckplatz. Es verfügt über einen ESP32 S-Chip mit integrierter Wi-Fi- und Bluetooth-Konnektivität, 2 leistungsstarken 32-Bit-LX6-CPUs und einer 7-stufigen Pipeline-Architektur. Wir haben ESP32-CAM zuvor ausführlich erklärt und daraus eine Wi-Fi-Tür-Video-Türklingel gebaut. Dieses Mal werden wir das ESP32-CAM verwenden, um ein auf Gesichtserkennung basierendes Türschlosssystem mit einem Relaismodul und einem Magnetschloss zu erstellen.
Erforderliche Komponenten
- ESP32 CAM
- FTDI-Vorstand
- Relaismodul
- Magnetschloss
- Überbrückungsdrähte
Magnetschloss
Eine Magnetverriegelung wirkt auf den elektronisch-mechanischen Verriegelungsmechanismus. Diese Art von Schloss hat eine Kugel mit einem schrägen Schnitt und eine gute Montagehalterung. Wenn die Stromversorgung angelegt wird, erzeugt DC ein Magnetfeld, das den Butzen nach innen bewegt und die Tür in der entriegelten Position hält. Der Butzen behält seine Position, bis die Stromversorgung unterbrochen wird. Wenn die Stromversorgung unterbrochen wird, bewegt sich der Butzen nach draußen und verriegelt die Tür. In einem gesperrten Zustand wird kein Strom verbraucht. Um die Magnetverriegelung anzutreiben, benötigen Sie eine Stromquelle, die 12 V bei 500 mA liefern kann.
Wir haben zuvor ein Magnetschloss verwendet, um ein RFID-Türschloss auf Arduino-Basis zu bauen.
Schaltplan
Das Schaltbild für das ESP32-CAM-Türverriegelungssystem mit Gesichtserkennung ist unten angegeben:
Die obige Schaltung wird mit einer FTDI-Karte, einem Relaismodul und einer Magnetverriegelung kombiniert. Die FTDI-Karte wird zum Flashen des Codes in ESP32-CAM verwendet, da sie keinen USB-Anschluss hat, während das Relaismodul zum Ein- oder Ausschalten der Magnetverriegelung verwendet wird. Die VCC- und GND-Pins der FTDI-Karte und des Relaismoduls sind mit dem Vcc- und GND-Pin des ESP32-CAM verbunden. TX und RX der FTDI-Karte sind mit RX und TX des ESP32 verbunden, und der IN-Pin des Relaismoduls ist mit IO4 des ESP32-CAM verbunden.
ESP32-CAM |
FTDI-Vorstand |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Relaismodul |
5V |
VCC |
GND |
GND |
IO4 |
IM |
Hinweis: Verbinden Sie das IO0 vor dem Hochladen des Codes mit Masse. IO0 bestimmt, ob sich der ESP32 im Blinkmodus befindet oder nicht. Wenn GPIO 0 an GND angeschlossen ist, blinkt der ESP32.
Nach dem Anschließen der Hardware gemäß Schaltplan sollte sie wie folgt aussehen:
Installieren Sie die ESP32-Karte auf der Arduino IDE
Hier wird Arduino IDE verwendet, um ESP32-CAM zu programmieren. Installieren Sie dazu zunächst das ESP32-Add-On auf der Arduino IDE.
Um die ESP32-Karte in Ihrer Arduino IDE zu installieren, gehen Sie zu Datei> Einstellungen.
Kopieren Sie nun den folgenden Link und fügen Sie ihn in das Feld "Zusätzliche Board Manager-URLs" ein (siehe Abbildung unten). Klicken Sie dann auf die Schaltfläche "OK":
https://dl.espressif.com/dl/package_esp32_index.json
Gehen Sie nun zu Tools> Board> Boards Manager
Suchen Sie im Board Manager nach ESP32 und installieren Sie das „ESP32 von Espressif Systems“.
Code Erklärung
Wir haben die Gesichtserkennung mit ESP32 im vorherigen Artikel erläutert. Hier ändern wir den gleichen Code, um ein Magnetschloss zu steuern. Der vollständige Code ist in vier Teile gegliedert. Einer ist der Hauptcode für das Kamera- und Relaismodul, bei dem der ESP32 die Tür gemäß der Gesichtserkennung verriegelt oder entriegelt, und die anderen drei Codes gelten für Webseite, Kameraindex und Kamerastifte. Der vollständige Code ist am Ende dieser Seite angegeben. Hier erklären wir einige wichtige Teile des Codes.
Beginnen Sie das Programm, indem Sie alle Bibliotheksdateien einschließen.
#include "esp_camera.h" #include
Kommentieren Sie in der nächsten Zeile das Kameramodul aus, das Sie mit ESP32 verwenden. Im Code sind fünf verschiedene Kameramodelle definiert. In diesem Fall verwenden wir das AI-THINKER-Modell.
// # CAMERA_MODEL_WROVER_KIT definieren // # CAMERA_MODEL_ESP_EYE definieren // # CAMERA_MODEL_M5STACK_PSRAM definieren // # CAMERA_MODEL_M5STACK_WIDE definieren # CAMERA_MODEL_AI_THINKER definieren
Geben Sie anschließend Ihre Netzwerkanmeldeinformationen in die folgenden Variablen ein:
const char * ssid = "Wi-Fi Name"; const char * password = "WLAN-Passwort";
Definieren Sie dann den Pin, an dem das Relaismodul angeschlossen ist. Wir werden die millis () -Funktion verwenden, um die Tür nach dem Entriegeln in einem definierten Zeitintervall zu verriegeln. Hier sind es 5 Sekunden.
#relais definieren 4 long prevMillis = 0; int Intervall = 5000;
Im Setup () Funktion, initialisieren Sie den Serial Monitor mit einer Baudrate von 115200 für Debugging - Zwecke. Definieren Sie dann in den nächsten Zeilen den Pin-Modus für das Relaismodul und stellen Sie das Relais zunächst auf eine niedrige Position.
void setup () {Serial.begin (115200); PinMode (Relais, AUSGANG); digitalWrite (Relais, NIEDRIG);
Innerhalb der Schleife () Funktion, überprüfen, ob die Fläche entspricht das Gesicht eingeschrieben. Wenn ja, entriegeln Sie die Tür für 5 Sekunden und verriegeln Sie sie nach 5 Sekunden wieder.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (Relais, HIGH); prevMillis = millis (); } if (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = false; digitalWrite (Relais, NIEDRIG); }}
Testen der
Um den Code hochzuladen, schließen Sie die FDTI-Karte an Ihren Laptop an und wählen Sie das 'ESP32 Wrover Module' als Karte. Ändern Sie auch die anderen Einstellungen wie im folgenden Bild gezeigt:
Vergessen Sie nicht, den IO0-Pin vor dem Hochladen des Codes mit GND zu verbinden. Drücken Sie auch die ESP32-Reset-Taste und klicken Sie dann auf die Upload-Taste.
Hinweis: Wenn beim Hochladen des Codes Fehler auftreten, überprüfen Sie, ob IO0 mit GND verbunden ist, und wählen Sie im Menü Extras die richtigen Einstellungen aus.
Entfernen Sie nach dem Hochladen des Codes den IO0- und GND-Pin. Öffnen Sie dann den seriellen Monitor und ändern Sie die Baudrate auf 115200. Drücken Sie anschließend die ESP32-Reset-Taste, um die ESP-IP-Adresse und die Port-Nr. auf dem seriellen Monitor.
Navigieren Sie nun zum Browser und geben Sie die ESP-IP-Adresse ein, die vom seriellen Monitor kopiert wird, um auf das Kamera-Streaming zuzugreifen. Sie gelangen zur Streaming-Seite. Um das Video-Streaming zu starten, klicken Sie unten auf der Seite auf die Schaltfläche "Stream starten".
Um die Gesichter mit ESP32-CAM zu erkennen, müssen wir zuerst die Gesichter registrieren. Aktivieren Sie dazu die Gesichtserkennungs- und -erkennungsfunktionen in den Einstellungen und klicken Sie dann auf die Schaltfläche Gesicht registrieren. Es sind mehrere Versuche erforderlich, um das Gesicht zu retten. Nach dem Speichern des Gesichts wird das Gesicht als Motiv 0 erkannt, wobei Null die Gesichtsnummer ist.
Wenn nach der Registrierung der Gesichter ein Gesicht im Video-Feed erkannt wird, lässt ESP32 das Relaismodul hoch, um die Tür zu entriegeln.
Auf diese Weise kann mit dem ESP32-CAM ein auf Gesichtserkennung basierendes Sicherheitssystem erstellt werden. Der vollständige Code kann von diesem Link heruntergeladen werden und wird unten zusammen mit einem Demonstrationsvideo angegeben.