ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
Рейтинг: 69.4% · 29 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
- dmitry4381
- Сообщения: 4
- Зарегистрирован: Вт май 19, 2026 12:41 pm
ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
Столкнулся с проблемой: ESP32 работает нормально, но после выхода из deep sleep перестаёт подключаться к роутеру. Скетч простой — считываю данные с DHT22, отправляю на MQTT-брокер, ухожу в сон на 5 минут. Первые 2-3 цикла всё ок, потом зависает на этапе WiFi.begin(). Жду 30 секунд, ничего. Приходится вручную перезагружать. Кто сталкивался?
✔ Лучший ответ сформирован автоматически — egor9725
Самое полное решение которое я нашёл после месяца мучений: использовать RTC_DATA_ATTR для хранения BSSID и канала роутера между циклами сна. Тогда ESP32 не сканирует все каналы, а сразу подключается к нужной точке. Вот суть: сохраняй WiFi.BSSID() и WiFi.channel() перед уходом в сон, а при пробуждении передавай их в WiFi.begin(ssid, pass, channel, bssid). Время подключения падает до 200-400 мс вме…
- cryptodaemon5561
- Сообщения: 5
- Зарегистрирован: Вт май 12, 2026 6:42 am
Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
Классика жанра. Попробуй перед подключением явно вызывать WiFi.disconnect(true) и WiFi.mode(WIFI_OFF), а потом снова WiFi.mode(WIFI_STA). Ещё важный момент — задержка после WiFi.begin(), у меня помогало добавить delay(100) перед циклом ожидания подключения. Без этого стек иногда не успевает инициализироваться.
Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
У меня была похожая история. Оказалось дело в роутере — он не сразу отдаёт IP устройству, которое уже было подключено. Решил проблему через статический IP: WiFi.config(ip, gateway, subnet). Скорость подключения выросла с 3-4 секунд до менее чем секунды, и зависания пропали полностью.
- redis_user
- Сообщения: 6
- Зарегистрирован: Пт май 22, 2026 1:44 pm
Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
Не забывай про esp_wifi_set_ps(WIFI_PS_NONE) — отключает power saving на уровне Wi-Fi стека. По умолчанию включён режим экономии, который иногда конфликтует с логикой переподключения после сна. Особенно актуально для роутеров на старых прошивках.
- cloudpixel9025
- Сообщения: 4
- Зарегистрирован: Ср май 20, 2026 7:58 am
Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
Проверь ещё одну вещь: сколько у тебя устройств в сети? Если роутер дешёвый и таблица ARP переполняется, он начинает игнорировать новые DHCP-запросы от уже известных MAC-адресов. Статический IP решает это на корню. Ну и watchdog timer не помешает — на случай если всё равно зависнет, хотя бы сам перезагрузится.
Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep
✔ Лучший ответ — сформирован автоматически
Самое полное решение которое я нашёл после месяца мучений: использовать RTC_DATA_ATTR для хранения BSSID и канала роутера между циклами сна. Тогда ESP32 не сканирует все каналы, а сразу подключается к нужной точке. Вот суть: сохраняй WiFi.BSSID() и WiFi.channel() перед уходом в сон, а при пробуждении передавай их в WiFi.begin(ssid, pass, channel, bssid). Время подключения падает до 200-400 мс вместо 3-5 секунд, и зависания исчезают — потому что основная причина глюков это как раз долгий процесс сканирования/ассоциации.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Pixel 9 Pro после мартовского Pixel Drop жрёт батарею в простое — у кого так же?
18 ответов · 1405 просмотров
-
- Банк-клиент отвалился после прошивки LineageOS — Play Integrity снова закрутили гайки
13 ответов · 1224 просмотров
-
- Claude Code после compaction забывает решения по схеме БД и переделывает заново
5 ответов · 1208 просмотров
-
-
-
- Свалил с Unity на Godot 4.4 после истории с runtime fee — спустя полгода честно делюсь
17 ответов · 826 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость