XIAO ESP32C3 conectado con Home Assistant a través de ESPHome (todos los puertos compatibles)

Este wiki te guiará paso a paso sobre cómo conectar la XIAO ESP32C3 de Seeed Studio con ESPHome ejecutándose en Home Assistant y cómo enviar datos de sensores o controlar dispositivos después de conectar módulos Grove al XIAO ESP32C3. He aplicado todo tipo de puertos aquí, incluyendo digital, analógico, IIC, SPI y UART. ¡Ahora comencemos!
¿Qué son ESPHome y Home Assistant?

ESPHome es una herramienta que tiene como objetivo facilitar al máximo la gestión de tus placas ESP. Lee un archivo de configuración en YAML y crea un firmware personalizado que instala en tu dispositivo ESP. Los dispositivos o sensores añadidos en la configuración de ESPHome aparecerán automáticamente en la interfaz de usuario de Home Assistant. ESPHome te permite conectar y enviar datos a los dispositivos de Home Assistant.
Preparación del Hardware
Estoy utilizando XIAO ESP32C3 como la placa de control, junto con reRouter como el hardware, además de varios sensores Grove.
Seeed Studio XIAO ESP32C3 | Seeed Studio Placa de Expansion | Dispositivos Home Assistant |
---|---|---|
![]() | ![]() | ![]() |
Sensores Grove
- Grove - Sensor de temperatura y humedad (BME680)
- Grove -Sensor inteligente de calidad del aire (SGP41)
- Grove - Micrófono Analógico
- Grove - Sensor PIR Digital
Preparación del Software
Instalar Home Assistant
Asegúrate de que ya tienes Home Assistant instalado y en funcionamiento. Existen múltiples wikis que explican cómo flashear Home Assistant en los productos. En mi caso, estoy utilizando reRouter, que funciona con Raspberry Pi CM4, por lo que puedo usar directamente la herramienta oficial para flashear el sistema operativo en el reRouter.
Instalar ESPHome en Home Assistant
ESPHome está disponible como un complemento de Home Assistant y se puede instalar fácilmente desde la tienda de complementos.

- Paso 1. Haz click en INSTALL

- Paso 2. Activa todas las opciones y haz click en START

Verás la siguiente ventana si ESPHome carga correctamente

Primeros Pasos
Una vez que todo el hardware y el software estén listos, podemos comenzar.
1. Agregar XIAO ESP32C3 a ESPHome
- Paso 1. Haz click en + NEW DEVICE

- Paso 2. Haz click en CONTINUE

- Paso 3. Ingresa un Nombre para el dispositivo y proporciona las credenciales de WiFi, como el Nombre de la red y la Contraseña. Luego, haz clic en NEXT.

- Paso 4. Selecciona ESP32-C3 y haz click

- Paso 5. Haz click en SKIP porque vamos a configurar la tarjeta manualmente.

- Paso 6. Haz click EDIT debajo de la placa creada recientemente

- Paso 7. Esto abrirá un archivo YAML, este archivo será usado para hacer todas las configraciones de la placa. Edita el contenido del archivo con lo siguiente:
esphome:
name: xiao-esp32c3
platformio_options:
board_build.flash_mode: dio
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
platform_version: 5.4.0
# Habilitar registro
logger:
hardware_uart: UART0
# Habilitar API de Home Assistant
api:
password: "Tu contraseña"
ota:
password: "Tu contraseña"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Habilitar punto de acceso de respaldo (portal cautivo) en caso de que falle la conexión wifi
ap:
ssid: "Xiao-Esp32C3 Fallback Hotspot"
password: "Tu Contraseña"
- Paso 8. Haz click en SAVE y luego click en INSTALL

- Paso 9. Conecta un extremo de un cable USB Tipo-C al XIAO ESP32C3 y el otro extremo a uno de los puertos USB del reRouter CM4 1432.

- Paso 10. Haz click en Plug into the computer running ESPHome Dashboard

- Paso 11. Selecciona el puerto conectado. Es probable que sea
/dev/ttyACM1
porque/dev/ttyACM0
está conectado al reRouter CM4 1432.

Es preferible usar Wi-Fi de 2.4GHz
Ahora descargará todos los paquetes necesarios para la placa y flasheará el firmware de ESPHome en el XIAO ESP32C3. Si el flasheo es exitoso, verás la siguiente salida. Si ves algún error, intenta reiniciar tu XIAO ESP32C3 o entra en el modo de arranque manteniendo presionado el BOTÓN BOOT y conecta el XIAO ESP32C3.

- Paso 12. La ventana anterior muestra los registros en tiempo real de la placa conectada. Ciérrala haciendo clic en STOP.

- Paso 13. Si ves el estado de la placa como ONLINE, eso significa que la placa está conectada exitosamente al WiFi.

- Paso 14. Ve a Settings y selecciona Devices & Services

- Paso 15. Verás ESPHome como una integración descubierta. Haz clic en CONFIGURAR.

- Paso 16. Haz click en SUBMIT

- Paso 17. Ingresa tu contraseña. Esta es la contraseña de la API que puedes encontrar en Paso 8.

