Programação de um dispositivo ESPHome descrevendo seu hardware
Após adicionar um novo dispositivo ao ESPHome Dashboard, você está pronto para programar seu microcontrolador – sem realmente escrever uma única linha de código. Em vez disso, você descreve seu hardware para o ESPHome.
Aqui está o fluxo de trabalho típico:
- Ajustando a configuração: edite a configuração padrão de um dispositivo ESPHome e descreva o hardware conectado que ele usa.
- Instalar firmware atualizado: deixe o ESPHome criar um novo firmware com base na sua configuração atualizada e carregue-o sem fio para o seu microcontrolador
É realmente muito simples.
Pré-requisitos
Para abrir e visualizar a configuração de um dispositivo ESPHome, clique em EDIT. Isso abre sua configuração atual no editor.
Não altere a configuração padrão (a menos que você saiba o que está fazendo e queira, por exemplo, renomear seu projeto ou alterar sua conexão Wi-Fi).
Vá para o final da configuração e comece a adicionar novas linhas que descrevem os componentes adicionais que seu projeto está usando.
Ao editar uma configuração, certifique-se sempre de clicar em SALVAR no canto superior direito quando terminar. Fechar o editor sem salvar descarta imediatamente todas as alterações sem confirmação.
Validando a configuração editada
Após alterar uma configuração, sempre valide- a imediatamente após fechar o editor: clique no menu de três pontos no bloco do dispositivo ESPHome e, em seguida, clique em Validar.
Se sua
configuração estiver formalmente ok, o resultado da validação deve ser sempre Configuration is valid! . Se você receber erros, estes são os dois principais motivos:
Advertência: Recuo
Uma configuração é realmente uma estrutura hierárquica em forma de árvore usando o formato YAML: itens são agrupados por recuo. É por isso que a ordem correta dos itens e o recuo estrito são cruciais.
Esta é uma mensagem de erro típica que pode te incomodar:
mapping values are not allowed here
in "/config/esphome/push-button.yaml", line 35, column 18
Basicamente, isso se traduz em: ESPHome encontrou palavras-chave que não faziam sentido naquela posição. Então, muito provavelmente, elas estão na ordem errada ou, devido a recuo errado, foram mal interpretadas.
Aqui está um exemplo de tal configuração (não se concentre nos detalhes, apenas observe a estrutura):
binary_sensor:
- platform: gpio
pin: GPIO4
inverted: true
name: Pushbutton1
filters: - delayed_on: 10ms
- delayed_off: 10ms
mode:
input: true
pullup: true
É assim que a configuração deveria ter sido formatada:
binary_sensor:
- platform: gpio
name: Pushbutton1
pin:
number: GPIO4
inverted: true
mode:
input: true
pullup: true
filters:
- delayed_on: 10ms
- delayed_off: 10ms
Como você vê, a ordem, o recuo e, portanto, o agrupamento são essenciais para que o ESPHome entenda corretamente sua entrada.
Mudanças drásticas
De tempos em tempos, o ESPHome recebe atualizações. Ocasionalmente, essas atualizações introduzem mudanças drásticas. Então, quando você
atualiza o ESPHome e suas configurações existentes não funcionam mais e, de repente, produzem erros de validação como o abaixo, muito provavelmente as regras gerais de formatação do ESPHome mudaram:
Failed config
ota.unknown: [source /config/esphome/push-button.yaml:19]
'ota' requires a 'platform' key but it was not specified.
A mudança de ruptura neste exemplo foi introduzida com a versão 2024.6.0 do ESPHome. Até então, o OTA era definido assim:
ota:
password: "..."
A partir da versão 2024.6.0 , agora ele precisa ser definido assim:
ota:
- platform: esphome
password: "..."
Infelizmente, o ESPHome não corrige essas alterações de formatação automaticamente. Em vez disso, você precisa ajustar manualmente todas as suas configurações existentes. Dispositivos recém-criados usarão automaticamente o novo formato.
Carregando configuração
Depois que sua configuração atualizada for validada, é hora de carregá-la no seu microcontrolador e colocá-la para funcionar:
- No ESPHome Dashboard, certifique-se de que seu microcontrolador esteja marcado como ONLINE. Clique no menu de três pontos e escolha Install.
- Como seu microcontrolador já foi provisionado, você pode escolher Wirelessly e carregar o novo firmware convenientemente via OTA (over-the-air ).
- O ESPHome compila o novo firmware e então usa OTA para transferir sem fio o novo firmware para seu microcontrolador:
- Depois que o firmware estiver instalado, clique em STOP para fechar a janela do terminal. Verifique se seu microcontrolador está rotulado como ONLINE no ESPHome Dashboard, indicando que ele inicializou corretamente com o novo firmware.
Você acabou de reprogramar seu microcontrolador com sucesso, sem escrever nenhum código.