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:

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

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 camaraGuardamos 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
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
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.


Comentarios