XIAO ESP32C3 conectando com Home Assistant via ESPHome (todas as portas suportadas)

Este wiki irá guiá-lo passo a passo sobre como conectar o Seeed Studio XIAO ESP32C3 com o ESPHome rodando no Home Assistant e enviar dados de sensores/controlar dispositivos após conectar módulos Grove ao XIAO ESP32C3. Apliquei todos os tipos de portas aqui, incluindo digital, analógica, IIC, SPI e UART. Vamos começar!
O que são ESPHome e Home Assistant?

ESPHome é uma ferramenta que visa tornar o gerenciamento das suas placas ESP o mais simples possível. Ela lê um arquivo de configuração YAML e cria firmware personalizado que instala no seu dispositivo ESP. Dispositivos ou sensores adicionados na configuração do ESPHome aparecerão automaticamente na interface do Home Assistant. O ESPHome pode ajudá-lo a conectar e enviar dados para dispositivos Home Assistant.
Preparação de Hardware
Estou usando o XIAO ESP32C3 como placa de controle, usando o reRouter como hardware aqui, juntamente com múltiplos sensores Grove.
| Seeed Studio XIAO ESP32C3 | Placa de Expansão Seeed Studio | Dispositivos Home Assistant |
|---|---|---|
![]() | ![]() | ![]() |
Sensores Grove
- Grove - Sensor de Temperatura e Umidade (BME680)
- Grove - Sensor Inteligente de Qualidade do Ar (SGP41)
- Grove - Microfone Analógico
- Grove - Sensor PIR Digital
Preparação de Software
Instalar o Home Assistant
Certifique-se de que você já tem o Home Assistant em funcionamento. Existem vários wikis apresentando como instalar o Home Assistant nos produtos aqui. Estou usando o reRouter que é alimentado pelo Raspberry Pi CM4, então posso usar diretamente o oficial para instalar o SO no reRouter.
Instalar ESPHome no Home Assistant
O ESPHome está disponível como um Add-On do Home Assistant e pode ser instalado simplesmente pela loja de complementos.

- Passo 1. Clique em INSTALL

- Passo 2. Ative todas as opções e clique em START

Você verá a seguinte janela se o ESPHome for carregado com sucesso

Primeiros Passos
Assim que todo o software e hardware estiverem prontos, podemos começar.
1. Adicionar o Seeed Studio XIAO ESP32C3 ao ESPHome
- Passo 1. Clique em + NEW DEVICE

- Passo 2. Clique em CONTINUE

- Passo 3. Insira um Nome para o dispositivo e insira as credenciais WiFi como Nome da rede e Senha. Em seguida, clique em NEXT

- Passo 4. Selecione ESP32-C3 e clique

- Passo 5. Clique em SKIP porque iremos configurar esta placa manualmente

- Passo 6. Clique em EDIT abaixo da placa recém-criada

- Passo 7. Isso abrirá um arquivo YAML e este arquivo será usado para definir todas as configurações da placa. Edite o conteúdo em esp32 conforme abaixo
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"
- Passo 8. Clique em SAVE e depois clique em INSTALL

- Passo 9. Conecte uma extremidade de um cabo USB Tipo-C ao Seeed Studio XIAO ESP32C3 e a outra extremidade a uma das portas USB no reRouter CM4 1432

- Passo 10. Clique em Plug into the computer running ESPHome Dashboard

- Passo 11. Selecione a porta conectada. Provavelmente será
/dev/ttyACM1porque/dev/ttyACM0está conectado ao reRouter CM4 1432

É melhor usar Wi-Fi 2.4GHz
Agora ele irá baixar todos os pacotes de placa necessários e gravar o firmware ESPHome no XIAO ESP32C3. Se a gravação for bem-sucedida, você verá a seguinte saída. Se aparecer algum erro, tente reiniciar seu XIAO ESP32C3 ou entre no modo bootloader segurando o BOTÃO BOOT e conecte o XIAO ESP32C3.

- Passo 12. A janela acima exibe os logs em tempo real da placa conectada. Feche-a clicando em STOP

- Passo 13. Se você ver o status da placa como ONLINE, significa que a placa foi conectada com sucesso ao WiFi

- Passo 14. Vá para Settings e selecione Devices & Services

- Passo 15. Você verá o ESPHome como uma integração descoberta. Clique em CONFIGURE

- Passo 16. Clique em SUBMIT

- Passo 17. Insira sua senha. Esta é a senha da API que você pode encontrar no PASSO 8

- Passo 18. Clique em FINISH

2. Conectar Módulos Grove e Enviar os Dados
Agora vamos conectar módulos Grove ao Seeed Studio XIAO ESP32C3 para que possamos exibir dados de sensores ou controlar dispositivos usando o Home Assistant!
Conhecimento de Desenvolvimento
Placa de Expansão XIAO
Para usar módulos Grove com o Seeed Studio XIAO ESP32C3, utilizaremos uma Base de Expansão Seeed Studio para XIAO e conectaremos o XIAO ESP32C3 nela.
Depois disso, os conectores Grove na placa podem ser usados para conectar módulos Grove. Aqui estão as definições de pinos.

Definições de Pinos
Você precisa seguir o gráfico abaixo para usar os números de pinos internos apropriados ao conectar os módulos Grove aos conectores Grove no Grove Shield para Seeed Studio XIAO.

Por exemplo, se você quiser conectar um módulo Grove à porta D0, precisará definir o pino no ESPHome como GPIO2
Lista de Compatibilidade Grove com ESPHome
Atualmente os seguintes módulos Grove são suportados pelo ESPHome. Verifique aqui
3. Conexão Grove e Transmissão de Dados
Agora vamos selecionar alguns módulos Grove e explicar como eles podem ser conectados com ESPHome e Home Assistant.
Grove - Sensor de Temperatura e Umidade (DHT20)
Este sensor de Temperatura e Umidade fornece uma saída digital pré-calibrada. Um elemento sensor capacitivo exclusivo mede a umidade relativa e a temperatura é medida por um termistor de coeficiente de temperatura negativo (NTC). Possui excelente confiabilidade e estabilidade a longo prazo. Clique aqui para adquirir.
Configuração
- Passo 1. Conecte o Grove - DHT20 a um dos conectores I2C na Base de Expansão Seeed Studio para XIAO

- Passo 2. Dentro do arquivo xiao-esp32c3.yaml que criamos anteriormente, altere o arquivo e envie via OTA para o 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
Você pode aprender mais sobre o componente DHT20 aqui. Aqui adicionamos o componente de Barramento I²C porque o DHT20 se comunica usando o protocolo I2C.
Visualizar no Painel
- Passo 1. Na página de Visão Geral do Home Assistant, clique nos 3 pontos e clique em Edit Dashboard

- Passo 2. Clique em + ADD CARD

- Passo 3. Selecione By ENTITY, digite temperature e selecione a caixa de seleção ao lado de Temperature

- Passo 4. Clique em ADD TO DASHBOARD

- Passo 5. Você também pode visualizar os dados do sensor como medidores. Clique em Gauge em BY CARD

Agora seu painel do Home Assistant ficará como abaixo

Grove - Sensor de Luz (LS06-S)
O Grove - Sensor de Luz v1.2 é um módulo analógico e pode emitir vários sinais elétricos que podem ser convertidos para diferentes faixas. Ele integra um fotoresistor LS06-S, um fotodiodo altamente sensível e confiável, para detectar a intensidade da luz no ambiente. É um módulo sensor de luz Arduino perfeito para medição de luz, detecção de luz e um interruptor controlado por luz.
Clique aqui para adquirir.
Configuração
- Passo 1. Conecte o Grove - Sensor de Luz a um dos conectores Analógico/Digital na Base de Expansão Seeed Studio para XIAO

- Passo 2. Dentro do arquivo xiao-esp32c3.yaml que criamos anteriormente, altere o arquivo e envie via OTA para o XIAO ESP32C3

Você verá este resultado se tudo correr bem.

Visualizar no Painel
- Passo 1. Na página de Visão Geral do Home Assistant, clique nos 3 pontos e clique em Edit Dashboard

- Passo 2. Clique em + ADD CARD

- Passo 3. Selecione By ENTITY, selecione o Light Sensor

- Passo 4. Selecione PICK DIFFERENT CARD

- Passo 5. Selecione Gauge

- Passo 6. Defina o mínimo e o máximo

- Passo 7. Em seguida, você verá o valor do sensor de luz no seu painel.

✨ Projeto de Colaboradores
- Este projeto é apoiado pelo Projeto de Colaboradores da Seeed Studio.
- Obrigado pelos esforços do Zachary e seu trabalho será exibido.
Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.


