Inmersión en IoT: Construye tu Propio Servidor de Video en Vivo con ESP32-CAM

Introducción

En este tutorial, aprenderás cómo configurar y utilizar un módulo ESP32-CAM para construir un sencillo servidor web. Este servidor te permitirá visualizar el feed de vídeo en vivo de la cámara del ESP32-CAM en tu navegador web.

Materiales necesarios

  • Módulo ESP32-CAM
  • Fuente de 5V 
  • Arduino uno
  • Cable USB para programación
  • Cables para conexiones 
  • Un ordenador con Arduino IDE instalado

Conexión del ESP32-CAM al ordenador

  • Conectar el GND del ESP32-CAM al GND del Arduino: Puedes usar cualquier pin GND en el Arduino.
  • Conectar el GND del ESP32-CAM al GND de la fuente.
  • Conectar el 5V del ESP32-CAM al 5V de la fuente.
  • Conecta RX del ESP32-CAM a TX del Arduino: Esto permite la transmisión de datos del Arduino al ESP32-CAM.
  • Conecta TX del ESP32-CAM a RX del Arduino: Esto permite la transmisión de datos del ESP32-CAM al Arduino.
  • Conectar el pin GPIO 0 del ESP32-CAM a GND: Esto se hace para poner el ESP32-CAM en modo de programación. Después de subir el código, puedes desconectar este pin de GND.
  • Reset del Arduino: Antes de subir el código, debes poner el Arduino en modo de reset. Esto se hace conectando el pin RESET del Arduino a GND, lo que evitará que el Arduino interfiera con la programación del ESP32-CAM.

Configuración de Arduino IDE

Primero, debes asegurarte de que Arduino IDE esté configurado para trabajar con el módulo ESP32.

Instalar la extensión ESP32: Arduino IDE no viene con soporte para la placa ESP32 por defecto, por lo tanto, debes instalarlo. Ve a Archivo > Preferencias y en la ventana que se abre, copia el siguiente URL en el campo "Gestor de URLs Adicionales de Tarjetas":

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Luego, haz clic en "Aceptar" para cerrar la ventana.

Instalar la placa ESP32: Ahora, ve a Herramientas > Placa > Gestor de Tarjetas.... En el Gestor de Tarjetas, escribe "ESP32" en el campo de búsqueda, encuentra "esp32" por Espressif Systems en los resultados, y haz clic en "Instalar".

Seleccionar la placa ESP32-CAM: Una vez que la instalación se haya completado, puedes seleccionar tu placa ESP32-CAM desde Herramientas > Placa > ESP32 > ESP32 Wrover Module.

Cargando el sketch del Servidor Web

Abre Arduino IDE y carga el ejemplo de servidor web de la biblioteca ESP32. Este sketch configurará tu ESP32-CAM como un servidor web, y será capaz de transmitir vídeo desde la cámara a cualquier cliente que se conecte.


Configuración de la red WiFi

En el sketch, busca la sección en la que puedes seleccionar la placa, comenta la que viene por defecto y descomenta la línea

#define CAMERA_MODEL_AI_THINKER

Introduce los detalles de tu red WiFi. Escribe el SSID y la contraseña de tu red para que el ESP32-CAM pueda conectarse a ella.

Configuración de la placa

Antes de cargar el código a la placa, debes cambiar algunas configuraciones desde el menú de herramientas. Selecciona la placa ESP32 Wrover Module, configura la Flash Frequency a 40MHz, el Flash Mode a QIO, el Partition Scheme a Huge App y el Upload Speed a 115200. También selecciona el puerto COM al que está conectada tu placa.

Subiendo el sketch al ESP32-CAM

Haz clic en el botón de subida en Arduino IDE para cargar el sketch en tu ESP32-CAM. Espera a que el proceso llegue a 100%.

Conexión al servidor web

Una vez que el sketch ha sido cargado con éxito, desconecta el puente entre GPIO0 y GND y presiona el botón de reset del ESP32-CAM para que la placa pueda arrancar normalmente. Abre el monitor serie en Arduino IDE a 115200 baudios para obtener la dirección IP que ha sido asignada al ESP32-CAM. Abre el navegador web desde un dispositivo conectado a la misma red y escribe dicha dirección IP para conectarte al servidor web.


Visualización del vídeo en directo

Si todo ha ido bien, deberías ser capaz de ver el feed de vídeo en vivo de la cámara ESP32-CAM en tu navegador.

A continuación, se detallan las configuraciones más comunes que puedes ajustar para la cámara en el ESP32-CAM:

  • Resolución de la cámara: Puedes configurar la resolución de la cámara según tus necesidades. Las opciones suelen incluir QQVGA (160x120), HQVGA (240x176), QVGA (320x240), CIF (400x296), VGA (640x480), SVGA (800x600), XGA (1024x768), SXGA (1280x1024) y UXGA (1600x1200).
  • Calidad de la imagen: Este parámetro controla la compresión JPEG de la imagen. Por lo general, puedes ajustar un valor entre 10 (alta calidad, poca compresión) y 63 (baja calidad, mucha compresión).
  • Saturación: Este valor ajusta la intensidad de los colores en la imagen.
  • Brillo y contraste: Estos valores permiten ajustar la luminosidad de la imagen y la diferencia entre las áreas claras y oscuras de la imagen.
  • Modo de efectos especiales (sepia, blanco y negro, etc.): Ofrece la capacidad de aplicar efectos a la imagen capturada por la cámara.
  • Intensidad del LED: Permite variar la intensidad con la que enciende el LED flash que viene en la placa.

Conclusiones

El ESP32-CAM es una placa versátil y de bajo costo que combina un microcontrolador ESP32 con una cámara, lo que la hace ideal para proyectos de IoT relacionados con la imagen y el video. Su capacidad para conectarse a una red Wi-Fi y servir un feed de video en tiempo real a través de un servidor web la hace sorprendentemente poderosa para su tamaño y costo.

El proceso de configuración y programación del ESP32-CAM puede tener una curva de aprendizaje inicial, especialmente debido a la falta de un puerto USB incorporado para la programación directa. Sin embargo, una vez que estás familiarizado con el proceso, las posibilidades son amplias.

Ideas de Proyectos

Sistema de seguridad casero: Puedes usar uno o más módulos ESP32-CAM para monitorear diferentes áreas de tu casa. Las imágenes o videos pueden transmitirse en tiempo real o capturarse cuando se detecta movimiento.

  • Cámara de mascotas: Configura una ESP32-CAM para que puedas ver a tus mascotas en tiempo real cuando no estés en casa.
  • Timelapse de plantas: Configura una ESP32-CAM para capturar imágenes de una planta a intervalos regulares y haz un video timelapse del crecimiento de la planta.
  • Estación meteorológica con imágenes: Añade sensores de clima a tu ESP32-CAM para capturar imágenes acompañadas de datos meteorológicos.
  • Robot con visión: Incorpora el ESP32-CAM a un robot para permitirle navegar utilizando visión por computadora.


Estas son solo algunas ideas. El ESP32-CAM es una placa poderosa y flexible, y seguro que encontrarás muchas más aplicaciones creativas.

    Productos Relacionados

    Ver artículo

    CámaraEsp32

    Deja un comentario