Inhaltsverzeichnis:

Erste Schritte mit ESP32 CAM - Streamen von Videos mit ESP CAM über Wifi - ESP32-Sicherheitskamera-Projekt - Gunook
Erste Schritte mit ESP32 CAM - Streamen von Videos mit ESP CAM über Wifi - ESP32-Sicherheitskamera-Projekt - Gunook

Video: Erste Schritte mit ESP32 CAM - Streamen von Videos mit ESP CAM über Wifi - ESP32-Sicherheitskamera-Projekt - Gunook

Video: Erste Schritte mit ESP32 CAM - Streamen von Videos mit ESP CAM über Wifi - ESP32-Sicherheitskamera-Projekt - Gunook
Video: ESP32-Cam - Webserver einrichten | #EdisTechlab 2024, November
Anonim
Erste Schritte mit ESP32 CAM | Streamen von Videos mit ESP CAM über Wifi | ESP32-Sicherheitskamera-Projekt
Erste Schritte mit ESP32 CAM | Streamen von Videos mit ESP CAM über Wifi | ESP32-Sicherheitskamera-Projekt

Heute lernen wir, wie man dieses neue ESP32-CAM-Board verwendet und wie wir es codieren und als Überwachungskamera verwenden und ein Streaming-Video über WLAN abrufen können.

Schritt 1: Dinge, die Sie brauchen

Dinge, die du brauchst
Dinge, die du brauchst
Dinge, die du brauchst
Dinge, die du brauchst

Bevor wir beginnen, stellen Sie sicher, dass Sie die folgenden Dinge bei sich haben: ESP 32 CAM:

FTDI:

Schritt 2: ESP32 Arduino IDE-Setup

ESP32 Arduino IDE-Setup
ESP32 Arduino IDE-Setup

Stellen Sie sicher, dass Sie Arduino IDE in Ihrem PC haben und ESP32 Boards in Ihrer Arduino IDE installiert haben, und wenn dies nicht der Fall ist, folgen Sie bitte den folgenden Anweisungen von mir, um sie zu installieren.:

Schritt 3: ESP32 CAM Board Spezifikationen

Spezifikationen der ESP32-CAM-Platine
Spezifikationen der ESP32-CAM-Platine

Bevor wir etwas unternehmen, vergewissern Sie sich, dass Sie die Spezifikation und die Pinbelegung usw. der ESP32-CAM-Platine kennen. Für dieses Pinbelegungsbild sehen Sie bitte nach, dass die Spezifikationen der ESP32-CAM-Platine unten angegeben sind: Das kleinste 802.11b/g/n Wi-Fi BT SoC-Modul Niedrige 32-Bit-CPU, kann auch den Anwendungsprozessor bedienen Bis zu 160 MHz Taktfrequenz, Gesamtrechenleistung bis zu 600 DMIPSEingebauter 520 KB SRAM, externer 4MPSRAMUnterstützt UART/SPI/I2C/PWM/ADC/DACUnterstützt OV2640- und OV7670-Kameras, eingebaute BlitzlampeUnterstützung für Bild-WLAN-UploadUnterstützung für TF-KarteUnterstützt mehrere SchlafmodiEmbedded Lwip und FreeRTOSUnterstützt den STA/AP/STA+AP-BetriebsmodusUnterstützt Smart Config/AirKiss-TechnologieUnterstützt lokale und Remote-Firmware-Upgrades über serielle Ports (FOTA)Pins verwendet für microSD-Kartenleser:GPIO 14: CLKGPIO 15: CMDGPIO 2: Data 0GPIO 4: Data 1 (auch mit der Onboard-LED verbunden)GPIO 12: Data 2GPIO 13: Data 3

Schritt 4: Alles miteinander verbinden

Alles miteinander verbinden
Alles miteinander verbinden

Um dieses Ding zu programmieren, müssen wir ein FTDI / USB an ttl anschließen, um dieses Ding zu programmieren, da dieses Board keinen hat.

Schritt 5: Abrufen des Codes

