Esse tutorial mostrará como configurar um dispositivo ESP32 que funciona com cabo de rede e POE (Power Over Ehternet) no ESPHome.
O projeto pode ser aplicado em diversas situações, como por exemplo sinal de Wi-Fi insatisfatório.
No meu caso, utilizei este dispositivo dentro de uma casa de máquinas da piscina, onde Wi-Fi e Zigbee não funcionavam adequadamente.
Para saber mais sobre POE, veja aqui: o que é poe
O código deste tutorial aplica-se a um dispositivo específico denominado LilyGo POE, que pode ser adquirido nesse link: poe aliexpress
OBS: Fique atento pois existem 2 opções de compra: Uma somente da placa e outra da placa + expansão programável (utilizaremos essa última para fazer o flash do ESP).
É possível também utilizar o LilyGo com um cabo de rede normal e energizá-lo com um plug de energia padrão USB-C de 5V.
Um detalhe importante sobre essa entrada é que ela não serve para fazer o flash na placa.
Detalhes à parte, o intuito deste tutorial é mostrar a utilização do POE.
O LilyGo opera com tensão de 50V no cabo de rede utilizando POE.
Então, será necessário que você possua um switch ou uma fonte 110/220V que entregue 50V no POE.
No meu caso, como não havia nenhum switch com essa característica, decidi por comprar uma fonte POE compatível de 48V nesse link: fonte poe
A figura a seguir mostra como você deve ligar a placa de expansão programável no verso da placa LilyGo.
Nesta etapa, para não ter que soldar nada, eu utilizei fita isolante entre as duas placas para evitar curto circuito e prendi bem as duas placas para não perderem o contato dos pinos.
Feito isso, a próxima etapa é ligar um cabo de programação USB no computador e na plaquinha de programação.
Modelo do Cabo USB/Micro USB:
Para saber mais como instalar e configurar o ESPHome no Home Assistant, veja aqui: EspHome
Não iremos nesta matéria habilitar o LilyGo pelo Wi-Fi, somente pela Ethernet. Então, o código abaixo deverá ser “colado” na edição do novo device EspHome.
esphome:
name: placa-lilygo
esp32:
board: esp32dev
framework:
type: arduino
#Enable logging
logger:
#Enable Home Assistant API
api:
ota:
password: "d61c17f2b41b837b7a28179964083251"
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
#aqui insira um IP fixo para esse dispositivo em sua rede
manual_ip:
static_ip: 192.168.0.12
gateway: 192.168.0.1
subnet: 255.255.255.0
Após submeter a gravação da placa com sucesso, remova o cabo e a plaquinha de programação.
Ligue o adaptador POE na energia e espete um cabo de rede na entrada LAN do adaptador e a outra ponta no switch da sua rede.
Foto da ligação:
Espete na sequência o cabo de rede na saída POE do adaptador e a outra ponta na entrada Ethernet do LilyGo.
A partir dessa etapa, volte no ESPHome e veja se o status do dispotivo ficou “Online”. Caso negativo, clique no link do post acima para instalar e configurar o ESPHome no Home Assistant.
Observação: O LilyGo utiliza ESP32, que tem portas analógicas e digitais. As analógicas funcionam apenas do GPIO32 ao GPIO39.
De volta ao Home Assistant, e em ESPHome, edite o código do seu novo dispositivo para adicionar os dispositivos que você desejar.
Como exemplo, o código a seguir foi colado no final da programação, para ligar um sensor de temperatura Dallas na placa LilyGo:
#aqui insira um IP fixo para esse dispositivo em sua rede
.
.
.
dallas:
- pin: GPIO14
sensor:
- platform: dallas
address: 0x11000000043db228
name: "Sensor de Temperatura"
O sensor Dallas é digital e possui 3 fios (GND - preto, VCC - vermelho e Sinal Digital - amarelo/laranja)
- Ligue o GND do sensor no GND da placa LilyGo
- Ligue o VCC do sensor no 3V3 da placa
- Ligue o fio digital do sensor na entrada GPIO14 da placa, conforme pinout (figura abaixo) Muita calma nessa hora porque falta apenas mais um passo…
- E, por fim, ligue um resistor de 4K em paralelo no fio vermelho (VCC) do sensor Dallas e no fio amarelho (Sinal de dados do sensor).
LilyGo pinout:
Salve o código e clique em Instalar.
OBSERVAÇÃO: Se você for utilizar o sensor de temperatura Dallas, deverá observar no console do Log de instalação qual é o endereço do sensor e editar novamente o código fonte, trocando para esse endereço do sensor que é apresentado no Log e depois clique em instalar novamente para que o sensor comece a ser lido pelo Esp e enviado para o H.A., conforme imagem a seguir:
Visualização do dispositivo nas configurações do Home Assistant:
Pronto!