• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

WT32-ETH01

Подключил ESP32 в менеджер плат ардуино v1.8.7. Добавились платы многих производителей. Но WT32-ETH01 в перечне нет. Подскажите пл. какую плату использовать для корректной работы с WT32-ETH01 или как подключить конкретно эту плату в проект? Я пару проектов на ESP8266 написал и они работают, но "ардуинщик" начинающий.
 

yurik72

Member
Для ESP32, различие в менеджере плат, как правило объединяет определение размера/типа памяти и define распиновки. Например что такое встроенный Led
static const uint8_t LED_BUILTIN = 5;

У разных плат например он либо есть либо нет, либо подключен к разным GPIO. В основе всех плат все равно чип ESP32.
Судя по спецификации WT32-ETH01 , ты можешь смело шить плату через ESP32 dev board, в любом случае ты ее не испортишь. Ну а конкретные пины уже определишь у себя в проекте
 

Sedrik

New member
Смотря для чего проект нужен. Если просто попробовать себя как адруинщика, то замечательная идея. Я пробовал через адруино собрать себе умный дом, но не нашел нормального приложения для управления. Зигби с ми хоум у меня работали не совсем корректно. Сейчас себе на пробу установил пару датчиков аякс, но у них приложение работает хорошо. Брал ради сантехники чтобы не затопить случайно соседей. Дальше посмотрим как будет себя вести
 

tretyakov_sa

Moderator
Команда форума
У кого удалось запустить эту плату. Как ESP32 вполне работает, но вот не нашел ни одного примера который заработал бы с LAN? Плата одна думаю что не рабочая.
 

nikolz

Well-known member
У кого удалось запустить эту плату. Как ESP32 вполне работает, но вот не нашел ни одного примера который заработал бы с LAN? Плата одна думаю что не рабочая.
вот здесь про особенности платы.
 
#include <ETH.h>



if (ETH.begin(1))
{
log_d("Ethernet is init!");
IPAddress ip(192, 168, 5, 123);
IPAddress gateway(192, 168, 5, 1);
IPAddress mask(255, 255, 255, 0);
ETH.config(ip, gateway, mask);
Serial.println("OK");
Serial.print("ETH MAC: ");
Serial.println(ETH.macAddress());
Serial.print("IPv4: ");
Serial.println(ETH.localIP());}
 

tretyakov_sa

Moderator
Команда форума
Покажи инициализацию lan соединения
Спасибо за наводку запустить и протестировать удалось этим скетчем:
Код:
#include <ETH.h>
#include <WebServer.h> // Introduce corresponding libraries

#define ETH_CLK_MODE    ETH_CLOCK_GPIO0_IN
#define ETH_POWER_PIN  16
// Type of the Ethernet PHY (LAN8720 or TLK110)
#define ETH_TYPE        ETH_PHY_LAN8720
// I²C-address of Ethernet PHY (0 or 1 for LAN8720, 31 for TLK110)
#define ETH_ADDR        1
// Pin# of the I²C clock signal for the Ethernet PHY
#define ETH_MDC_PIN     23
// Pin# of the I²C IO signal for the Ethernet PHY
#define ETH_MDIO_PIN    18
WebServer server(80);

void setup() {
  Serial.begin(115200);
  Serial.println("Start Ethernet");
  if (ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE))
  {
    //log_d("Ethernet is init!");
    //IPAddress ip(192, 168, 0, 85);
    //IPAddress gateway(192, 168, 0, 1);
    //IPAddress mask(255, 255, 255, 0);
    //ETH.config(ip, gateway, mask);
    Serial.print("ETH MAC: ");
    Serial.println(ETH.macAddress());
    while (!((uint32_t)ETH.localIP())) {}; // Waiting for IP (leave this line group to get IP via DHCP)
    String ip = ETH.localIP().toString();
    if (ip != "0.0.0.0") {
      Serial.println("OK");
      Serial.print("IPv4: ");
      Serial.println(ip);
    }
  }

  server.on("/", HTTP_GET, []() {
  server.send(200, "text/plain", "hello from esp32!");
  });
 
  server.onNotFound([]() {
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i < server.args(); i++) {
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);
  });

  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  server.handleClient();
}
Дергать 16 ногу отдельно не требуется.
Теперь остается вопрос, как правильно включить обработчик состояний?
 
У кого удалось запустить эту плату. Как ESP32 вполне работает, но вот не нашел ни одного примера который заработал бы с LAN? Плата одна думаю что не рабочая.
У меня получилось. Пришлось использовать среду разработки ESP-IDF.
Взял пример из папки: Espressif\frameworks\esp-idf-v4.4\examples\ethernet\basic

указал тип платы:
idf.py set-target esp32

запустил конфигурацию проекта:
idf.py menuconfig
в ней указал следующие настройки:
menuconfig.png

скомпилировал и залил прошивку. Девайс стал пинговаться извне.
 
Сверху Снизу