Gehen Sie in Ihrer Arduino-IDE zu Datei > Beispiele > ESP32 > Kamera und öffnen Sie das CameraWebServer-Beispiel. ODER Sie können den folgenden angegebenen Code verwenden und den folgenden Code kopieren: #include "esp_camera.h"#include #include "esp_timer.h" #include "img_converters.h"#include "Arduino.h"#include "fb_gfx.h"#include "soc/soc.h" //Deaktiviere Brownout-Probleme#include "soc/rtc_cntl_reg.h" //Deaktiviere Brownout-Probleme# include "dl_lib.h"#include "esp_http_server.h"//Ersetzen Sie mit Ihren Netzwerk-Zugangsdatenconst char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";#define PART_BOUNDARY "123456789000021000000009" das AI Thinker Model, M5STACK PSRAM Model und M5STACK WITHOUT PSRAM#define CAMERA_MODEL_AI_THINKER//#define CAMERA_MODEL_M5STACK_PSRAM//#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM// Nicht getestet mit diesem Modell//#define CAMERA_MODELIO #define CAMERA_MODELIO #define RESET_GPIO_NUM -1 #define XCLK_G PIO_NUM 21 #define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27 #define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 19 #define Y4_GPIO_NUM 18 #define Y6_GPIO_NUM 36 #define HNCIONUM 19 #define Y4_GPIO_NUM 18 #define Y4_GPIO_NUM 18 #define Y6_GPIO_NUM 19 #define Y4_GPIO_NUM 18 #define_NUMMER #define PCLK_GPIO_NUM 22#elif definiert(CAMERA_MODEL_M5STACK_PSRAM) #define PWDN_GPIO_NUM -1 #define RESET_GPIO_NUM 15 #define XCLK_GPIO_NUM 27 #define SIOD_GPIO_NUM 25 #define SIOC_GPIO_NUM 23 #define YGP_GPIO_NUM YGP_define_36NUM YGP_define_NUMY. #GP_define_36# 5 #define Y4_GPIO_NUM 34 #define Y3_GPIO_NUM 35 #define Y2_GPIO_NUM 32 #define VSYNC_GPIO_NUM 22 #define HREF_GPIO_NUM 26 #define PCLK_GPIO_NUM 21#elif definiert(CAMERA_MODEL_M5STACK_WITHOUT_PSRAM) #define_NUMK_SI_--- SIOC_GPIO_NUM 23 #define Y9_GPIO_NUM 19 #define Y8_GPIO_NUM 36 #define Y7_GPIO_NUM 18 #define Y6_ GPIO_NUM 39 #define Y5_GPIO_NUM 5 #define Y4_GPIO_NUM 34 #define Y3_GPIO_NUM 35 #define Y2_GPIO_NUM 17 #define VSYNC_GPIO_NUM 22 #define HREF_GPIO_NUM 26 #define PCLK_GPIO_NUM 21#elif definiert (CAMERA_GPIO_DN)_Define_ define SIOD_GPIO_NUM 26 #define SIOC_GPIO_NUM 27 #define Y9_GPIO_NUM 35 #define Y8_GPIO_NUM 34 #define Y7_GPIO_NUM 39 #define Y6_GPIO_NUM 36 #define Y5_GPIO_NUM 21 #define Y4_GPIO_NUM 19 #define Y3_GPIO_NUM 22#else #error "Kameramodell nicht ausgewählt"#endifstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;static const char* _STREAM_BOUNDARY = "\r\n--" PART_BOUNDARY "\r \n";static const char* _STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: %u\r\n\r\n";httpd_handle_t stream_httpd = NULL;static esp_err_t stream_handler(httpd_req_t *req) { camera_fb_t * f b = NULL; esp_err_t res = ESP_OK; size_t_jpg_buf_len = 0; uint8_t * _jpg_buf = NULL; char * part_buf[64]; res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE); if(res != ESP_OK){ return res; aufrechtzuerhalten. Während (wahr) {fb = esp_camera_fb_get(); if (!fb) { Serial.println ("Kameraaufnahme fehlgeschlagen"); res = ESP_FAIL; } else { if(fb->width > 400){ if(fb->format != PIXFORMAT_JPEG){ bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len); esp_camera_fb_return(fb); fb = NULL; if (! jpeg_converted) { Serial.println ("JPEG-Komprimierung fehlgeschlagen"); res = ESP_FA

Schritt 6: Laden Sie den Code hoch

Laden Sie den Code hoch
Laden Sie den Code hoch

Nachdem Sie den Code erhalten haben, müssen Sie den Code hochladen und es sind nur wenige Einstellungen erforderlich, um den Code hochzuladen. Stellen Sie also sicher, dass Sie während des Uploads Folgendes getan haben, da es sich um einen Umarmungscode handelt, der nicht mit der normalen Methode hochgeladen wird. Gehen Sie zu Tools> Board und Wählen Sie ESP32 Wrover ModuleGehen Sie zu Tools> Port und wählen Sie den COM-Port aus, mit dem der ESP32 verbunden istIn Tools> Partition Scheme, wählen Sie „Riesige APP (3MB kein OTA)“Bevor Sie den Code hochladen, müssen Sie Ihre WLAN-Anmeldeinformationen im folgenden Teil von. eingeben code:const char* ssid = "REPLACE_WITH_YOUR_SSID";const char* password = "REPLACE_WITH_YOUR_PASSWORD";und stellen Sie sicher, dass Sie das richtige Kameramodul auswählen. Da wir hier das AI-THINKER-Modell verwenden, wählen Sie Folgendes aus Also, kommentieren Sie alle andere Modelle und kommentieren Sie dieses:#define CAMERA_MODEL_AI_THINKERDrücken Sie die ESP32-CAM-interne RESET-Taste. Klicken Sie dann auf die Upload-Schaltfläche, um den Code hochzuladen.

Schritt 7: Abrufen der IP

Erhalt der IP
Erhalt der IP

Entfernen Sie den zwischen GPIO0 und GND angeschlossenen Jumper, öffnen Sie den seriellen Monitor mit der Baudrate: 115200 und drücken Sie dann die ESP32-CAM-Reset-Taste und warten Sie, bis die IP angezeigt wird, warten Sie einige Sekunden und drücken Sie dann erneut auf Reset Siehe ich habe meine IP und sie ist im Bild hervorgehoben.

Schritt 8: Abrufen des Wifi-Streaming-Videos

Abrufen des Wifi-Streaming-Videos
Abrufen des Wifi-Streaming-Videos

Öffnen Sie Ihren Browser und stellen Sie sicher, dass Ihr PC mit demselben Netzwerk wie ESP32 CAM verbunden ist und geben Sie dann die IP in Ihren Browser ein, klicken Sie dann auf die Stream-Schaltfläche und Sie erhalten Ihren Videostream und es gibt auch hier einige Einstellungen, damit Sie diese ausprobieren können und bekomme auch ein besseres Video.

Empfohlen: