Tabla de contenido:

Introducción a ESP32 CAM - Transmisión de video usando ESP CAM a través de Wifi - Proyecto de cámara de seguridad ESP32: 8 pasos
Introducción a ESP32 CAM - Transmisión de video usando ESP CAM a través de Wifi - Proyecto de cámara de seguridad ESP32: 8 pasos

Video: Introducción a ESP32 CAM - Transmisión de video usando ESP CAM a través de Wifi - Proyecto de cámara de seguridad ESP32: 8 pasos

Video: Introducción a ESP32 CAM - Transmisión de video usando ESP CAM a través de Wifi - Proyecto de cámara de seguridad ESP32: 8 pasos
Video: Intro al mundo de los ESP32-CAM 2024, Noviembre
Anonim
Introducción a ESP32 CAM | Transmisión de video usando ESP CAM a través de Wifi | Proyecto de cámara de seguridad ESP32
Introducción a ESP32 CAM | Transmisión de video usando ESP CAM a través de Wifi | Proyecto de cámara de seguridad ESP32

Hoy aprenderemos cómo usar esta nueva placa ESP32 CAM y cómo podemos codificarla y usarla como cámara de seguridad y obtener una transmisión de video a través de wifi.

Paso 1: Cosas que necesita

Cosas que necesitas
Cosas que necesitas
Cosas que necesitas
Cosas que necesitas

Antes de comenzar, asegúrese de tener las siguientes cosas con usted: ESP 32 CAM:

FTDI:

Paso 2: Configuración de ESP32 Arduino IDE

Configuración de ESP32 Arduino IDE
Configuración de ESP32 Arduino IDE

Asegúrese de tener Arduino IDE en su PC y de haber instalado placas ESP32 en su Arduino IDE, y si no es el caso, siga las siguientes instrucciones mías para instalarlo.:

Paso 3: Especificaciones de la placa ESP32 CAM

Especificaciones de la placa ESP32 CAM
Especificaciones de la placa ESP32 CAM

Antes de hacer algo, asegúrese de conocer las especificaciones y el pinout, etc. de la placa ESP32 CAM, y para que se agregue la imagen del pinout, consulte las especificaciones de la placa ESP32 CAM a continuación: El Wi-Fi 802.11b / g / n más pequeño Módulo BT SoC CPU de 32 bits de baja potencia, también puede servir al procesador de aplicaciones Velocidad de reloj de hasta 160 MHz, potencia de cálculo resumida de hasta 600 DMIPS SRAM integrado de 520 KB, 4MPSRAM externo Admite UART / SPI / I2C / PWM / ADC / DAC Admite cámaras OV2640 y OV7670, Lámpara flash incorporada Admite carga de WiFI de imagen Admite tarjeta TF Admite múltiples modos de suspensión Lwip y FreeRTOS integrados Admite modo de operación STA / AP / STA + AP Admite tecnología Smart Config / AirKiss Admite actualizaciones de firmware locales y remotas del puerto serie (FOTA) Pines utilizados para el lector de tarjetas microSD: GPIO 14: CLKGPIO 15: CMDGPIO 2: Datos 0GPIO 4: Datos 1 (también conectado al LED integrado) GPIO 12: Datos 2GPIO 13: Datos 3

Paso 4: conecta todo junto

Conecte todo junto
Conecte todo junto

Para programar esto, necesitamos conectar un FTDI / usb a ttl para programar esto porque esta placa no tiene uno. Así que conecte el Ftdi / usb a ttl de acuerdo con schmatics.

Paso 5: obtener el código

