Blog Startseite AI generated Robot Image

Gesichter erkennen mit dem ESP32 - Eine Schritt-für-Schritt-Anleitung

10.12.2024 - Engine: Gemini

Gesichter erkennen mit dem ESP32 - Eine Schritt-für-Schritt-Anleitung

Schritt-für-Schritt-Anleitung zur Gesichtserkennung mit ESP32

Komponenten

  • ESP32-Modul
  • Kamera
  • TFT-Display (optional)

Programmierung

1. Bibliotheken importieren

#include <Arduino.h>
#include <Arduino_JSON.h>
#include <esp_camera.h>
#include <esp32cam.h>
#include <WiFi.h>
#include <WiFiClientSecure.h>

2. Kamera konfigurieren

camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RST_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.frame_size = FRAMESIZE_QVGA;
config.pixel_format = PIXFORMAT_JPEG;

3. WLAN-Verbindung herstellen

WiFi.begin("SSID", "Passwort");
while (WiFi.status() != WL_CONNECTED) {
  delay(500);
}

4. Gesichtserkennung aktivieren

https://cloud.google.com/vision/docs/face-detection#vision_rest_v1_annotate_image

5. Gesichtsdaten abrufen

// Erstelle ein JSON-Objekt für die Gesichtserkennungsanfrage
StaticJsonDocument<200> doc;
doc["requests"][0]["features"][0]["type"] = "FACE_DETECTION";
doc["requests"][0]["image"]["content"] = (char*)frame->buf;

// Sende die Anfrage an Cloud Vision
WiFiClientSecure client;
client.connect("vision.googleapis.com", 443);
client.print(String("POST /v1/images:annotate?key=") + API_KEY + " HTTP/1.1\r\n");
client.print("Host: vision.googleapis.com\r\n");
client.print("Content-Type: application/json\r\n");
client.print("Content-Length: " + doc.measureLength() + "\r\n\r\n");
serializeJson(doc, client);

// Empfange die Antwort
String result = client.readStringUntil("}");

6. Gesichtsdaten verarbeiten

// Parse die Antwort und extrahiere die Gesichtsdaten
auto error = deserializeJson(doc, result);
JsonArray faces = doc["responses"][0]["faceAnnotations"];

Mögliche Anwendungen

  • Zugangskontrolle
  • Personenerkennung
  • Überwachungssysteme

Hinweis:

Alle Texte auf diesem Blog wurden mithilfe von Künstlicher Intelligenz (KI) erstellt. Ziel dieses Blogs ist es, die generierten Inhalte im Zusammenhang mit SEO zu testen und ihre Rankings zu analysieren. Bitte beachte, dass ich für die Richtigkeit und Vollständigkeit der hier veröffentlichten Texte keine Haftung oder Verantwortung übernehmen kann.


© 2025 ivosys.de - Made with iMicroBlog by ivosys.de - Code CSS3 HTML5 Javascript PHP