Ya hemos publicado sobre el módulo WiFi para Arduino en otra ocasión, pero esta vez se trata del módulo ESP32-CAM, un módulo WiFi ESP32 con una pequeña cámara de vídeo incorporada. Esto le permite nuevas funciones, como las de vigilancia o espionaje remoto capturando todo lo que ocurre cuando tú no estás y enviarlo a cualquier dispositivo para su grabación o para poder ver in-situ.
Casi todo lo dicho para el módulo WiFi que ya tratamos, valdría para este, solo que tiene algunas pequeñas peculiaridades además de la cámara integrada. Pero todo lo que necesitas saber lo vamos a mostrar en esta guía…
¿Qué es el ESP32-CAM?
El ESP32-CAM es un módulo que puedes usar con multitud de proyectos, y con Arduino. Es un completo módulo con un microcontrolador integrado, lo que lo puede hacer funcionar de forma independiente. Además de la conectividad WiFi+Bluetooth, este módulo también cuenta con una cámara de vídeo integrada, y con una ranura microSD para almacenar.
Este módulo no es nada caro, y puede tener multitud de aplicaciones. Desde algunas simples de IoT, como otras más avanzadas para el seguimiento y reconocimiento de imagen usando IA, e incluso como sistema de vigilancia para comprobar lo que sucede en un lugar de forma remota estés donde estés…
Comprar uno
El módulo ESP32-CAM no es nada caro, como he dicho, por unos cuantos euros puedes tener uno. Y lo puedes encontrar fácilmente en algunas tiendas especializadas o en Amazon. Por ejemplo, aquí tienes algunas recomendaciones a buen precio:
- Módulo ESP32-CAM
- Dos unidades ESP32-CAM para montar un dispositivo de vigilancia multipunto.
- ESP32-CAM con antena de doble banda de 8 dBi y cable para mayor alcance de la cobertura.
- Si ya tienes un módulo ESP32 y quieres solo la cámara, puedes comprarla por separado.
- Y si lo prefieres más completo para trabajar con USB: No products found.
Como ves, no es nada caro…
Características técnicas del ESP32-CAM (datasheet)
El módulo ESP32-CAM tiene algunas características técnicas muy interesantes que puedes ver en el datasheet del fabricante. Aquí te resumo las más importantes:
- Conectividad: WiFi 802.11b/g/n + Bluetooth 4.2 con BLE. Soporta carga de imagen por WiFi.
- Conexiones: UART, SPI, I2C, y PWM. Tiene 9 pines GPIO.
- Frecuencia de reloj: hasta 160Mhz.
- Potencia de cómputo del microcontrolador: hasta 600 DMIPS.
- Memoria: 520KB de SRAM + 4MB de PSRAM + SD slot para tarjetas
- Extras: tiene múltiples modos de reposo, firmware actualizable por OTA, y LED para uso de memoria flash built-in.
- Cámara: soporta cámaras OV2640 que pueden venir en el pack o comprarse independientemente. Este tipo de cámaras tienen:
- 2 MP en su sensor
- Tamaño de arreglo UXGA de 1622×1200 px
- Formato de salida YUV422, YUV420, RGB565, RGB555 y compresión de datos de 8-bit.
- Puede transferir imagen entre 15 y 60 FPS.
Pinout
El pinout del ESP32-CAM es muy simple, como puedes observar en el diagrama anterior. Y la cámara, va conectada al conector que hay habilitado para ello. Después, con el ejemplo de Arduino, entenderás mejor cómo se conecta y para qué sirve cada uno, aunque ya te puedes ir haciendo una idea.
Puedes usar un adaptador externo FTDI para conectar este módulo y que te sea más sencillo su control. Eso permite el uso de un puerto tipo miniUSB en vez del cableado del ESP32-CAM. Para usar uno de estos módulos, puedes conectarlo así:
- Configura el módulo FTDI para trabajar a 3.3v.
- Puentea el pin GPIO 0 y GND del módulo ESP32-CAM.
- El pin 3v3 del módulo debe ir conectado a Vcc del FTDI.
- El GPIO 3 (UOR) del módulo irá al TX del FTDI.
- GPIO 1 (U0T) del módulo va a RX del FTDI.
- Y el otro GND del ESP32-CAM con GND del módulo FTDI.
Ahora ya dispones de una interfaz tipo USB, lo que puede facilitar la conexión de tu proyecto…
Integración con Arduino IDE
Para poder integrar con FTDI, la conexión es muy sencilla. Tan solo tienes que hacer lo siguiente:
- Conecta la conexión de 5v del módulo ESP32-CAM al Vcc del módulo FTDI.
- Conecta GND del módulo ESP32-CAM a GND del módulo FTDI.
- TX0 de la placa FTDI va a GPIO 3 (U0RXD).
- RXI de la placa FTDI va a GPIO 1 (U0TXD).
- Y puentea GPI0 y GND de la placa ESP32-CAM.
Ahora ya podrás conectarla al equipo mediante un cable USB a través del módulo FTDI. Otra opción es conectarlo a Arduino directamente, sin usar el módulo FTDI. Pero veamos el caso con el FTDI que es mejor para la mayoría de los casos…
Los pasos a seguir para configurar y programar todo para que funcione:
- Para poder cargar código en la placa, tienes que conectar el USB a tu PC.
- El siguiente paso es instalar la biblioteca ESP32 para poder aprovechar ésta. Para eso, desde Arduino IDE ve a Archivo > Preferencias > Allí, en el campo para añadir URL, añade: https://dl.espressif.com/dl/package_esp32_index.json y pulsa Aceptar. Ahora ve a Herramientas > Placa > Gestor de placas > busca ESP32 y pulsa instalar “ESP32 by Espressif Systems».
- Luego abre Arduino IDE > Herramientas > Placas > selecciona AI-Thinker ESP32-CAM (deberás tener instalado el addon ESP32 para que aparezca dicha opción en el menú). Después ve a Herramientas > Puerto y selecciona COM, donde está conectada tu placa.
- Ahora, puedes cargar un sketch en la placa, para que sea más simple, usa uno de los ejemplos vea Archivo > Ejemplo > ESP32 > Camera > CameraWebServer. Una vez hecho, cuando aparezca el mensaje de que se cargó con éxito, quita el cable del pin GPIO 0 de GND y presiona el botón Reset de la placa.
- Por último, puedes usar y comenzar a ver los resultados en la interfaz web… Cuando lo ejecutes, te dará en el monitor una URL con una IP que debes insertar en tu navegador web para acceder. Desde ella se pueden ajustar parámetros y ver lo que se ve desde el sensor de la cámara.
Evidentemente, puedes hacer mucho más aprovechando las capacidades WiFi y Bluetooth de este módulo. Recuerda que el límite es tu imaginación. Aquí simplemente te muestro una introducción sencilla…
Más información – Curso Arduino gratis
Buenas tardes.
Está todo perfectamente explicado, y el programa carga perfectamente, pero cuando reseteo la ESP32 para que detecte en wifi en monitor serie me sale siempre el mismo error de la cámara:
E (873) camera: Camera probe failed with error 0x105(ESP_ERR_NOT_FOUND)
Camera init failed with error 0x105
¿Qué puede ocurrir?.
Gracias de antemano.
Hola,
Es muy probable que sea por el conector del módulo de la cámara o por una alimentación inadecuada.
Intenta verificar esas dos cosas.
Un saludo.
BUENOS DIAS TENGO UNA ESP32 CAM Y CUANDO LA SUBO EL CODIGO EL MODULO NO ENCUENTRA NI LA URL NI LA IP
LA ESTOY PROGRAMANDO CON EL ESP CAM MB
¿ME PUEDEN ALLUDAR SOY NUEVO EN ESTO ?
MUCHAS GRACIAS.