Top.Mail.Ru
ESP32 Wi-Fi ping, о...
 
Уведомления
Очистить все

[Решено] ESP32 Wi-Fi ping, очень медленный ответ.

(@grizzly)
Level 1

Здравствуйте! Обнаружил, что ответ на ping приходит очень долго, от 20 до 900 мс, при этом разброс очень большой и непонятно с чем связан... ESP32 работает в режиме станции:

WiFi.mode (WIFI_STA);

Плата лежит в паре метров от роутера, к которому подключается. Никто не сталкивался с подобным?

Цитата
Создатель темы Размещено : 02.04.2023 12:22
Метки темы
Aveal
(@aveal)
Top level Admin
От: @grizzly

Здравствуйте! Обнаружил, что ответ на ping приходит очень долго, от 20 до 900 мс, при этом разброс очень большой и непонятно с чем связан... ESP32 работает в режиме станции:

WiFi.mode (WIFI_STA);

Плата лежит в паре метров от роутера, к которому подключается. Никто не сталкивался с подобным?

Скорее всего ESP входит в энергосберегающий режим, можно принудительно отключить. Для ESP-IDF, добавляем вызов esp_wifi_set_ps():

ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_NONE));

Для Arduino IDE, 1-ый вариант:

WiFi.mode(WIFI_STA);
esp_wifi_set_ps(WIFI_PS_NONE);

Для использования нужно добавить:

#include "esp_wifi.h"

Для Arduino IDE, 2-ой вариант:

WiFi.mode(WIFI_STA);
WiFi.setSleep(false);

Результаты, до:

После:

Ну и, соответственно, учитываем, что это ведет за собой рост потребления.

ОтветитьЦитата
Размещено : 02.04.2023 12:59
(@grizzly)
Level 1

@aveal 

Огромная благодарность, все сработало! Время отклика уменьшилось примерно как и на скриншотах. Использую Arduino IDE, поэтому сделал все по второму варианту:

WiFi.setSleep(false);
ОтветитьЦитата
Создатель темы Размещено : 03.04.2023 10:02
Поделиться: