Construindo um centro de controle de casa inteligente em torno do Home Assistant
Neste artigo, detalharemos como configurar o Home Assistant no novo produto LinkStar H68K da Seeed Studio e implantar o ambiente ESPHome. ESPHome é um serviço muito comum no Home Assistant. Devido às limitações do sistema de roteamento por software, usaremos ESPHome como exemplo para guiá-lo através de um método inteligente de instalação desse serviço.
Primeiros Passos
Se você quiser seguir este tutorial até o fim, precisará preparar o seguinte.
| LinkStar H68K com Wi-Fi 6 | reRouter CM4 1432 (Opcional) | XIAO ESP32C3 |
|---|---|---|
![]() | ![]() | ![]() |
| Adquira Agora | Adquira Agora | Adquira Agora |
*O reRouter CM4 1432 também é compatível com este tutorial. Você pode adquirir o LinkStar ou o reRouter.
O objetivo deste projeto é instalar Home Assitant e ESPHome usando o serviço Docker do LinkStar e, em seguida, configurar um hotspot LinkStar para conectar-se ao LinkStar usando os recursos de WiFi do XIAO ESP32C3 para completar a rede.
Então, combinado com o vasto ecossistema Grove, você pode criar ainda mais possibilidades no Home Assistant.
O conteúdo deste tutorial passará amplamente pelas etapas a seguir.
- Configurar o ambiente Docker no LinkStar OpenWRT
- Instalação e configuração do Home Assistant, ESPHome
- Adicionar Seeed Studio XIAO ESP32C3 ao ESPHome
- Módulos Grove com ESPHome e Home Assistant
Configurar o ambiente Docker no LinkStar OpenWRT
Passo 1. Instalar OpenWRT para o LinkStar
Detalhamos como instalar vários sistemas para o LinkStar na Wiki do LinkStar. Neste tutorial, tomaremos o sistema OpenWRT como exemplo e explicaremos como instalar o Home Assistant Container garantindo que o LinkStar atue como um roteador por software.
Selecione acima o local do sistema onde você gostaria de instalar o OpenWRT para o LinkStar.
Passo 2. Configurar a rede do LinkStar
Conecte-se ao LinkStar por meio de um cabo de rede e digite o endereço IP: 192.168.100.1 no seu navegador para acessar o backend de operação do OpenWRT.
A conta e senha iniciais são:
Account: root
Password: password
Em seguida, precisamos conectar o LinkStar à Internet.
Você precisa comprar um LinkStar com rede sem fio, assim você pode escolher conectar um cabo de rede ao LinkStar ou conectá-lo ao WiFi.
- Se for uma rede cabeada, configure sua rede de acordo com as instruções do seu provedor de internet.

- Se você quiser usar uma rede sem fio, pode procurar uma rede nas opções Wireless.

Depois disso, basta inserir a senha da sua rede, clicar em Save and Apply.
Certifique-se de ter um bom estado de rede antes de continuar com as próximas etapas.
Passo 3. Alocar mais espaço para o Docker
Por padrão, o Docker tem apenas cerca de 250 MB de tamanho, o que não é suficiente para instalarmos a imagem, então primeiro precisamos expandir a capacidade para o Docker.
Clique em System --> Disk Man --> EDIT.

Na última linha, escreva o tamanho do espaço de armazenamento a ser adicionado na coluna END SECTOR. No meu caso, é +20G. Em seguida, clique no botão NEW.

Escolha o formato ext4, depois clique no botão FORMAT.


Quando terminar, você verá que um novo espaço de 20 GB foi adicionado. No entanto, é um espaço livre agora, você precisa montá-lo no Docker.
Então escolha System --> Mount Points, encontre a seção Mount Point, clique no botão ADD.

Escolha o novo espaço que você acabou de criar.

Escolha o ponto de montagem Use as Docker data (/opt). Não se esqueça de marcar a caixa de seleção Enable this mount, depois clique no botão SAVE & APPLY.

Todas as configurações para a expansão estão completas, só é preciso reiniciar para torná-las válidas.
Escolha System --> Reboot, clique no botão PERFORM REBOOT. Aguarde o OpenWRT reiniciar e faça login novamente.

Instalação e configuração do Home Assistant, ESPHome
Passo 4. Instalar o Home Assistant com Docker
Uma forma melhor de instalar o Home Assistant no OpenWRT é fazê-lo no Docker, o que garante que o LinkStar seja estável como um roteador por software e também permite que o Home Assistant seja implantado.
Então tudo o que precisamos fazer é puxar a imagem específica do Home Assistant. Essa imagem nos atenderá bem na instalação do serviço ESPHome mais tarde.
homeassistant/qemuarm-64-homeassistant:latest

Usamos a imagem baixada para criar um Container.

