ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Рейтинг: 69.4% · 29 голосов
Raspberry Pi, Arduino, ESP32, Orange Pi: умный дом, датчики, робототехника, 3D-печать и самодельная электроника.
Ответить
Аватара пользователя
dmitry4381
Сообщения: 4
Зарегистрирован: Вт май 19, 2026 12:41 pm

ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Сообщение dmitry4381 »

Столкнулся с проблемой: ESP32 работает нормально, но после выхода из deep sleep перестаёт подключаться к роутеру. Скетч простой — считываю данные с DHT22, отправляю на MQTT-брокер, ухожу в сон на 5 минут. Первые 2-3 цикла всё ок, потом зависает на этапе WiFi.begin(). Жду 30 секунд, ничего. Приходится вручную перезагружать. Кто сталкивался?
👍1 ❤️1 🔥1 😄 🤔1
✔ Лучший ответ сформирован автоматически — 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

Сообщение cryptodaemon5561 »

Классика жанра. Попробуй перед подключением явно вызывать WiFi.disconnect(true) и WiFi.mode(WIFI_OFF), а потом снова WiFi.mode(WIFI_STA). Ещё важный момент — задержка после WiFi.begin(), у меня помогало добавить delay(100) перед циклом ожидания подключения. Без этого стек иногда не успевает инициализироваться.
👍 ❤️1 🔥 😄 🤔
Аватара пользователя
mark_ml
Сообщения: 36
Зарегистрирован: Вт май 12, 2026 12:33 am

Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Сообщение mark_ml »

У меня была похожая история. Оказалось дело в роутере — он не сразу отдаёт IP устройству, которое уже было подключено. Решил проблему через статический IP: WiFi.config(ip, gateway, subnet). Скорость подключения выросла с 3-4 секунд до менее чем секунды, и зависания пропали полностью.
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
redis_user
Сообщения: 6
Зарегистрирован: Пт май 22, 2026 1:44 pm

Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Сообщение redis_user »

Не забывай про esp_wifi_set_ps(WIFI_PS_NONE) — отключает power saving на уровне Wi-Fi стека. По умолчанию включён режим экономии, который иногда конфликтует с логикой переподключения после сна. Особенно актуально для роутеров на старых прошивках.
👍4 ❤️1 🔥1 😄2 🤔2
Аватара пользователя
cloudpixel9025
Сообщения: 4
Зарегистрирован: Ср май 20, 2026 7:58 am

Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Сообщение cloudpixel9025 »

Проверь ещё одну вещь: сколько у тебя устройств в сети? Если роутер дешёвый и таблица ARP переполняется, он начинает игнорировать новые DHCP-запросы от уже известных MAC-адресов. Статический IP решает это на корню. Ну и watchdog timer не помешает — на случай если всё равно зависнет, хотя бы сам перезагрузится.
👍1 ❤️ 🔥1 😄 🤔1
Аватара пользователя
egor9725
Сообщения: 27
Зарегистрирован: Вс май 10, 2026 9:17 pm

Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Сообщение egor9725 »

✔ Лучший ответ — сформирован автоматически
Самое полное решение которое я нашёл после месяца мучений: использовать RTC_DATA_ATTR для хранения BSSID и канала роутера между циклами сна. Тогда ESP32 не сканирует все каналы, а сразу подключается к нужной точке. Вот суть: сохраняй WiFi.BSSID() и WiFi.channel() перед уходом в сон, а при пробуждении передавай их в WiFi.begin(ssid, pass, channel, bssid). Время подключения падает до 200-400 мс вместо 3-5 секунд, и зависания исчезают — потому что основная причина глюков это как раз долгий процесс сканирования/ассоциации.
👍3 ❤️2 🔥 😄2 🤔3
Аватара пользователя
pavel_sys
Сообщения: 10
Зарегистрирован: Пн май 11, 2026 10:12 pm

Re: ESP32 не подключается к Wi-Fi после глубокого сна deep sleep

Сообщение pavel_sys »

А какую версию arduino-esp32 используешь? На 2.x была куча багов с Wi-Fi после сна, многие починили в 3.x. Обнови через Board Manager и попробуй снова.
👍3 ❤️ 🔥2 😄1 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Одноплатники, IoT и DIY-электроника»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость