Estos días estuve probando esta versión de ESP32 con cámara, si bien esta hace ya algún tiempo, recién logro tener uno para hacer algunas pruebas, y puedo decir que quede impresionado.
No solo que es muy compacto, sino que la resolución y la forma de instalarse es muy sencilla. A continuación los primeros pasos para trabajar con este módulo.
Entorno de desarrollo
Al igual que con el ESP8266 es necesario incluir una serie de librerías y herramientas para utilizar el ESP32-CAM junto con el Arduino IDE, para ello debemos agregar dentro de Archivos – Preferencias la siguiente URL: https://dl.espressif.com/dl/package_esp32_index.json
Confirmamos, y luego desde el menú Herramientas – Gestor de tarjetas, buscamos ESP32 y lo instalamos. En mi caso tenia instalado una versión anterior, tuve que eliminar y volver a instalar la nueva.
Libreria ESP32CAM
Utilizaremos esta librería para acceder fácilmente a la cámara del modulo; la descargamos desde Github en el siguiente link:
https://github.com/yoursunny/esp32cam
Luego la instalamos desde Programas – Incluir librerías – Añadir biblioteca ZIP.
Concluidos estos pasos, podemos pasar a ver como lo conectamos
Conexiones
Para cargar el programa en el ESP32-CAM, debido a que no cuenta con un puerto USB, sera necesario utilizar un conversor USB-Serial, se utiliza el siguiente esquema:
Conversor USB-Serial | ESP32-CAM |
RX | TX |
TX | RX |
VCC | 5V (no conectarlo a 3v3) |
GND | GND |
Además debemos conectar, solo para programarlo, en el modulo ESP32-CAM el GND al GPIO0.
Programa de ejemplo
Utilizaremos uno de los ejemplos provistos por la librería, para convertir el ESP32-CAM en una cámara IP, puede encontrarlo en Archivos – Ejemplos – esp32cam – WifiCam.
En el ejemplo solo debemos editar las lineas indicando el nombre de nuestra red inalámbrica y la contraseña de la misma.
const char* WIFI_SSID = "my-ssid";
const char* WIFI_PASS = "my-pass";
Antes de cargar el programa al ESP32-CAM debemos presionar el botón de Reset del mismo, cargar el código al mismo, desconectar el cable que puentea GND con GPIO0 y volver a reiniciar para que cargue el código.
Si abrimos el Monitor Serie veremos que nos indica una URL, a la cual podemos conectarnos desde el navegador.
Tomar imágenes desde Python
La gran ventaja de utilizar esta librería es que es muy sencillo integrarla con nuestras aplicaciones en Python; pueden encontrar el programa en el siguiente repositorio de github:
https://github.com/gsampallo/esp32cam-python
Solo debemos tener en cuenta de reemplazar la IP de la URL por la correcta en el programa y luego ejecutarlo; cada vez que se ejecute toma una foto.