Быстрое подключение к Wi-Fi после light sleep

popkop
Offline
Зарегистрирован: 02.04.2020

Добрый время суток. Суть вопроса. Есть esp 32. По кнопке должна просыпаться, подключаться к WiFi (через WiFiManager), отсылать  в mqtt сообщение и засыпать. Всё реализовал, всё работает. Однако время от нажатия кнопки до публикации в топике от 2.4 секунды до 2.7 секунд. Самая большая задержка к подключению к WiFi. Выставить всё на статику( статический WiFi, статический IP не подходит, необходим именно WiFiManager). Сам вопрос: Как можно ускорить время от нажатия кнопки до публикации в топике?

09:28:38.378 -> Boot number: 1
09:28:38.378 -> connected...yeey :)
09:28:38.378 -> 
09:28:38.378 -> *WM: [1] AutoConnect 
09:28:38.378 -> *WM: [2] ESP32 event handler enabled 
09:28:38.378 -> *WM: [2] Connecting as wifi client... 
09:28:38.378 -> *WM: [2] setSTAConfig static ip not set, skipping 
09:28:38.378 -> *WM: [1] Connecting to SAVED AP: ****
09:28:38.565 -> *WM: [1] connectTimeout not set, ESP waitForConnectResult... 
09:28:40.782 -> *WM: [2] Connection result: WL_CONNECTED
09:28:40.782 -> *WM: [1] AutoConnect: SUCCESS 
09:28:40.782 -> *WM: [1] STA IP Address: ******
09:28:40.782 -> Attempting MQTT connection...connected
09:28:40.831 -> Going to sleep now
 
 
Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Оно даже со статикой до 1 сек. тратит на коннект. При высоком RSSI 700-850 миллис обычно.

popkop
Offline
Зарегистрирован: 02.04.2020

Rumata пишет:

Оно даже со статикой до 1 сек. тратит на коннект. При высоком RSSI 700-850 миллис обычно.

Мне 1 секунда или 1,5 подходит.

Я вот подумал, может кто знает как из WiFiManager вытащить сохраненный SSID и Pass. Что бы при пробуждении сна сразу коннект был, а если коннекта нет тогда запускаем WIFiManager?

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

popkop пишет:

Я вот подумал, может кто знает как из WiFiManager вытащить сохраненный SSID и Pass. Что бы при пробуждении сна сразу коннект был, а если коннекта нет тогда запускаем WIFiManager?

Как вытащить не знаю. Можно ЗАРАНЕЕ узнать реквизиты сети, в которой преимущественно будет работать модуль и забить их в первый этап подключения. А если по результату первого этапа !wlconnected, запускать WIFiManager. Ну и можно хранить в EEPROM разные пары ssid-pass, но перебор при подключении только замедлит процесс ИМХО.