LILYGO®TTGO T-Internet-POE ESP32: https://alii.pub/6jqpwx
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В этой статье расскажу кратко об интересном модуле от lilygo на esp32. Называется он T-Internet-POE. Данный модуль как я и написал ранее на esp32 и он с ethernet разъемом для подключения по проводу к локальной сети. За это отвечает чип LAN8720A.
И самое интересное, это то, что он может питаться по POE (Power over ethernet). Что дает этому модулю легкость и удобство в питании. Ведь poe технология придумана давно и используется для питания разных устройств, таких как камеры, антенны, wi-fi точки доступа и так далее.
Питание POE обычно подают всякие сетевые коммутаторы или свичи. Например вот такой: https://alii.pub/6jqqii Питание будет идти по нескольким жилам от 8 жильного провода “витая пара”.
Так-же модуль Lilygo T-Internet-POE имеет еще на борту слот под Microsd карточку, который можно использовать например для логирования состояний датчиков. Или использовать для web сервера.
Ну и конечно же имеются GPIO разъемы. Распиновка устройства выглядит следующим образом:
Порт Type-c на устройстве служит только для его питания. Программировать контроллер esp32 на плате через него нельзя.
Для программирования контроллера выведены отдельные контакты, они сверху платы находятся, если смотреть на картинку с распиновкой. И эти контакты на плате не подписаны.
Так вот для программирования контроллера предлагают покупать в комплекте программатор специальный. Но на самом деле можно и без него обойтись. Точнее программатор то нужен, но подойдет любой usb/ttl программатор. Главное знать распиновку контактов для программирования.
P.S. Но надо отдать должное, программатор в комплекте действительно стоящий. Он удобный и если у Вас никакого нет, то стоит приобрести с ним. Он Вам в дальнейшем пригодится. И для подключения у него аш два коннектора. type-c и mini usb.
Ниже я приведу распиновку контактов на плате для программирования, чтоб Вы смогли программировать плату без комплектного программатора.
Тут стандартные пины для программирования. TX,RX,IO0,RST,GND,3.3V.
Для программирования понадобятся все кроме RST. И как соединить с программатором провода я приведу ввиде таблички.
Lilygo T-Internet-POE | usb/ttl программатор |
TX | RX |
RX | TX |
IO0 | GND |
GND | GND |
3V3 | 3V3 |
С программированием думаю все понятно.
Существует еще официальная страничка на github для этого модуля. https://github.com/Xinyuan-LilyGO/LilyGO-T-ETH-POE
Там есть несколько примеров для проверки работы модуля. И из них можно уже что-то свое спрограммировать.
Так-же там описаны какие параметры надо выбрать в arduino ide для программирования. Их всего два.
Board -> ESP32 Dev Module
PSRAM -> Disable
Остальное в настройке плат оставляем без изменений.
Меня больше интересует как использовать данный модуль в умном доме Home Assistant.
Для этого я буду использовать ESPHome, так как скетчи подходят для всех плат esp32 сразу и ненадо ничего мудрить с библиотеками. Единственное только нужно правильные пины указать для использования LAN.
На сайте ESPHome Для этого модуля уже есть распиновка. ее можно найти тут: https://esphome.io/components/ethernet.html#configuration-for-lilygo-ttgo-t-internet-poe-esp32-wroom-lan8270a-chip
Но так-как там много разных плат, конкретно для этой я приведу тут параметр.
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
Когда добавляете блок ethernet в esphome, то нужно удалять блок, который использует wi-fi.
Ну и для примера, я еще добавил датчик dht22. И полностью код программы, с удаленным блоком wi-fi и добавленным dht22 предоставляю ниже:
esphome:
name: t-poe
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "x+m9puHf0R/lZgjeuQbZLwX18W6AyECWcjkp07rNvzg="
ota:
password: "ad06c2b20b4ae6944852883aaef6b3fa"
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
sensor:
- platform: dht
pin: GPIO33
temperature:
name: "DHT22 Temperature"
humidity:
name: "DHT22 Humidity"
update_interval: 60s
как видите, все очень просто. С этим кодом у Вас автоматически получит данный модуль ip адрес по DHCP. Его можно будет узнать в логах esphome.