- Paso 18. Haz click en FINISH

2. Conectar los Módulos Grove y Enviar los Datos
Ahora conectaremos los módulos Grove a la XIAO ESP32C3 para poder mostrar los datos de los sensores o controlar los dispositivos usando Home Assistant.
Conocimiento para el Desarrollo
Placa de Expansión para XIAO
Para utilizar los módulos Grove con la XIAO ESP32C3, utilizaremos una Placa de Expansión de Seeed Studio para XIAO y conectaremos la XIAO ESP32C3 en ella.
Después de eso, los conectores Grove en la placa podrán usarse para conectar los módulos Grove. Aquí están las definiciones de los pines.

Definiciones de Pines
Debes seguir la gráfica a continuación para utilizar los números de pines internos apropiados al conectar los módulos Grove a los conectores Grove en la Placa de Expansión Grove para XIAO.

Por ejemplo, si deseas conectar un módulo Grove al puerto D0, debes definir el pin en ESPHome como GPIO2.
Lista de Compatibilidad de Grove con ESPHome
Actualmente, los siguientes módulos Grove son compatibles con ESPHome. Consulta aquí.
3. Conexión Grove y Transmisión de Datos
Ahora seleccionaremos varios módulos Grove y explicaremos cómo pueden conectarse con ESPHome y Home Assistant.
Grove - Sensor de Temperatura y Humedad (DHT20)
Este sensor de Temperatura y Humedad proporciona una salida digital precalibrada. Un elemento sensor capacitivo único mide la humedad relativa y la temperatura se mide mediante un termistor de coeficiente de temperatura negativo (NTC). Tiene una excelente fiabilidad y estabilidad a largo plazo. Haz clic aquí para realizar la compra.
Setup Configuration
- Paso 1. Conecta el Grove - DHT20 a uno de los conectores I2C en la Placa de Expansión Seeed Studio para XIAO

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, realiza los cambios en el archivo y envíalo por OTA al XIAO ESP32C3.
esphome:
name: xiao-esp32c3
platformio_options:
board_build.flash_mode: dio
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
platform_version: 5.4.0
# Enable logging
logger:
hardware_uart: UART0
api:
password: "F4MQG/rBhNmqP8Nud+AJ+5CYu7LuIhIFTOcRwOm5Nw4="
ota:
password: "999afa1f8a07e85959a9f89f8f6aebb2"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Xiao-Esp32C3 Fallback Hotspot"
password: "YtpCwOqLoYlp"
captive_portal:
# 0x28 is the I2C address of DHT20
i2c:
sda: GPIO6
scl: GPIO7
scan: True
id: bus_0x38
sensor:
- platform: aht10
temperature:
name: "Living Room Temperature"
humidity:
name: "Living Room Humidity"
update_interval: 60s
Puedes aprender más sobre el componente DHT20 aquí. En este caso, añadimos el componente I²C Bus porque el DHT20 se comunica utilizando el protocolo I2C.
Visualizar en el Panel de Control
- Paso 1. En la página de Visión General de Home Assistant, haz clic en los 3 puntos y luego en Editar Panel.

- Paso 2. }Haz click en + ADD CARD

- Paso 3. Selecciona By ENTITY, escribe temperature y marca la casilla junto a Temperature

Paso 4. Haz click en ADD TO DASHBOARD
Paso 5. También puedes visualizar los datos del sensor como indicadores (gauges). Haz click en Gauge en BY CARD

Ahora, tu panel de Home Assistant se verá como el siguiente.

Grove - Sensor de Luz (LS06-S)
El Grove - Sensor de Luz v1.2 es un módulo analógico y puede generar diversas señales eléctricas que se pueden convertir a diferentes rangos. Integra un fotorresistor LS06-S, un fotodiodo altamente sensible y confiable, para detectar la intensidad de la luz en el entorno. Es un módulo ideal para Arduino en medición de luz, detección de luz y un interruptor controlado por luz.
Haz click aquí para comprarlo.
Configuración de la Configuración
- Paso 1. Conecta el Sensor de Luz Grove a uno de los conectores Analógicos/Digitales en la Placa de Expansión para XIAO.

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, realiza los cambios en el archivo y envíalo por OTA al XIAO ESP32C3.

Verás este resultado si todo va bien.

Visualizar en el Panel de Control
- Paso 1. En la página de Visión General de Home Assistant, haz clic en los 3 puntos y luego en Edit Dashboard.

- Paso 2. Haz click en + ADD CARD

- Paso 3. Selecciona By ENTITY, ahí selecciona Light Sensor

- PAso 4. Selecciona PICK DIFFERENT CARD

- Paso 5. Selecciona Gauge

- Paso 6. Establece mínimo y máximo

- Paso 7. Luego verás el valor del sensor de luz en tu panel de control.

✨ Proyecto de Contribuidor
- Este proyecto es apoyado por el proyecto de Contribuidores de Seeed Studio.
- Gracias por tus esfuerzos Zachary, tu trabajo será exhibido aquí.
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para proporcionarte soporte diverso y asegurarnos de que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.