Доброе время суток форумчанам!
Есть devkit: ESP32-WROOM-32U.
Среда разработки: WIn10x64 + Visual Studio Code (1.86.0) + PlatformIO (Core 6.1.13).
Framework: arduino
Про свой код и как вышел на эту проблему писать нет смысла.
Так как, создал проект с простым кодом
В platformio.ini все по умолчанию, и только добавлена строка "monitor_filters = esp32_exception_decoder".
И собственно при попытке просканировать порты Advanced Port Scanner-ом (TCP 1-65535), получаю перезагрузку.
И это происходит рандомно.
Может перезагрузится аж два раза за проход порт сканера, а может и 5 сканирований в подряд пройти без проблем.
Ну и пинг к устройству просто падает.
На следующий день (ну может луна в другой фазе), добавил в код WiFi.setSleep(false) и сменил точку доступа (с TPLink AP на Microtik AP).
И проблема практически ушла, но пинг по прежнему просаживается при сканирование портов.
Пока только один раз поймал reboot уже на своем проекте (который до этого перегружался практически при каждом проходе).
Вот и вопрос, мне с кристаллом не повезло или я много хочу от ESP32?
Заранее спасибо!
Есть devkit: ESP32-WROOM-32U.
Среда разработки: WIn10x64 + Visual Studio Code (1.86.0) + PlatformIO (Core 6.1.13).
Framework: arduino
Про свой код и как вышел на эту проблему писать нет смысла.
Так как, создал проект с простым кодом
C++:
#include <Arduino.h>
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "ssid";
const char* password = "password";
WebServer wwwserver(80);
String content;
static void handleRoot(void)
{
content = F("<!DOCTYPE HTML>\n<html>Hello world from ESP32");
content += F("<p>");
content += F("</html>");
wwwserver.send(200, F("text/html"), content);
}
void setup() {
Serial.begin(115200);
// Connect to WiFi network
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
wwwserver.on("/", handleRoot);
wwwserver.begin();
}
void loop() {
// put your main code here, to run repeatedly:
}
И собственно при попытке просканировать порты Advanced Port Scanner-ом (TCP 1-65535), получаю перезагрузку.
Код:
E (367051) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (367051) task_wdt: - IDLE (CPU 0)
E (367051) task_wdt: Tasks currently running:
E (367051) task_wdt: CPU 0: WiFi
E (367051) task_wdt: CPU 1: loopTask
E (367051) task_wdt: Aborting.
abort() was called at PC 0x400e90e1 on core 0
Backtrace: 0x4008384d:0x3ffbef3c |<-CORRUPTED
#0 0x4008384d:0x3ffbef3c in panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:408
Может перезагрузится аж два раза за проход порт сканера, а может и 5 сканирований в подряд пройти без проблем.
Ну и пинг к устройству просто падает.
На следующий день (ну может луна в другой фазе), добавил в код WiFi.setSleep(false) и сменил точку доступа (с TPLink AP на Microtik AP).
И проблема практически ушла, но пинг по прежнему просаживается при сканирование портов.
Пока только один раз поймал reboot уже на своем проекте (который до этого перегружался практически при каждом проходе).
Вот и вопрос, мне с кристаллом не повезло или я много хочу от ESP32?
Заранее спасибо!