En su IDE de Arduino, vaya a Archivo> Ejemplos> ESP32> Cámara y abra el ejemplo de CameraWebServer. O puede usar el siguiente código dado, copie el siguiente código: #include "esp_camera.h" #include #include "esp_timer.h" #include "img_converters.h" #include "Arduino.h" #include "fb_gfx.h" #include "soc / soc.h" // deshabilita los problemas de apagones # incluye "soc / rtc_cntl_reg.h" // deshabilita los problemas de apagones # include "dl_lib.h" #include "esp_http_server.h" // Reemplace con sus credenciales de red const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; # define PART_BOUNDARY "123987654320000 probado con el modelo AI Thinker, el modelo M5STACK PSRAM y M5STACK SIN PSRAM # definen CAMERA_MODEL_AI_THINKER // # definen CAMERA_MODEL_M5STACK_PSRAM // # definen CAMERA_MODEL_M5STACK_WITHOUT_PSRAM // No probado con este modelo // # define CAMERAKVERMODEL_define # if 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 Y3_GPIO_NUM 5 #define Y2_GPIO_NUM 4 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22 # elif definido (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 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 32 #define VSYNC_GPIO_NUM 22 #define HREF_GPIO_NUM 26 #define PCLK_GPIO_NUM 21 # elif definido (CAMERA_MODEL_M5STACK_WITHOUT_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 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 definido (CAMERA_MODEL_AI_THINKER) #define PWDN_GPIO_NUM 32 #define RESET_GPIO_NUM -1 #define XCLK_GPIO_NUM 0 # definir 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 18 #define Y2_GPIO_NUM 5 #define VSYNC_GPIO_NUM 25 #define HREF_GPIO_NUM 23 #define PCLK_GPIO_NUM 22 # else #error "Modelo de cámara no seleccionado" #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 =" Tipo de contenido: imagen / jpeg / r / n Longitud de contenido:% 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 = NULO; 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; } while (verdadero) {fb = esp_camera_fb_get (); if (! fb) {Serial.println ("Falló la captura de la cámara"); res = ESP_FAIL; } else {if (fb-> width> 400) {if (fb-> format! = PIXFORMAT_JPEG) {bool jpeg_converted = frame-j.webp

Paso 6: Cargue el código

Sube el código
Sube el código

Después de obtener el código, debe cargar el código y requiere algunas configuraciones para cargar el código, así que asegúrese de hacer lo siguiente durante la carga porque es un código de abrazo para que no se cargue con el método normal. Vaya a Herramientas> Tablero y seleccione el módulo Wrover ESP32 Vaya a Herramientas> Puerto y seleccione el puerto COM al que está conectado el ESP32 En Herramientas> Esquema de partición, seleccione "Aplicación enorme (3 MB sin OTA)" Antes de cargar el código, debe ingresar sus credenciales wifi en la siguiente parte de code: const char * ssid = "REPLACE_WITH_YOUR_SSID"; const char * password = "REPLACE_WITH_YOUR_PASSWORD"; y asegúrese de seleccionar el módulo de cámara correcto. Como aquí estamos usando el modelo AI-THINKER, seleccione lo siguiente Entonces, comente todos los otros modelos y descomente este: #define CAMERA_MODEL_AI_THINKERPresione el botón RESET integrado de ESP32-CAM Luego, haga clic en el botón de carga para cargar el código.

Paso 7: obtener la IP

Obteniendo la IP
Obteniendo la IP

Retire el puente conectado entre GPIO0 y GND, luego, abra el monitor serial con la velocidad en baudios: 115200 y luego presione el botón de reinicio ESP32-CAM y espere a que aparezca la IP y espere unos segundos y luego presione reiniciar nuevamente. Mira, obtuve mi IP y está resaltada en la imagen.

Paso 8: Obtención de la transmisión de video Wifi

Obtener el video de transmisión por wifi
Obtener el video de transmisión por wifi

Abra su navegador y asegúrese de que su PC esté conectada a la misma red que ESP32 CAM y luego escriba la IP en su navegador, luego haga clic en el botón de transmisión y obtendrá su transmisión de video y también hay algunas configuraciones aquí para que pueda probarlas. y obtén un mejor video también.

Recomendado: