Conectar módulos Grove a Home Assistant usando ESPHome

Introducción
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. ¡Así que comencemos!
¿Qué es ESPHome?
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.

Instalar Home Assistant
Asegúrate de que ya tienes Home Assistant funcionando. Puedes seguir este wiki para una guía paso a paso sobre la instalación de Home Assistant en un SBC ODYSSEY-X86.
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. Para configurar rápidamente ESPHome en Home Assistant, haz clic en el botón de abajo
- Paso 2. Una vez que veas la siguiente ventana emergente, haz clic en ABRIR ENLACE

- Paso 3. Haz clic en INSTALAR

- Paso 4. Habilita todas las opciones y haz clic en INICIAR

- Paso 5. Haz clic en ABRIR INTERFAZ WEB o ESPHOME desde el panel lateral

Verás la siguiente ventana si ESPHome se carga exitosamente

Añadir Seeed Studio XIAO ESP32C3 a ESPHome
- Paso 1. Haz clic en + NUEVO DISPOSITIVO

- Paso 2. Haz clic en CONTINUAR

- Paso 3. Ingresa un Nombre para el dispositivo e ingresa las credenciales WiFi como Nombre de red y Contraseña. Luego haz clic en SIGUIENTE

- Paso 4. Selecciona ESP32-C3 y haz clic

- Paso 5. Haz clic en OMITIR porque configuraremos esta placa manualmente

- Paso 6. Haz clic en EDITAR 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
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
version: 2.0.5
platform_version: 5.2.0
Nota: Aquí estamos usando la última versión de Arduino core 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 Type-C al Seeed Studio XIAO ESP32C3 y el otro extremo a uno de los puertos USB del ODYSSEY-X86

- 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 coprocesador ATSAMD21 integrado en el ODYSSEY-X86

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

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

- Paso 12. Si ves el estado de la placa como ONLINE, eso significa que la placa se conectó exitosamente al WiFi

Ahora puedes desconectar el XIAO ESP32C3 de la placa X86 y simplemente alimentarlo a través de un cable USB. Esto es porque de ahora en adelante, si quieres flashear firmware al XIAO ESP32C3, simplemente puedes hacerlo OTA sin conectar a la placa X86 a través de un cable USB.
- Paso 13. Haz clic en los tres puntos y haz clic en Install

- Paso 14. Haz clic en los tres puntos y haz clic en Install

- Paso 15. Selecciona Wirelessly y enviará los cambios a la placa de forma inalámbrica

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

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

- Paso 18. Haz clic en SUBMIT

Aquí te pedirá la clave de cifrado que tienes en tu configuración para xiao-esp32c3

- Paso 19. Regresa a xiao-esp32c3.yaml, copia la clave de cifrado, pégala dentro del cuadro de diálogo anterior y haz clic en SUBMIT

- Paso 20. Haz clic en FINISH

Módulos Grove con ESPHome y Home Assistant
¡Ahora conectaremos módulos Grove al Seeed Studio XIAO ESP32C3 para poder mostrar datos de sensores o controlar dispositivos usando Home Assistant!
Conectar Módulos Grove al XIAO ESP32C3
Para usar módulos Grove con el Seeed Studio XIAO ESP32C3, utilizaremos un Grove Shield para Seeed Studio XIAO y conectaremos el XIAO ESP32C3 en él.

Después de eso, los conectores Grove en la placa se pueden usar para conectar módulos Grove
Definiciones de Pines
Necesitas seguir la tabla a continuación para usar los números de pin internos apropiados al conectar los módulos Grove a los conectores Grove en el Grove Shield para Seeed Studio XIAO.
Número de Pin Interno | Mapeo de Pin |
---|---|
2 | D0 |
3 | D1 |
4 | D2 |
5 | D3 |
6 | D4 |
7 | D5 |
21 | D6 |
20 | D7 |
8 | D8 |
9 | D9 |
10 | D10 |
6 | SDA |
7 | SCL |
Por ejemplo, si quieres conectar un módulo Grove al puerto D0, necesitas definir el pin en ESPHome como 2

Lista de Compatibilidad de Grove con ESPHome
Actualmente los siguientes módulos Grove son compatibles con ESPHome
Ahora seleccionaremos 6 módulos Grove de la tabla anterior y explicaremos cómo se pueden conectar con ESPHome y Home Assistant.
Grove - Sensor de Temperatura y Humedad (AHT20)
Configuración de Instalación
- Paso 1. Conecta el Grove - Sensor de Temperatura y Humedad (AHT20) a uno de los conectores I2C en el Grove Shield para Seeed Studio XIAO

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y envíalo por OTA al XIAO ESP32C3
i2c:
sda: 6
scl: 7
sensor:
- platform: aht10
variant: AHT20
temperature:
name: "Temperature"
humidity:
name: "Humidity"
Puedes aprender más sobre el componente AHT10 aquí. Te permite usar sensores basados en AHT10, AHT20 y AHT21. Aquí agregamos el componente Bus I²C porque el AHT20 se comunica usando el protocolo I2C.
Visualizar en el Panel de Control
- Paso 1. En la página Resumen de Home Assistant, haz clic en los 3 puntos y haz clic en Editar Panel de Control

- Paso 2. Haz clic en + AGREGAR TARJETA

- Paso 3. Selecciona Por ENTIDAD, escribe temperature y selecciona la casilla de verificación junto a Temperature

- Paso 4. Repite lo mismo para Humidity

- Paso 5. Haz clic en CONTINUAR

- Paso 6. Haz clic en AGREGAR AL PANEL DE CONTROL

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

- Paso 7. También puedes visualizar los datos del sensor como medidores. Haz clic en Gauge bajo POR TARJETA

- Paso 8. Selecciona Temperature del menú desplegable

- Paso 9. Haz clic en GUARDAR

- Paso 10. Repite lo mismo para Humidity

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

Para el Grove - Sensor de Gas VOC y eCO2 (SGP30) y Grove - Sensor de CO2, Temperatura y Humedad (SCD41) en este wiki, puedes seguir un procedimiento similar para visualizar los datos del sensor en el panel de control
Grove - Sensor de Gas VOC y eCO2 (SGP30)
Configurar la configuración
- Paso 1. Conecta el Grove - Sensor de Gas VOC y eCO2 (SGP30) a uno de los conectores I2C en el Grove Shield para Seeed Studio XIAO

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, agrega lo siguiente al final del archivo y envíalo OTA al XIAO ESP32C3
i2c:
sda: 6
scl: 7
sensor:
- platform: sgp30
eco2:
name: "eCO2"
accuracy_decimals: 1
tvoc:
name: "TVOC"
accuracy_decimals: 1
Puedes aprender más sobre el componente SGP30 aquí.
Grove - Sensor de CO2, Temperatura y Humedad (SCD41)
Configuración de instalación
- Paso 1. Conecta el Grove - Sensor de CO2, Temperatura y Humedad (SCD41) a uno de los conectores I2C en el Grove Shield para Seeed Studio XIAO

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos anteriormente, añade lo siguiente al final del archivo y envíalo por OTA al XIAO ESP32C3
i2c:
sda: 6
scl: 7
sensor:
- platform: scd4x
co2:
name: "CO2"
temperature:
name: "Temperature"
humidity:
name: "Humidity"
Puedes aprender más sobre el componente SGP4x aquí
Grove - Relay
Configuración de instalación
- Paso 1. Conecta Grove - Relay a uno de los puertos Digital en el Grove Shield para Seeed Studio XIAO. Aquí seleccionamos el puerto D0

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, añade lo siguiente al final del archivo y envíalo OTA al XIAO ESP32C3
switch:
- platform: gpio
pin: 2
name: "Relay"
Puedes aprender más sobre el componente Relay aquí
Visualizar en el Panel de Control
- Paso 1. Bajo + ADD CARD que mencionamos antes, selecciona BY ENTITY, escribe relay, selecciónalo y haz clic en CONTINUE

- Paso 2. Haz clic en ADD TO DASHBOARD

Ahora puedes encender/apagar el relé ON/OFF usando el interruptor de palanca

Grove - mini sensor de movimiento PIR
Configurar la configuración
- Paso 1. Conecta el Grove - mini sensor de movimiento PIR a uno de los puertos Digital en el Grove Shield para Seeed Studio XIAO. Aquí seleccionamos el puerto D0

- Paso 2. Dentro del archivo xiao-esp32c3.yaml que creamos antes, añade lo siguiente al final del archivo y envíalo OTA al XIAO ESP32C3
binary_sensor:
- platform: gpio
pin: 2
name: "PIR Sensor"
device_class: motion
Puedes aprender más sobre el componente PIR aquí
Visualizar en el Panel de Control
- Paso 1. Bajo + ADD CARD que mencionamos antes, selecciona BY ENTITY, escribe pir, selecciónalo y haz clic en CONTINUE

- Paso 2. Haz clic en ADD TO DASHBOARD

Ahora si se detecta movimiento, se mostrará como Detected

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.