Una de las aplicaciones más populares de ESPHome es la configuración de cámaras ESP32-CAM, que permiten incorporar video en tiempo real o capturas a tu ecosistema de Home Assistant.


ESPHome es una poderosa plataforma diseñada para facilitar la integración de dispositivos IoT en Home Assistant. Con ESPHome, puedes programar microcontroladores ESP32 y ESP8266 para que se comuniquen directamente con tu sistema domótico, sin necesidad de configuraciones complejas. Gracias a su enfoque intuitivo y personalizable, es posible crear soluciones automatizadas para monitoreo, control de dispositivos y mucho más.

Una de las aplicaciones más populares de ESPHome es la configuración de cámaras ESP32-CAM, que permiten incorporar video en tiempo real o capturas a tu ecosistema de Home Assistant. Este tutorial te guiará paso a paso para configurar tu ESP32-CAM utilizando ESPHome.

Para este proyecto necesitarás dos componentes clave:

  • ESP32-CAM: El módulo principal que incluye la cámara, diseñado para capturar imágenes y transmitirlas.
  • ESP32-CAM-MB: Un adaptador que simplifica la conexión al ESP32-CAM, permitiéndote usar un cable USB tipo C para proporcionar energía y conectividad inicial.

Con estos componentes y ESPHome, podrás integrar una cámara funcional en tu sistema domótico de manera sencilla y eficiente. ¡Manos a la obra!

Instalar ESP32 en Home Assistant

Si aún no tienes instalado ESPHome en tu Home Assistant, te dejo este tutorial que explica como hacerlo:

Instalar ESPHome en Home Assistant
ESPHome es una plataforma que facilita la creación y configuración de firmware para dispositivos basados en ESP8266 y ESP32, utilizados comúnmente en proyectos de domótica

Si ya lo tienes instalado, entonces puedes añadir directamente un dispositivo nuevo y hacer la primera instalación siguiendo este otro tutorial:

Añadir dispositivo en ESPHome en Home Assistant
Cómo añadir un dispositivo en ESPHome y conectarlo a tu instancia de Home Assistant, permitiéndote automatizar y gestionar dispositivos IoT de manera eficiente.

Una vez hemos instalado la tarjeta de ESP32, lo siguiente será configurar los sensores para la cámara. Para esto editaremos la configuración YAML de nuestro dispositivo en ESPHome y añadiremos la siguiente configuración.

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: Camara

# Luz/flash de la cámara
output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4

# Interruptor para Home Assistant (opcional)   
light:
  - platform: binary
    output: gpio_4
    name: Luz camara

Guardamos el fichero e instalamos. Dejamos que se compile toda la información y en cuanto acabe ya tendremos acceso a la cámara desde nuestro Home Assistant.

Configuración extra para incluir la cámara en Frigate

Frigate es un sistema de monitoreo de video de código abierto diseñado específicamente para Home Assistant. Su principal ventaja es que utiliza procesamiento basado en inteligencia artificial para la detección de objetos, lo que permite identificar personas, vehículos, animales y otros elementos en el flujo de video. A diferencia de sistemas tradicionales, Frigate se optimiza para correr eficientemente en hardware local, como una Raspberry Pi con aceleración por hardware o dispositivos con soporte para Coral AI.

Integrar una ESP32-CAM en Frigate amplía las posibilidades de monitoreo de tu sistema domótico de manera económica y funcional.

La configuración que deberemos de utilizar si queremos incluir nuestra ESP32-CAM en Frigate, será la siguiente:

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: Camara
  icon: mdi:camera
  idle_framerate: 1 fps
  max_framerate: 15 fps
  resolution: 800x600
  jpeg_quality: 20
  vertical_flip: true

esp32_camera_web_server:
- port: 8080
  mode: stream

# Luz/flash de la camara
output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4

# Entidad (interruptor) para Home Assistant (opcional)   
light:
  - platform: binary
    output: gpio_4
    name: Luz camara

# Para reiniciar
switch:
  - platform: restart
    name: "ESP32 Camera Restart"

sensor:
  - platform: uptime
    name: "ESP32 Camera Uptime Sensor"

Guardamos e instalamos la nueva configuración. Tras la instalación tendremos los siguientes sensores disponibles:

Con esta configuración habilitamos un stream al puerto 8080 de la IP y si accedemos con el navegador tenemos acceso a imagen:

Finalmente, en la configuración de Frigate, tendremos que incluir lo siguiente para que nos aparezca como una cámara más:

cameras:
  camera_ofice:  
    ffmpeg:  
      input_args: ""          
      inputs:  
        - path: http://[IP_DEL_DISPOSITIVO]:8080 #ESp32 camera location  
          roles:  
            - detect  
            - record  
  
      output_args:  
       record: -f segment -pix_fmt yuv420p -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v libx264 -preset ultrafast -an  
💡
Recuerda cambiar la IP del dispositivo dentro de la configuración.

Guardamos la configuración y reiniciamos Frigate. Y listo, ya tenemos nuestra cámara con ESP32-CAM integrada en Home Assistant y en Frigate.


Más sobre ./voidNull

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación