Всем добрый день.
Купил плату на Озоне Артикул 2110926200 (https://www.ozon.ru/product/plata-esp32-s-ethernet-wi-fi-i-bluetooth-wt32-eth0-2110926200/?from_sku=2219479393&oos_search=false )
Там же купил кабель артикул 2266435042 (https://www.ozon.ru/product/konsolnyy-kabel-usb-rj45-usb-rj45-cisco-console-cable-2266435042/ )
Установил Arduino IDE 2.3.8
Скачал/установил платы Arduino ESP32 Boards от Arduino и esp32 от Espressif Systems
Версию аддона для esp32 не знаю где посмотреть.
Сейчас в Arduino выбрана плата ESP32-WROOM-DA Module
Кабель определился как COM7 это порт у меян в Arduino выбран
Плату включаю с замкнутыми контактами IO0 и GND
Сейчас при загрузке на плату после компиляции получаю ошибку -
fatal error occurred: Failed to connect to ESP32: Serial data stream stopped: Possible serial noise or corruption.
For troubleshooting steps visit: docs .espressif.com/projects/esptool/en/latest/esp32/troubleshooting . html
Не удалась загрузка: ошибка при загрузке: exit status 2
Подозреваю что ошибка в выборе платы. Прошу дать совет как узнать какую плату надо выбрать. Возможно мной совершены ещё какие-то явные ошибки, прошу совета как их исправить
Также попробовал указать плату WT32-ETH01 Ethernet Module.
Получил такую же ошибку
ua6em
21.Апрель.2026 06:35:07
3
смотрим распиновку, подключил правильно?
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
/**
* Variant: WT32-ETH01
* Vendor: Wireless-Tag
* Url: http://www.wireless-tag.com/portfolio/wt32-eth01/
*/
#include <stdint.h>
// interface to Ethernet PHY (LAN8720A)
#define ETH_PHY_ADDR 1
#define ETH_PHY_POWER 16
#define ETH_PHY_MDC 23
#define ETH_PHY_MDIO 18
#define ETH_PHY_TYPE ETH_PHY_LAN8720
#define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN
// general purpose IO pins
static const uint8_t IO0 = 0;
static const uint8_t IO1 = 1; // TXD0 / TX0 pin
static const uint8_t IO2 = 2;
static const uint8_t IO3 = 3; // RXD0 / RX0 pin
static const uint8_t IO4 = 4;
static const uint8_t IO5 = 5; // RXD2 / RXD pin
static const uint8_t IO12 = 12;
static const uint8_t IO14 = 14;
static const uint8_t IO15 = 15;
static const uint8_t IO17 = 17; // TXD2 / TXD pin
static const uint8_t IO32 = 32; // CFG pin
static const uint8_t IO33 = 33; // 485_EN pin
// input-only pins
static const uint8_t IO35 = 35;
static const uint8_t IO36 = 36;
static const uint8_t IO39 = 39;
// UART interfaces
static const uint8_t TXD0 = 1, TX0 = 1;
static const uint8_t RXD0 = 3, RX0 = 3;
static const uint8_t TXD2 = 17, TXD = 17;
static const uint8_t RXD2 = 5, RXD = 5;
static const uint8_t TX = 1;
static const uint8_t RX = 3;
//SPI VSPI default pins
static const uint8_t SS = -1;
static const uint8_t MOSI = 14;
static const uint8_t MISO = 15;
static const uint8_t SCK = 12;
//I2C default pins
static const uint8_t SDA = 33;
static const uint8_t SCL = 32;
#endif /* Pins_Arduino_h */
ua6em
21.Апрель.2026 06:36:09
5
толстый:
Зачем?
как зачем? мужикам нравится слово ДА!
А чё там смотреть, он её через этот шнурок и шьёт
ua6em
21.Апрель.2026 06:41:11
7
через цисковский кабель…прям анекдот напомнил…мышь в 3.14…оригинально
Там же написано как подключать, что пины надо перевернуть
Кабель есть, осталось взять розетку разбить три провода и подпаяться к пинам 1,3 и gnd ESP32
Ещё до того как плата мне пришла мельком пролистал несколько интернет ресурсов и в одном из них было что-то про ESP32-WROOM.
Изначально когда поставил Arduino, то скачал/установил Arduino ESP32 Boards. Выбрал плату ESP32 Nano.
Другую плату скачать/установить не удавалось, потому как не хватало места на диске C. Сегодня с утра разобрался как поменять настройки чтобы платы скачивались/устанавливались на диск D.
После этого уже выбрал WT32-ETH01 Ethernet Module, но результат также был безуспешным
Только у меня кабель usb - ethernet
ua6em
21.Апрель.2026 06:51:46
10
так гвоздь не в ту стену, куда ты RJ-45 подключаешь?
ua6em
21.Апрель.2026 06:53:05
11
глупости не надо говорить, это стандартный консольный кабель CISCO
USB в ноутбук, RG-45 в плату на ней разъём
ua6em
21.Апрель.2026 06:55:13
13
тебе нужен кабель USB-UART, это именно такой, но с разъёмом RJ-45
ua6em
21.Апрель.2026 06:58:17
15
типа такого, чтобы напряжение можно было переключить на 3.3 вольта
Я думал о том, что надо кабель как-то проверить и искал другие возможные варианты. Много натыкался как раз на подобные адаптеры.
В итоге именно это я уже заказал он должен 23-го числа прийти.
Подскажите для чего переключение на 3.3 вольта.? Мне надо будет использовать именно его?
Первый поиск дал.
#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();
}
У меня сейчас есть подключение 5v на плату. Могу ли я его оставить, а с UART брать только данные? Или лучше плату полностью запитать от UART?
ua6em
21.Апрель.2026 07:19:24
20
модуль позиционируется как IoT устройство, для внутренней сети проблем нет, а если по LAN надо поднять PPtP чтобы наружу выйти?