Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

¿Te gustaría aprender a realizar streaming de vídeo utilizando la cámara ESP32 CAM y añadirle reconocimiento facial con Arduino IDE? ¡Estás en el lugar indicado! En este artículo te guiaremos paso a paso para que puedas crear un proyecto innovador y emocionante. ¡No te lo pierdas!

Este artículo es una guía rápida para la placa CAM ESP32. Le mostraremos cómo configurar un servidor web de transmisión de video con detección y captura facial usando Arduino IDE en menos de 5 minutos.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Nota: En este tutorial usaremos el ejemplo de la biblioteca Arduino ESP32. En este tutorial no se trata cómo modificar el ejemplo.

Proyecto relacionado: Servidor web de transmisión de video ESP32-CAM (funciona con Home Assistant y Node-Red)

Mira el vídeotutorial

Puede ver el video tutorial o continuar leyendo esta página para obtener las instrucciones escritas.

Piezas requeridas

Para seguir este tutorial necesitarás los siguientes componentes:

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Presentamos el ESP32-CAM

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

El Leva ESP32 Es un módulo de cámara muy pequeño con el chip ESP32-S que cuesta alrededor de 10 dólares. Además de la cámara OV2640 y múltiples GPIO para conectar periféricos, también tiene una ranura para tarjeta microSD, que puede resultar útil para almacenar imágenes capturadas con la cámara o archivos para enviarlos a los clientes.

El Leva ESP32 no tiene un puerto USB, por lo que necesitarás uno programador FTDI para cargar código a través del U0R Y U0T Pines (pines seriales).

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

características

Aquí hay una lista de características de ESP32 CAM:

  • El módulo SoC BT Wi-Fi 802.11b/g/n más pequeño
  • CPU de 32 bits de bajo consumo, también puede servir como procesador de aplicaciones
  • Frecuencia de reloj de hasta 160 MHz, potencia informática total de hasta 600 DMIPS
  • SRAM incorporada de 520 KB, 4 MPSRAM externa
  • Compatible con UART/SPI/I2C/PWM/ADC/DAC.
  • Admite cámaras OV2640 y OV7670, lámpara de flash incorporada
  • Admite la carga de imágenes a través de WiFi
  • Admite tarjeta TF
  • Admite múltiples modos de suspensión
  • Lwip y FreeRTOS integrados
  • Admite el modo de operación STA/AP/STA+AP
  • Admite tecnología Smart Config/AirKiss
  • Soporte para actualizaciones de firmware locales y remotas a través del puerto serie (FOTA)

Configuración de pines de leva ESP32

La siguiente figura muestra la asignación de pines del ESP32-CAM (módulo AI Thinker).

Hay tres ahí Dimensiones Pines y dos pines para fuente de alimentación: cualquiera 3,3 V o 5V.

GPIO1 Y GPIO3 son los pines seriales. Necesitas estos pines para cargar el código en tu tablero. aparte de eso GPIO 0 También juega un papel importante ya que determina si el ESP32 está en modo intermitente o no. GPIO 0 está conectado con DimensionesEl ESP32 está en modo intermitente.

Los siguientes pines están conectados internamente al lector de tarjetas microSD:

  • GPIO 14: CLK
  • GPIO 15: CMD
  • GPIO 2: Datos 0
  • GPIO 4: Datos 1 (también conectado al LED integrado)
  • GPIO 12: Datos 2
  • GPIO 13: Datos 3

Servidor de transmisión de vídeo

Siga los siguientes pasos para crear un servidor web de transmisión de video usando ESP32 CAM al que puede acceder a través de su red local.

Importante: Asegúrese de que su IDE de Arduino esté actualizado, así como la última versión del complemento ESP32.

1. Instale el complemento ESP32

En este ejemplo, utilizamos Arduino IDE para programar la placa CAM ESP32. Por lo tanto, debe tener instalado Arduino IDE y el complemento ESP32. Siga el siguiente tutorial para instalar el complemento ESP32 si aún no lo ha hecho:

  • Instalación de la placa ESP32 en Arduino IDE 2 (Windows, Mac OS X, Linux)

2. Código de muestra de CameraWebServer

Vaya a su IDE de Arduino archivo > Ejemplos > ESP32 > cámara y ábrelo CámaraServidorWeb Ejemplo.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Debería cargarse el siguiente código.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Antes de cargar el código, debe agregar sus credenciales de red a las siguientes variables:

const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

Luego asegúrese de seleccionar el módulo de cámara correcto. En este caso utilizamos el modelo AI-THINKER.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Así que comente todos los demás modelos y elimínelos. CAMERA_MODEL_AI_THINKER:

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER
Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Si ninguna de las opciones disponibles coincide con la cámara que está utilizando, deberá verificar la configuración de pines de su tarjeta específica. Camera_Pins.h Pestaña.

Ahora el código se puede cargar en su ESP32.

3. Código de carga de CAM ESP32

Conecte la placa ESP32 CAM a su computadora usando un programador FTDI. Siga el siguiente diagrama esquemático:

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Muchos programadores FTDI tienen un puente que le permite seleccionar 3,3 V o 5 V. Asegúrese de que el puente esté en el lugar correcto para seleccionar 5V.

Importante: GPIO 0 debe estar conectado a Dimensiones para que puedas subir el código.

Leva ESP32 programador FTDI
Dimensiones Dimensiones
5V VCC (5V)
U0R Texas
U0T RX
GPIO 0 Dimensiones

Para cargar el código, siga los siguientes pasos:

1) Ir a Herramientas > tablón y elige Pensador de IA ESP32-CAM.

2) Ir a Herramientas > Puerto y seleccione el puerto COM al que está conectado el ESP32.

3) Luego haga clic en el botón «Cargar» para cargar el código.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

4) Si se muestran algunos puntos en la ventana de depuración, es posible que deba presionar el botón RST incorporado del ESP32-CAM si el modo de parpadeo no es automático.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Después de unos segundos, el código debería cargarse correctamente en su tablero.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Obtener la dirección IP

Después de cargar el código, desconecta GPIO 0 fuera de Dimensiones.

Abra el monitor en serie con una velocidad de baudios de 115200. Presione el botón de reinicio incorporado del ESP32-CAM.

La dirección IP del ESP32 debe estar impresa en el monitor serie.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Acceso al servidor de streaming de vídeo.

Ahora puede acceder al servidor de transmisión de su cámara en su red local. Abra un navegador e ingrese la dirección IP de ESP32 CAM. presione el Iniciar transmisión Botón para iniciar la transmisión de vídeo.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

También tienes la opción de tomar fotos haciendo clic en el cállate Botón. Desafortunadamente, este ejemplo no guarda las fotos, pero puedes cambiarlo para usar la tarjeta microSD incorporada para guardar las fotos que tomas.

También hay varias configuraciones de la cámara con las que puedes experimentar para ajustar la configuración de la imagen.

Finalmente, puedes realizar reconocimiento facial y captura.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Primero necesitas registrar una nueva cara. Se hacen múltiples intentos para salvar la cara. Después de registrar un nuevo usuario, el rostro debería ser reconocido posteriormente (Sujeto 0).

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Y eso fue todo. Ahora su servidor web de transmisión de video con detección y reconocimiento facial está listo para usar con el ejemplo de la biblioteca.

Solución de problemas

Si recibe alguno de los siguientes errores, consulte nuestra Guía de solución de problemas de ESP32-CAM: solución de los problemas más comunes

  • No se pudo conectar a ESP32: tiempo de espera de espera para el encabezado del paquete
  • La inicialización de la cámara falló con el error 0x20001 o similar
  • Detector de caída de tensión o error de meditación del gurú
  • Error de boceto demasiado grande: se seleccionó un esquema de partición incorrecto
  • La tarjeta en COMX no está disponible – Puerto COM no seleccionado
  • Error de Psram: el servicio GPIO ISR no está instalado
  • Señal WiFi débil
  • No hay dirección IP en el monitor serie Arduino IDE
  • No se puede abrir el servidor web
  • La imagen está retrasada/muestra una latencia alta.

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

[eBook] Crea proyectos CAM ESP32 con Arduino IDE

Aprenda a programar y crear proyectos con ESP32-CAM usando Arduino IDE 17 DESCARGAR «

Aprenda a programar y crear proyectos con ESP32-CAM usando Arduino IDE 17 DESCARGAR «

Envolver

El ESP32-CAM le permite crear de forma rentable proyectos de automatización del hogar más sofisticados con captura de vídeo y fotografías y capacidades de reconocimiento facial.

En este tutorial, probamos el ejemplo CameraWebServer para probar la funcionalidad de la cámara. Ahora la idea es modificar el ejemplo o escribir un código completamente nuevo para crear otros proyectos. Por ejemplo, tome fotografías y guárdelas en la tarjeta microSD cuando detecte movimiento, integre la transmisión de video en su plataforma de automatización del hogar (como Node-RED o Home Assistant) y más.

Esperamos que este tutorial le resulte útil. Si aún no tienes una CAM ESP32, puedes tómalo aquí.

Si te gusta este proyecto, es posible que también te gusten otros proyectos que utilizan ESP32-CAM:

  • Servidor web de transmisión de video ESP32-CAM (funciona con Home Assistant y Node-RED)
  • ESP32-CAM Tomar foto y guardar en tarjeta MicroSD
  • ESP32-CAM Detector de movimiento PIR con grabación de fotografías (guarda en tarjeta microSD)
  • ESP32-CAM toma fotografías y las muestra en el servidor web
  • Crear proyectos ESP32-CAM (libro electrónico)
  • Lea todos nuestros proyectos, tutoriales y guías de ESP32 CAM
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Este artículo es una guía rápida para comenzar con la placa ESP32-CAM. Te mostraremos cómo configurar un servidor web de streaming de video con reconocimiento y detección facial en menos de 5 minutos con Arduino IDE.

Nota: en este tutorial utilizamos el ejemplo de la biblioteca arduino-esp32. Este tutorial no cubre cómo modificar el ejemplo.

Proyecto relacionado: Servidor web de streaming de video ESP32-CAM (funciona con Home Assistant y Node-Red)

Puedes ver el tutorial en video o seguir leyendo esta página para ver las instrucciones escritas.

Piezas necesarias

Para seguir este tutorial necesitas los siguientes componentes:

  1. ESP32-CAM con OV2640
  2. Programador FTDI
  3. Cables jumper hembra a hembra

Puedes usar los enlaces anteriores o ir directamente a MakerAdvisor.com/tools para encontrar todas las piezas para tus proyectos al mejor precio.

Introducción a ESP32-CAM

El ESP32-CAM es un módulo de cámara muy pequeño con el chip ESP32-S que cuesta aproximadamente $10. Además de la cámara OV2640 y varios GPIO para conectar periféricos, también cuenta con una ranura para tarjeta microSD que puede ser útil para almacenar imágenes tomadas con la cámara o para almacenar archivos para servir a los clientes.

El ESP32-CAM no viene con un conector USB, por lo que necesitas un programador FTDI para cargar el código a través de los pines U0R y U0T (pines serie).

Características

Aquí tienes una lista con las características del ESP32-CAM:

  • El módulo SoC más pequeño 802.11b/g/n Wi-Fi BT
  • Procesador de 32 bits de baja potencia, también puede servir como procesador de aplicaciones
  • Velocidad de reloj de hasta 160MHz, potencia informática total de hasta 600 DMIPS
  • 520 KB de SRAM integrado, 4MPSRAM externo
  • Soporta UART/SPI/I2C/PWM/ADC/DAC
  • Soporta cámaras OV2640 y OV7670, lámpara de flash integrada
  • Soporte de carga de imagen WiFI
  • Soporta tarjeta TF
  • Soporta múltiples modos de reposo
  • Lwip y FreeRTOS integrados
  • Soporta modo de operación STA/AP/STA+AP
  • Tecnología Smart Config/AirKiss
  • Soporta actualizaciones de firmware locales y remotas a través del puerto serie (FOTA)

Pinout ESP32-CAM

La siguiente imagen muestra el pinout del ESP32-CAM (módulo AI-Thinker).

Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE

Hay tres pines GND y dos pines de alimentación: ya sea 3.3V o 5V. Los pines GPIO 1 y GPIO 3 son los pines serie. Necesitas estos pines para cargar el código en tu placa. Además, el GPIO 0 también juega un papel importante, ya que determina si el ESP32 está en modo de flasheo o no. Cuando el GPIO 0 está conectado a GND, el ESP32 está en modo de flasheo.

