Skip to main content

XIAO ESP32C3 conectándose con Home Assistant a través de ESPHome (todos los puertos soportados)

Este wiki te guiará paso a paso sobre cómo conectar Seeed Studio XIAO ESP32C3 con ESPHome ejecutándose en Home Assistant y enviar los datos del sensor/controlar dispositivos después de conectar módulos Grove al XIAO ESP32C3. Aquí apliqué todo tipo de puertos, incluyendo digital, analógico, IIC, SPI y UART. ¡Ahora comencemos!

¿Qué son ESPHome y Home Assistant?

ESPHome es una herramienta que tiene como objetivo hacer que la gestión de tus placas ESP sea lo más simple posible. Lee un archivo de configuración YAML y crea 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 puede ayudarte a conectar y enviar los datos a dispositivos de Home Assistant.

Preparación del Hardware

Estoy usando XIAO ESP32C3 como placa de control, usando reRouter como hardware aquí, junto con múltiples sensores Grove.

Seeed Studio XIAO ESP32C3Seeed Studio Expansion BoardDispositivos de Home Assistant

Sensores Grove

Preparación del Software

Instalar Home Assistant

Asegúrate de que ya tienes Home Assistant funcionando. Hay múltiples wikis que introducen cómo flashear Home Assistant en los productos aquí. Estoy usando reRouter que está alimentado por Raspberry Pi CM4, así que puedo usar directamente el oficial para flashear el OS en el reRouter.

Instalar ESPHome en Home Assistant

ESPHome está disponible como un Complemento de Home Assistant y se puede instalar simplemente a través de la tienda de complementos.

  • Paso 1. Haz clic en INSTALL
  • Paso 2. Habilita todas las opciones y haz clic en START

Verás la siguiente ventana si ESPHome se carga exitosamente

Comenzando

Una vez que todo el software y el hardware estén listos, ahora podemos comenzar.

1. Agregar Seeed Studio XIAO ESP32C3 a ESPHome

  • Paso 1. Haz clic en + NEW DEVICE
  • Paso 2. Haz clic en CONTINUE
  • Paso 3. Ingresa un Nombre para el dispositivo e ingresa las credenciales WiFi como Nombre de red y Contraseña. Luego haz clic en NEXT
  • Paso 4. Selecciona ESP32-C3 y haz clic
  • Paso 5. Haz clic en SKIP porque configuraremos esta placa manualmente
  • Paso 6. Haz clic en EDIT bajo la placa recién creada
  • Paso 7. Esto abrirá un archivo YAML y este archivo se usará para establecer todas las configuraciones de la placa. Edita el contenido bajo esp32 como sigue
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

# Enable Home Assistant API
api:
password: "Your password"

ota:
password: "Your password"

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: "Your Password"
Aquí estamos usando la versión más reciente del núcleo de Arduino para ESP32 y soporte ESP32 para PlatformIO
  • Paso 8. Haz clic en SAVE y luego haz clic en INSTALL
  • Paso 9. Conecta un extremo de un cable USB Tipo-C al Seeed Studio XIAO ESP32C3 y el otro extremo a uno de los puertos USB del reRouter CM4 1432
  • Paso 10. Haz clic 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
tip

Es mejor usar Wi-Fi de 2.4GHz

Ahora descargará todos los paquetes de placa necesarios 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 entrar al modo bootloader manteniendo presionado el BOTÓN BOOT y conectar 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 se conectó 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 CONFIGURE
  • Paso 16. Haz clic en SUBMIT
  • Paso 17. Ingresa tu contraseña. Esta es la contraseña de la api que puedes encontrar en el PASO 8
  • Paso 18. Haz clic en FINISH

2. Conectar Módulos Grove y Enviar los Datos

Ahora conectaremos módulos Grove al Seeed Studio XIAO ESP32C3 para que podamos mostrar datos de sensores o controlar los dispositivos usando Home Assistant!

Conocimiento de Desarrollo

Placa de Expansión XIAO

Para usar módulos Grove con el Seeed Studio XIAO ESP32C3, usaremos una Base de Expansión Seeed Studio para XIAO y conectaremos el XIAO ESP32C3 en ella.

Después de eso, los conectores Grove en la placa se pueden usar para conectar módulos Grove. Aquí están las definiciones de pines.

Definiciones de Pines

Necesitas seguir el gráfico a continuación para usar los números de pin internos apropiados al conectar los módulos Grove a los conectores Grove en el Shield Grove para Seeed Studio XIAO.

Por ejemplo, si quieres conectar un módulo Grove al puerto D0, necesitas definir el pin en ESPHome como GPIO2

Lista de Compatibilidad 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 excelente confiabilidad y estabilidad a largo plazo. Haz clic aquí para la compra.

Configuración de Instalación
  • Paso 1. Conecta el Grove - DHT20 a uno de los conectores I2C en la Base de Expansión Seeed Studio para XIAO
  • Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, cambia el archivo y envíalo 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í. Aquí añadimos el componente I²C Bus porque el DHT20 se comunica usando el protocolo I2C.

Visualizar en el Panel de Control
  • Paso 1. En la página de Resumen de Home Assistant, haz clic en los 3 puntos y haz clic en Edit Dashboard
  • Paso 2. Haz clic en + ADD CARD
  • Paso 3. Selecciona By ENTITY, escribe temperature y selecciona la casilla de verificación junto a Temperature
  • Paso 4. Haz clic en ADD TO DASHBOARD
  • Paso 5. También puedes visualizar los datos del sensor como medidores. Haz clic en Gauge bajo BY CARD

Ahora tu panel de control de Home Assistant se verá como se muestra a continuación

Grove - Sensor de Luz(LS06-S)

El Grove - Light Sensor v1.2 es un módulo analógico y puede generar varias señales eléctricas que pueden convertirse a diferentes rangos. Integra un fotorresistor LS06-S, un fotodiodo altamente sensible y confiable, para detectar la intensidad de luz en el ambiente. Es un módulo sensor de luz perfecto para Arduino para medición de luz, detección de luz y un interruptor controlado por luz.

Haz clic aquí para la compra.

Configuración de Instalación
  • Paso 1. Conecta el Grove - Light sensor a uno de los conectores Analógicos/Digitales en la Seeed Studio Expansion Base para XIAO
  • Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, cambia el archivo y envíalo 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 Resumen de Home Assistant, haz clic en los 3 puntos y haz clic en Edit Dashboard
  • Paso 2. Haz clic en + ADD CARD
  • Paso 3. Selecciona By ENTITY, selecciona el Light Sensor
  • Paso 4. Selecciona PICK DIFFERENT CARD
  • Paso 5. Selecciona Gauge
  • Paso 6. Establece el mínimo y máximo
  • Paso 7. Entonces verás el valor del sensor de luz en tu panel de control.

✨ Proyecto de Colaborador

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...