Na página onde o container é criado, precisamos fazer algumas configurações simples.
- Container Name: nome do seu container
- Docker Image: escolha a imagem qemuarm-64-homeassistant que acabou de ser baixada
- Network: escolha o modo host
- Environment Variables(-e): sua variável de ambiente

Depois de preencher o conteúdo acima, salve e aplique. Você verá que o Container foi criado. Vamos iniciá-lo.

Passo 5. Instalar ESPHome com Docker
Como estamos instalando o Home Assistant Container, não podemos simplesmente baixar o serviço ESPHome pela loja de Add-on, então é necessário um compromisso.
Repetindo as etapas acima, baixamos a imagem ESPHome.
esphome/esphome:latest

Na página onde o container é criado, precisamos fazer algumas configurações simples.
- Container Name: nome do seu container
- Docker Image: escolha a imagem esphome que acabou de ser baixada
- Network: escolha o modo host
- Environment Variables(-e): sua variável de ambiente

Depois de preencher o conteúdo acima, salve e aplique. Você verá que o Container foi criado. Você também precisa iniciá-lo.

Passo 6. Adicionar o serviço ESPHome ao Home Assistant
Para alcançar o mesmo efeito de baixar o ESPHome no Home Assistant, precisamos modificar o arquivo de configuração no Home Assistant.
Vá para o Home Assistant Container.

Vamos ao terminal no Home Assistant.

Digite o seguinte comando no terminal.
vi configuration.yaml
Adicione o seguinte conteúdo ao final de configuration.yaml.
# Example configuration.yaml entry
panel_iframe:
esphome:
title: "ESPHome"
url: "http://192.168.100.1:6052"
icon: mdi:chip
Saia do container docker digitando exit no shell do Home Assistant Container. Depois disso, reinicie o container do Home Assistant.
Crie uma nova página do navegador, digite o endereço IP 192.168.100.1:8123 e registre sua conta do Home Assistant e você verá o ESPHome aparecer na barra de ferramentas à esquerda.

Adicionar Seeed Studio XIAO ESP32C3 ao ESPHome
- Passo 1. Clique em + NEW DEVICE

- Passo 2. Clique em CONTINUE

- Passo 3. Insira um Name para o dispositivo e insira as credenciais de WiFi, como Network name e Password. Depois clique em NEXT

- Passo 4. Selecione ESP32-C3 e clique

- Passo 5. Clique em SKIP porque vamos 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 como segue
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
version: 2.0.5
platform_version: 5.2.0
Nota: Aqui estamos usando a versão mais recente do Arduino core for ESP32 e ESP32 support for PlatformIO

- Passo 8. então, clique no botão Save no canto superior direito.
O LinkStar H68K não suporta reconhecimento de dispositivos MCU externos, precisamos primeiro baixar o firmware compilado e depois enviar o firmware por meio de outro PC.
- Passo 9. Clique no botão Install no canto superior direito. Em seguida, selecione o último item Manual download.

- Passo 10. Selecione Modern format.

Em seguida, levará bastante tempo para baixar e compilar, portanto seja paciente. Quando tudo estiver pronto, o firmware será baixado automaticamente para o seu computador.

-
Passo 11. Para enviar o firmware para o XIAO ESP32C3 há algumas opções, aqui mostramos 2 maneiras de fazer isso:
- Opção 1: usando a ferramenta Web do ESPhome para enviar.
Certifique-se de ter os drivers corretos instalados. Abaixo estão os drivers para chips comuns usados em dispositivos ESP.
- Drivers CP2102: Windows & Mac
- Drivers CH342, CH343, CH9102: Windowns, Mac
- Drivers CH340, CH341: Windowns, Mac
Abra a ferramenta Web do ESPhome com o navegador Chrome ou Edge.
Clique em CONNECT.

selecione a porta serial do XIAO ESP32 na janela pop-up.

Clique em INSTALL e então selecione o arquivo .bin baixado nos passos acima.


- Opção 2: Usando a ferramenta esphome-flasher.
Se você ainda não conseguir enviar o firmware usando o primeiro método após instalar o driver e trocar de navegador, então pode tentar usar o segundo método. Consulte o tutorial oficial para métodos de instalação específicos e instruções.
Se você deseja observar as mensagens de log do XIAO ESP32C3, também pode visualizá-las através do botão View Logs deste software.

Quando o envio estiver concluído, você pode desconectar o XIAO ESP32C3 do PC (a menos que precise visualizar os logs) e simplesmente alimentar o XIAO separadamente.
Se tudo correr bem, o XIAO ESP32C3 irá procurar e se conectar ao WiFi que você configurou para ele.
Assim como eu, uso a rede do LinkStar H68K. Você pode encontrá-la nas opções de rede e ver o endereço IP atribuído a ela pelo LinkStar H68K.

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

- Passo 13. Conectar ao XIAO ESP32C3
Se você não tiver muitos dispositivos Home Assistant na sua LAN, o Home Assistant pode pesquisar e adicionar automaticamente seus dispositivos ESP na aba Devices. Você pode ver este dispositivo dentro da aba Devices & Services em Settings.


Se ele não pesquisar automaticamente, você também pode se conectar ao XIAO ESP32C3 com base em seu endereço IP.
Clique em ADD INTEGRSTION e pesquise por esphome.

Depois insira o endereço IP do XIAO ESP32C3 com o número de porta 6053. Em seguida, clique em SUBMIT.

Se o endereço IP e o número da porta inseridos estiverem corretos, você verá que será solicitado a inserir a chave de criptografia, que pedimos para salvar no arquivo yaml.
Depois clique em SUBMIT.

Neste ponto, as etapas para adicionar o dispositivo foram concluídas com sucesso.
Módulos Grove com ESPHome e Home Assistant
Agora iremos conectar módulos Grove ao Seeed Studio XIAO ESP32C3 para que possamos exibir dados de sensores ou controlar os dispositivos usando o Home Assistant!
Conectar Módulos Grove ao XIAO ESP32C3
Para usar módulos Grove com o Seeed Studio XIAO ESP32C3, usaremos um Grove Shield para Seeed Studio XIAO e conectaremos o XIAO ESP32C3 nele.

Depois disso, os conectores Grove na placa podem ser usados para conectar módulos Grove
Definições de Pinos
Você precisa seguir a tabela 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.
| Número de Pino Interno | Mapeamento de Pino |
|---|---|
| 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 exemplo, se você quiser conectar um módulo Grove à porta D0, você precisa definir o pino no ESPHome como 2

Lista de Compatibilidade Grove com ESPHome
Atualmente, os seguintes módulos Grove são suportados pelo ESPHome
Agora vamos selecionar 6 módulos Grove da tabela acima e explicar como eles podem ser conectados com ESPHome e Home Assistant.
Grove - Sensor de Temperatura e Umidade (AHT20)
Configuração de Instalação
- Etapa 1. Conecte o Grove - Sensor de Temperatura e Umidade (AHT20) a um dos conectores I2C no Grove Shield para Seeed Studio XIAO

- Etapa 2. Dentro do arquivo xiao-esp32c3.yaml que criamos antes, adicione o seguinte ao final do arquivo e envie OTA para o XIAO ESP32C3
i2c:
sda: 6
scl: 7
sensor:
- platform: aht10
temperature:
name: "Temperature"
humidity:
name: "Humidity"
Você pode aprender mais sobre o componente AHT10 aqui. Ele permite que você use sensores baseados em AHT10, AHT20 e AHT21. Aqui adicionamos o componente I²C Bus porque o AHT20 se comunica usando o protocolo I2C.
Visualizar no Dashboard
- Etapa 1. Na página Overview do Home Assistant, clique nos 3 pontos e clique em Edit Dashboard

- Etapa 2. Clique em + ADD CARD

- Etapa 3. Selecione By ENTITY, escreva temperature e marque a check box ao lado de Temperature

- Etapa 4. Repita o mesmo para Humidity

- Etapa 5. Clique em CONTINUE

- Etapa 6. Clique em ADD TO DASHBOARD

Agora o seu dashboard do Home Assistant ficará como abaixo

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

- Etapa 8. Selecione Temperature no menu suspenso

- Etapa 9. Clique em SAVE

- Etapa 10. Repita o mesmo para Humidity

Agora o seu dashboard ficará como abaixo

Para o Grove - Sensor de Gás VOC e eCO2 (SGP30) e o Grove - Sensor de CO2 e Temperatura e Umidade (SCD41) neste wiki, você pode seguir um procedimento semelhante para visualizar os dados do sensor no dashboard
Grove - Sensor de Gás VOC e eCO2 (SGP30)
Configuração de instalação
- Etapa 1. Conecte o Grove - Sensor de Gás VOC e eCO2 (SGP30) a um dos conectores I2C no Grove Shield para Seeed Studio XIAO

- Etapa 2. Dentro do arquivo xiao-esp32c3.yaml que criamos antes, adicione o seguinte ao final do arquivo e envie OTA para o XIAO ESP32C3
i2c:
sda: 6
scl: 7
sensor:
- platform: sgp30
eco2:
name: "eCO2"
accuracy_decimals: 1
tvoc:
name: "TVOC"
accuracy_decimals: 1
Você pode aprender mais sobre o componente SGP30 aqui.
Grove - Sensor de CO2 e Temperatura e Umidade (SCD41)
Configuração de instalação
- Etapa 1. Conecte o Grove - Sensor de CO2 e Temperatura e Umidade (SCD41) a um dos conectores I2C no Grove Shield para Seeed Studio XIAO

- Etapa 2. Dentro do arquivo xiao-esp32c3.yaml que criamos antes, adicione o seguinte ao final do arquivo e envie OTA para o XIAO ESP32C3
i2c:
sda: 6
scl: 7
sensor:
- platform: scd4x
co2:
name: "CO2"
temperature:
name: "Temperature"
humidity:
name: "Humidity"
Você pode aprender mais sobre o componente SGP4x aqui
Grove - Relay
Configuração de instalação
- Passo 1. Conecte o Grove - Relay a uma das portas Digitais no Grove Shield para Seeed Studio XIAO. Aqui selecionamos a porta D0

- Passo 2. Dentro do arquivo xiao-esp32c3.yaml que criamos antes, adicione o seguinte ao final do arquivo e envie via OTA para o XIAO ESP32C3
switch:
- platform: gpio
pin: 2
name: "Relay"
Você pode aprender mais sobre o componente Relay aqui
Visualizar no Dashboard
- Passo 1. Em + ADD CARD que mencionamos antes, selecione BY ENTITY, digite relay, selecione e clique em CONTINUE

- Passo 2. Clique em ADD TO DASHBOARD

Agora você pode ligar e desligar o relay (ON/OFF) usando a chave de alternância

Grove - mini PIR motion sensor
Configuração de instalação
- Passo 1. Conecte o Grove - mini PIR motion sensor a uma das portas Digitais no Grove Shield para Seeed Studio XIAO. Aqui selecionamos a porta D0

- Passo 2. Dentro do arquivo xiao-esp32c3.yaml que criamos antes, adicione o seguinte ao final do arquivo e envie via OTA para o XIAO ESP32C3
binary_sensor:
- platform: gpio
pin: 2
name: "PIR Sensor"
device_class: motion
Você pode aprender mais sobre o componente PIR aqui
Visualizar no Dashboard
- Passo 1. Em + ADD CARD que mencionamos antes, selecione BY ENTITY, digite pir, selecione e clique em CONTINUE

- Passo 2. Clique em ADD TO DASHBOARD

Agora, se um movimento for detectado, ele será exibido como Detected

O que vem a seguir?
Parabéns, você aprendeu a concluir a implantação do Home Assistant no LinkStar e a usar o plugin ESPHome. Para qualquer situação semelhante em que não seja possível instalar um Home Assistant Container com Add-on, você pode usar este método para instalar outro plugin do Home Assistant.
Também esperamos que você se junte ao nosso time de criadores e nos traga mais exemplos úteis!
Claro, o XIAO ESP32C3 não se resume apenas ao suporte para o MR24HPCB1 no Home Assistant, e você pode encontrar mais tutoriais para o seu próprio uso neste documento.
- Conecte módulos Grove ao Home Assistant usando ESPHome (Odyssey)
- XIAO ESP32C3 acessa o Home Assistant via serviço ESPHome
Liberte sua criatividade!
Solução de problemas
FAQ1: Recebi o seguinte erro ao enviar o firmware usando a ferramenta ESPhome Web, como posso corrigi-lo?

R: Se este aviso aparecer durante o envio, desconecte o XIAO ESP32C3 do PC. Em seguida, mantenha pressionado o BOOT BUTTON, conecte a placa ao seu PC enquanto mantém o botão BOOT pressionado e depois solte-o para entrar no modo bootloader. Neste ponto, basta reconectar e enviar o firmware novamente.
FAQ2: Não consigo instalar o esphome flasher no Linux seguindo o tutorial do esphome flasher. O que fazer?
R: Ao executar os seguintes comandos, você precisa selecionar a versão do seu sistema, caso contrário ocorrerá um erro. Por exemplo, meu computador é Ubuntu 22.04, então o comando que deve ser executado é o seguinte.
sudo apt install python3
pip3 install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/ \
wxPython
pip3 install esphomeflasher
FAQ3: Preenchi corretamente o WiFi e a senha, por que não vejo o endereço IP do XIAO ESP32C3?
R: Quando você encontrar esse problema, verifique se a antena do XIAO ESP32C3 está conectada corretamente. Se a antena já estiver conectada, verifique se o XIAO não está a mais de 3 m do LinkStar, se possível (a menos que você tenha substituído a antena por uma mais potente). Se você ainda não conseguir ver o XIAO, pode usar o software esphome flasher para verificar as informações de log do XIAO e checar a conexão do XIAO por meio dos logs. Você pode reconectar o XIAO para que ele tente procurar o WiFi e se conectar novamente.
Suporte Técnico e Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para lhe oferecer 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.


