- Einführung in ESP32-CAM
- Erforderliche Komponenten
- Schaltplan
- Installieren Sie die ESP32-Karte auf der Arduino IDE
- ESP32 Camera Webserver Code
Es gibt viele menschliche Identifikationssysteme, die Signaturen, Fingerabdrücke, Stimme, Handgeometrie, Gesichtserkennung usw. verwenden, um Personen zu identifizieren, aber keines von ihnen kann Personen in öffentlichen Bereichen wie Flughäfen, Einzelhandelsgeschäften und Bahnhöfen erkennen und erkennen, mit Ausnahme der Gesichtserkennungssystem.
Gesichtserkennungssysteme können nicht nur zu Sicherheitszwecken zur Erkennung von Personen an öffentlichen Orten verwendet werden, sondern auch zu Anwesenheitszwecken in Büros und Schulen.
In diesem Projekt werden wir ein Gesichtserkennungssystem mit ESP32-CAM erstellen, das auch als ESP32-CAM-Sicherheitssystem fungiert, indem das Gesicht nicht autorisierter Personen erkannt wird. ESP32-CAM ist ein sehr kleines Kameramodul mit dem ESP32-S-Chip. Mit dem ESP32-CAM-Modul können wir ein Gesichtserkennungssystem ohne komplexe Programmierung und zusätzliche Komponenten erstellen. Die Gesichtserkennung kann auch mit Raspberry Pi und Pi-Kamera mit OpenCV erfolgen.
Einführung in ESP32-CAM
Das AI-Thinker ESP32-CAM-Modul wird mit einem ESP32-S-Chip, einer sehr kleinen OV2640-Kamera und einem Micro-SD-Kartensteckplatz geliefert. Der Micro SD-Kartensteckplatz kann zum Speichern von Bildern verwendet werden, die von der Kamera aufgenommen wurden, oder zum Speichern von Dateien. Dieses ESP32-CAM-Modul kann in verschiedenen IoT-Anwendungen eingesetzt werden. Es kann als Gesichtserkennungssystem in Büros, Schulen und anderen privaten Bereichen verwendet werden und kann auch als drahtlose Überwachung, drahtlose QR-Identifizierung und viele andere IoT-Anwendungen verwendet werden.
Das ESP32-CAM- Modul kann mit ESP-IDF oder mit Arduino IDE programmiert werden. Das ESP32-CAM-Modul verfügt außerdem über mehrere GPIO-Pins zum Anschließen der externen Hardware. Das ESP32-CAM verfügt nicht über einen USB-Anschluss. Zum Programmieren des Moduls benötigen Sie eine FTDI-Karte.
Eigenschaften:
- Das kleinste 802.11b / g / n Wi-Fi BT SoC-Modul
- 32-Bit-CPU mit geringem Stromverbrauch, kann auch den Anwendungsprozessor bedienen
- Bis zu 160 MHz Taktrate, zusammenfassende Rechenleistung bis zu 600 DMIPS
- Eingebauter 520 KB SRAM, externer 4MPSRAM
- Unterstützt UART / SPI / I2C / PWM / ADC / DAC
- Unterstützt OV2640- und OV7670-Kameras, eingebaute Blitzlampe
- Bild-Wi-Fi-Upload unterstützen
- Unterstützt TF-Karte
- Unterstützt mehrere Schlafmodi
- Embedded Lwip und FreeRTOS
- Unterstützt den Betriebsmodus STA / AP / STA + AP
- Unterstützt die Smart Config / AirKiss-Technologie
- Unterstützung für lokale und Remote-Firmware-Upgrades der seriellen Schnittstelle (FOTA)
Spezifikationen:
- SPI Flash: Standard 32Mbit
- RAM: 520 KB SRAM + 4 MB PSRAM
- Support TF Card: max. 4G
- Unterstützungsschnittstelle: UART, SPI, I2C, PWM
- Bildausgabeformat: JPEG, BMP, GRAYSCALE
- E / A-Port: 9
- Stromversorgungsbereich: 5V
Erforderliche Komponenten
- ESP32-CAM
- FTDI-Programmierer
Schaltplan
Zum Erstellen der ESP32-CAM-Überwachungskamera benötigen wir nur das ESP32-Kameramodul und den FTDI-Programmierer, um sie zu programmieren.
Da ESP32-CAM keinen USB-Anschluss hat, benötigen Sie einen FTDI-Programmierer, um den Code wie in der obigen Abbildung gezeigt in ESP32-CAM hochzuladen. Der Vcc- und GND-Pin des ESP32 ist mit dem Vcc- und GND-Pin der FTDI-Karte verbunden. Tx von und Rx von ESP32 ist mit Rx und Tx der FTDI-Karte verbunden.
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.
ESP32-CAM |
FTDI-Vorstand |
3,3V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
Nach dem Programmieren des ESP32 entfernte ich die FTDI-Karte und verband das Modul mit einem Spannungsregler 7805 mit einer 3,3-V-Stromversorgung. So sieht das Setup für das Video-Streaming der ESP32-Kamera aus:
Installieren Sie die ESP32-Karte auf der Arduino IDE
Hier wird ESP32-CAM mit der Arduino IDE programmiert. Dazu müssen wir das ESP32-Add-On auf der Arduino IDE installieren.
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“.
ESP32 Camera Webserver Code
Wir haben bereits einen Beispielcode für ESP32-Cam-Video-Streaming und Gesichtserkennung. Öffnen Sie das ESP32-Beispiel über Datei> Beispiele> ESP32> Kamera und öffnen Sie das CameraWebServer-Beispiel.
Bevor Sie den Code hochladen, müssen Sie Ihren WLAN-Namen und Ihr Kennwort eingeben.
const char * ssid = "WiFi Name"; const char * password = "Passwort";
Danach definieren Sie das ESP-Kameramodul. Im Code haben sie 5 Kameramodule definiert. Kommentieren Sie daher den „CAMERA_MODEL_AI_THINKER“ aus und kommentieren Sie den Rest der Module.
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 gemäß diesem Bild:
Bevor Sie den Code hochladen, drücken Sie 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 ob Sie im Menü Extras die richtigen Einstellungen ausgewählt haben.
Trennen 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 einem seriellen Monitor wie unten gezeigt zu drucken.
Um nun auf das Kamera-Streaming zuzugreifen, navigieren Sie zu Ihrem Browser und geben Sie Ihre ESP-IP-Adresse ein. Sie gelangen zur Streaming-Seite. Um das Video-Streaming der ESP32-Kamera zu starten, klicken Sie unten auf der Seite auf die Schaltfläche "Stream starten"
Sie können die Streaming-Qualität ändern, indem Sie die Auflösung auf der Streaming-Seite ändern. Sie können auch auf die Bilder klicken, indem Sie auf die Schaltfläche " Standbilder" klicken. Dieser Code bietet jedoch keine Möglichkeit, die Bilder zu speichern.
Nachdem wir das Video-Streaming jetzt getestet haben, werden wir die Funktionen zur Erkennung und Erkennung von ESP32-Nockenflächen testen. Aktivieren Sie dazu die Gesichtserkennungs- und -erkennungsfunktionen in den Einstellungen:
Für die Gesichtserkennung müssen Sie zuerst ein Gesicht registrieren. Sie können sich für ein neues Gesicht anmelden, indem Sie auf die Option "Gesicht registrieren " klicken. Es sind mehrere Versuche erforderlich, um das Gesicht zu retten. Nach dem Speichern des Gesichts wird das Gesicht als Motiv 0 erkannt und kann nun durch Erkennen des Gesichts als Sicherheitssystem verwendet werden.
Auf diese Weise kann ein ESP-Kameramodul einfach für Video-Streaming und Gesichtserkennung konfiguriert werden . Überprüfen Sie das kleine Videomaterial unten, das mit einer ESP32-Kamera aufgenommen wurde.
Der vollständige Code ist unten angegeben und kann auch hier heruntergeladen werden.