Los siguientes pines están internamente conectados al lector de tarjetas microSD:

  • GPIO 14: CLK
  • GPIO 15: CMD
  • GPIO 2: Data 0
  • GPIO 4: Data 1 (también conectado al LED de la placa)
  • GPIO 12: Data 2
  • GPIO 13: Data 3

Servidor de Streaming de Video

Sigue los siguientes pasos para construir un servidor web de streaming de video con el ESP32-CAM al que puedes acceder en tu red local.

Importante: Asegúrate de tener tu Arduino IDE actualizado, así como la última versión del complemento ESP32.

  1. Instalar el complemento ESP32
  2. Código de ejemplo CameraWebServer
  3. Cargar Código ESP32-CAM

Después de cargar el código, desconecta GPIO 0 de GND.

Abre el Monitor en Serie a una velocidad de baudios de 115200. Presiona el botón de Reset de la placa ESP32-CAM. La dirección IP debe aparecer en el Monitor en Serie.

Acceder al servidor de streaming de video

Ahora puedes acceder a tu servidor de streaming de video en tu red local. Abre un navegador y escribe la dirección IP del ESP32-CAM. Presiona el botón de Iniciar Streaming para comenzar el streaming de video. También tienes la opción de tomar fotos haciendo clic en el botón Obtener Imagen.

Desafortunadamente, este ejemplo no guarda las fotos, pero puedes modificarlo para usar la tarjeta microSD integrada para almacenar las fotos capturadas. También hay varios ajustes de cámara con los que puedes jugar para ajustar la configuración de la imagen.

Finalmente, puedes hacer reconocimiento y detección facial. Primero, necesitas registrar una nueva cara. Luego, debería detectar la cara más tarde (sujeto 0).

Y eso es todo. Ahora tienes tu servidor web de streaming de video funcionando con detección y reconocimiento facial con el ejemplo de la biblioteca.

Resolución de Problemas

Si estás obteniendo alguno de los siguientes errores, lee nuestra Guía de Solución de Problemas ESP32-CAM: Problemas Más Comunes Resueltos

  1. Error al conectar con ESP32: Tiempo de espera esperando el encabezado del paquete
  2. La inicialización de la cámara falló con error 0x20001 o similar
  3. Error del detector de parada o error de meditación del gurú
  4. Error de tamaño de boceto demasiado grande: se ha seleccionado un esquema de partición incorrecto
  5. La placa en COMX no está disponible: Puerto COM no seleccionado
  6. Error Psram: el servicio GPIO isr no está instalado
  7. Señal Wi-Fi débil
  8. Dirección IP no presentada en el Monitor en Serie de Arduino IDE
  9. No se puede abrir el servidor web
  10. La imagen retrasa/muestra mucha latencia

Conclusión

El ESP32-CAM proporciona una forma económica de construir proyectos de automatización del hogar más avanzados que cuentan con video, toma de fotos y reconocimiento facial.

En este tutorial hemos probado el ejemplo de CameraWebServer para probar las funcionalidades de la cámara. Ahora, la idea es modificar el ejemplo o escribir un código completamente nuevo para construir otros proyectos. Por ejemplo, tomar fotos y guardarlas en la tarjeta microSD cuando se detecte movimiento, integrar el streaming de video en tu plataforma de automatización del hogar (como Node-RED o Home Assistant) y mucho más.

Esperamos que este tutorial te haya sido útil. Si aún no tienes un ESP32-CAM, puedes conseguirlo aquí. Si te ha gustado este proyecto, también te pueden interesar otros proyectos con ESP32-CAM:

  • Servidor web de streaming de video ESP32-CAM (funciona con Home Assistant y Node-RED)
  • Tomar foto y guardar en tarjeta MicroSD con ESP32-CAM
  • Detector de movimiento PIR con captura de foto ESP32-CAM (guarda en tarjeta MicroSD)
  • Tomar foto y mostrar en servidor web con ESP32-CAM
  • Construir Proyectos ESP32-CAM (eBook)

Leer todos nuestros Proyectos, Tutoriales y Guías de ESP32-CAM

4 comentarios en «Streaming de vídeo ESP32 CAM y reconocimiento facial con Arduino IDE»

Deja un comentario