Esse tutorial traz uma configuração básica para seus dispositivos ESP usando ESPHOME.
Para instalar e configurar o ESPHOME:
Nesse modelo, além principais informações de configuração ficar todas juntas na parte superior do código, já inclui alguns sensores com informações do dispositivo:
- Status: conectado ou desconectado
- Rede: Nome da rede wifi
- Sinal Wifi: Intensidade do sinal wifi
- IP: Endereço IP na rede
- Reiniciar: comando para reiniciar o esp
- Versão: versão do ESPHOME e data da compilação do código
Código base para o dispositivo ESPHOME
Os comentários do código abaixo pode auxiliar no entendimento de cada componente, dúvidas podem ser sanadas na documentação oficial.
substitutions:
#Configurações:
Plataforma: ESP8266 #Altere para o modelo da sua placa
TipoPlaca: nodemcuv2 #Altere para o tipo da sua placa
hostname: espteste #Hostname do dispositivo na rede (não usar underline '_' pois atrapalha o funcionamento do mDNS).
comment: Descrição do projeto...
PrefixoNome: 'Teste - ' #Texto que aparece no início de cada entidade e forma o id da entidade
#Configurações da rede
RedeWifi: !secret RedeWifi #Nome da rede wifi que o dispositivo irá se conectar
SenhaWifi: !secret SenhaWifi #Senha da rede wifi que o dispositivo irá se conectar
SenhaWifiReconfig: !secret SenhaWifiReconfig #Senha do AP Wifi para reconfiguração do wifi do dispositivo
EndConfig: ${hostname}.local #192.168.1.50 #Endereço para configuração (IP que o esp está acessível atualmente na rede), especialmente usado quando quer alterar o hostname via OTA
WifiOculto: 'False' #Se a rede wifi está oculta defina como 'True'
WifiFastConnect: 'False' #Se o esp realizará a conexão à rede wifi sem escanear as redes disponíveis defina como 'True'
#Senhas
SenhaAPI: !secret SenhaAPI #Senha para adicionar o esp no HA
SenhaOTA: !secret SenhaOTA #Senha para atualizar o firmware do esp via OTA
esphome:
name: $hostname
comment: ${Comment}
platform: ${Plataforma}
board: ${TipoPlaca}
project:
name: "dougiteixeira.modeloesp"
version: "1.0.0"
wifi:
networks:
- ssid: ${RedeWifi}
password: ${SenhaWifi}
hidden: ${WifiOculto}
fast_connect: ${WifiFastConnect}
use_address: ${EndConfig}
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: ${hostname}_WIFI
password: ${SenhaWifiReconfig}
#Habilita um AP Wifi para reconfigurar em caso de perda de conexão com a rede configurada
captive_portal:
#Habilita a api para comunicar com o Home Assistant
api:
password: ${SenhaAPI}
#Habilita a atualização de firmware por OTA
ota:
password: ${SenhaOTA}
#Habilita as mensagens de logs pela porta serial e via MQTT
logger:
binary_sensor:
#Status (conectado ou desconectado)
- platform: status
id: status_conexao
name: ${PrefixoNome} Status
device_class: connectivity
button:
#Comando reinicilizar esp remotamente
- platform: restart
id: restart_button
name: ${PrefixoNome} Reiniciar
icon: mdi:restart
text_sensor:
#Informações da conexão wifi
- platform: wifi_info
#Endereço IP
ip_address:
id: IP
name: ${PrefixoNome} Endereço IP
icon: mdi:ip-network
#Nome da Rede
ssid:
id: SSID
name: ${PrefixoNome} Rede Wifi
icon: mdi:wifi
#Informação da versão da compilação
- platform: version
id: versao
name: ${PrefixoNome} Versão
icon: mdi:information
sensor:
#Sensor Intensidade Sinal Wifi
- platform: wifi_signal
id: wifi_sinal
name: ${PrefixoNome} Intensidade Wifi
icon: mdi:signal
update_interval: 10s
Todas as informações importantes (senhas OTA e API, configuração da rede wifi, etc) estão armazenadas no arquivo secrets.yaml
(ver aqui e aqui para mais detalhes de configuração e uso).
Mais detalhes pode ser visto na documentação do ESPHome: