Lilygo POE Ethernet no ESPHome + Dallas Sensor Temperatura

esphome

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.
fontepoe

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.

poe_verso

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:
cabo01

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 fico “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)
sensor_dalas

  • 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 real endereço, conforme imagem a seguir:
logger

Visualização do dispositivo nas configurações do Home Assistant:

Pronto!

4 Likes

Parabéns pela iniciativa! :clap: :clap: :clap: :clap:

1 Like

Obrigado pela força!

1 Like