Como ya os adelanté hace poco con las pruebas del ESP32Cam, así como en el vídeo de la instalación del ESPHome, quedaba pendiente la integración de la cámara usando ESPHome en este ESP32 que tanto me está gustando y, como lo prometido es deuda, aquí lo tenéis.
Antes de nada, necesitaréis trabajar con el entorno ESPHome, por lo que os recomiendo seguir el vídeo de la instalación y ejemplo de ESPHome con un ESP32, y, una vez dicho esto, podemos comenzar con el tutorial, que, gracias a la facilidad del firmware, será breve.
Compra del ESP32Cam
Si queréis seguir el tutorial, así como otros posibles que pueden venir en el futuro, ya que, voy a darle uso a este microcontrolador para los tutoriales DIY, podéis comprarlo aquí. Y si queréis ir adelantado uno sin cámara para otro tipo de tutoriales, podéis comprarlo aquí.
Configuración del ESP32 en ESPHome
Esta parte es la más delicada, ya que, existen varias versiones del ESP32Cam, por lo que existen diferentes combinaciones de cámara, pero, si no hay cambios, con el modelo que os pongo para comprar, debería funcionaros sin problemas.
Lo primero que deberíamos es crear un nuevo nodo (seguid el vídeo que os indico para hacerlo) y, una vez hecho esto, la configuración debería quedar algo así:
substitutions: hostname: 'porterillo' ssid: 'WIFI' password: 'clave' esphome: name: $hostname platform: ESP32 board: esp32dev wifi: ssid: $ssid password: $password fast_connect: True api: reboot_timeout: 0s ota: logger: # ESP32-CAM esp32_camera: external_clock: pin: GPIO0 frequency: 20MHz i2c_pins: sda: GPIO26 scl: GPIO27 data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25 href_pin: GPIO23 pixel_clock_pin: GPIO22 power_down_pin: GPIO32 name: porterillo # Luz output: - platform: gpio pin: GPIO4 id: gpio_4 light: - platform: binary output: gpio_4 name: $hostname light
La primera vez que compiláis, será necesario, o bien descargar o bien tener el ESP32 conectado a la misma máquina de donde ejecutáis el ESPHome, las posteriores, deberíais poder hacerlo por OTA.
NOTA: Si os da problemas el OTA, hay 2 posibles soluciones, o usar IP fija en la configuración del ESP32Cam en lugar de hacer uso del DHCP o bien, en el router reservar la IP que le haya tocado al ESP32Cam usando el nombre de host que tenga, por ejemplo, si es “camara” el nombre del dispositivo, el host será “camara.local”.
Una vez que lo tenemos, en Home Assistant es muy probable que nos aparezca información sobre un nuevo dispositivo detectado en la LAN, una vez que pinchamos en él, veremos que podemos integrarlo y, tras unos segundos, nos aparecerá el elemento cámara así como un interruptor para el LED.
Como veis, la integración es muy sencilla, sin tener que tocar una sola linea de código en Home Assistant, algo que además, ocurriría si usarais diferentes sensores con el ESP32 ya que nos lo permite ESPHome para así aprovechar al máximo el microcontrolador.
ACTUALIZACIÓN:
Aporte de Fran SD para poder recibir una captura de pantalla desde la cámara (la IP corresponde a vuestra IP):
camara_garaje_captura: alias: 'Garaje: Captura camara' sequence: - data: data: photo: caption: Movimiento Garaje url: http://IP_ESP32_CAM/capture?_cb.png message: Movimiento Garaje title: Movimiento Garaje service: notify.telegram
¡Muchas gracias!
Se pueden grabar y guardar los videos o las fotos en la tarjeta SD o enviarlo a algún NAS, con esphome???