Частые причины
-
📡
Только диапазон 5 ГГц
ESP32 поддерживает только 2.4 ГГц. Если роутер настроен только на 5 ГГц или объединяет оба диапазона под одним SSID с приоритетом 5 ГГц, ESP32 не сможет подключиться.
-
🔒
Несовместимый протокол шифрования
ESP32 лучше всего работает с WPA2-PSK. WPA3, WPA2-Enterprise или устаревший WEP могут вызывать проблемы с подключением.
-
⚙️
Неправильный режим Wi-Fi
Некоторые роутеры настроены на режим «только 802.11ac» или «только 802.11ax», которые работают только в 5 ГГц. ESP32 требуется режим, включающий 802.11b/g/n.
-
🧯
Изоляция клиентов или фильтрация MAC
Функции безопасности роутера, такие как изоляция клиентов (AP Isolation) или фильтрация MAC-адресов, могут препятствовать подключению ESP32 или блокировать взаимодействие устройств.
Симптомы
ESP32 не видит вашу сеть при сканировании
При запуске WiFi.scanNetworks() ваша сеть не появляется в списке, хотя другие устройства её видят. Это обычно указывает на работу сети только в 5 ГГц.
Подключение проваливается с ошибкой аутентификации
ESP32 находит сеть, но не может аутентифицироваться — часто из-за WPA3 или WPA2-Enterprise.
Подключение работает, но нет связи с другими устройствами
ESP32 подключён к Wi-Fi и имеет IP-адрес, но не может обмениваться данными с другими устройствами в сети — признак включённой изоляции клиентов.
Работает на одном роутере, но не на другом
ESP32 успешно подключается к домашней сети, но не работает на корпоративном роутере, хотспоте или mesh-системе.
Решения
Включите отдельную сеть 2.4 ГГц
Если ваш роутер объединяет 2.4 ГГц и 5 ГГц под одним SSID, разделите их на два разных имени сети. Подключайте ESP32 к сети 2.4 ГГц.
Используйте шифрование WPA2-PSK
Настройте роутер на использование WPA2-PSK (также называемое WPA2 Personal). Это наиболее совместимый и надёжный вариант для ESP32.
Установите режим Wi-Fi b/g/n
Убедитесь, что роутер работает в смешанном режиме 802.11b/g/n на частоте 2.4 ГГц.
Отключите изоляцию клиентов и фильтрацию MAC
Для IoT-проектов, где устройства должны взаимодействовать друг с другом, отключите AP Isolation и убедитесь, что MAC-адрес ESP32 не заблокирован.
Подробнее
Настройки WiFi-роутера для ESP32
Правильная настройка роутера — часто упускаемый, но критически важный шаг для стабильной работы ESP32 в Wi-Fi сети. Многие проблемы с подключением, которые кажутся ошибками кода или оборудования, на самом деле вызваны несовместимыми настройками роутера.
Это руководство описывает все важные параметры роутера и рекомендуемые значения для стабильной работы с ESP32.
Ключевые настройки роутера
📡 Диапазон частот: только 2.4 ГГц
ESP32 поддерживает только Wi-Fi 2.4 ГГц (802.11 b/g/n). Он не поддерживает 5 ГГц (802.11ac/ax).
Если ваш роутер — двухдиапазонный:
| Настройка роутера | Совместимо с ESP32? |
|---|---|
| Только 2.4 ГГц | ✅ Да |
| Только 5 ГГц | ❌ Нет |
| Двухдиапазонный (раздельные SSID) | ✅ Да (подключайтесь к 2.4 ГГц) |
| Smart Connect / Band Steering (общий SSID) | ⚠️ Может работать, но ненадёжно |
Рекомендация: Создайте отдельную сеть 2.4 ГГц с уникальным SSID, например MyNetwork_2.4G.
🔒 Шифрование и безопасность
| Протокол | Поддержка ESP32 | Рекомендация |
|---|---|---|
| Открытая сеть | ✅ Поддерживается | ❌ Не рекомендуется |
| WEP | ✅ Поддерживается | ❌ Устаревший, небезопасный |
| WPA-PSK | ✅ Поддерживается | ⚠️ Устаревший |
| WPA2-PSK | ✅ Поддерживается | ✅ Рекомендуется |
| WPA2/WPA3 Mixed | ⚠️ Может работать | ⚠️ Зависит от прошивки |
| WPA3-SAE | ❌ Не поддерживается | ❌ Отключите |
| WPA2-Enterprise | ⚠️ Требует настройки | ⚠️ Сложно, но возможно |
Для лучшей совместимости используйте WPA2-PSK (WPA2 Personal) с шифрованием AES (не TKIP).
// Проверка типа шифрования при сканировании
int n = WiFi.scanNetworks();
for (int i = 0; i < n; i++) {
Serial.printf("%s (RSSI: %d) Шифрование: %d\n",
WiFi.SSID(i).c_str(), WiFi.RSSI(i), WiFi.encryptionType(i));
}
Типы шифрования в Arduino-ESP32:
| Значение | Тип |
|---|---|
| 2 | TKIP (WPA) |
| 4 | CCMP (WPA2) |
| 5 | WEP |
| 7 | Нет шифрования |
| 8 | Auto |
📶 Режим Wi-Fi и стандарт
Роутер должен поддерживать режим 802.11 b/g/n (или хотя бы g/n):
| Режим роутера | Совместимо с ESP32? |
|---|---|
| 802.11b/g/n mixed | ✅ Лучший вариант |
| 802.11g/n mixed | ✅ Хорошо |
| 802.11n only | ✅ Обычно работает |
| 802.11b only | ✅ Работает, но медленно |
| 802.11ac only | ❌ Не поддерживается |
| 802.11ax (Wi-Fi 6) only | ❌ Не поддерживается |
📊 Канал Wi-Fi
ESP32 поддерживает каналы 1–13 в диапазоне 2.4 ГГц (канал 14 — только Япония, обычно не используется).
Рекомендации по выбору канала:
- Используйте неперекрывающиеся каналы: 1, 6 или 11
- Избегайте загруженных каналов — используйте Wi-Fi анализатор для поиска свободных
- Автовыбор канала роутером обычно работает хорошо
// Вывод канала текущего подключения
Serial.printf("Канал: %d\n", WiFi.channel());
🔧 Ширина канала
| Ширина канала | Рекомендация |
|---|---|
| 20 МГц | ✅ Рекомендуется для ESP32 |
| 40 МГц | ⚠️ Может вызывать проблемы |
Использование 20 МГц вместо 40 МГц улучшает совместимость с ESP32, особенно в условиях слабого сигнала или помех.
🛡️ Дополнительные настройки безопасности
Изоляция клиентов (AP Isolation / Client Isolation):
Эта функция предотвращает взаимодействие устройств в одной сети. Отключите её, если:
- ESP32 должен взаимодействовать с другими устройствами в сети
- Вы используете mDNS (
esp32.local) - У вас есть веб-сервер на ESP32
Фильтрация MAC-адресов:
Если включена фильтрация MAC, добавьте MAC-адрес ESP32 в белый список:
// Узнайте MAC-адрес ESP32
Serial.print("MAC: ");
Serial.println(WiFi.macAddress());
Максимальное количество клиентов:
Некоторые роутеры ограничивают количество одновременных подключений. Убедитесь, что лимит достаточен для всех ваших устройств.
Настройки DHCP
| Параметр | Рекомендация |
|---|---|
| DHCP включён | ✅ Да |
| Время аренды | ≥ 24 часа (или бесконечно) |
| Диапазон адресов | Достаточный для всех устройств |
| Резервирование IP | Рекомендуется для ESP32 |
Короткое время аренды DHCP (например, 1 час) может вызывать периодические отключения ESP32. Увеличьте его минимум до 24 часов или настройте статическое резервирование.
Полный чек-лист настроек роутера для ESP32
✅ Диапазон: 2.4 ГГц (отдельный SSID)
✅ Шифрование: WPA2-PSK (AES)
✅ Режим: 802.11 b/g/n mixed
✅ Канал: 1, 6 или 11 (или авто)
✅ Ширина канала: 20 МГц
✅ DHCP: включён, аренда ≥ 24ч
✅ AP Isolation: отключена
✅ Фильтрация MAC: отключена (или ESP32 в белом списке)
✅ WPA3: отключён (или WPA2/WPA3 mixed)
✅ Band Steering: отключён (или раздельные SSID)
Скетч для диагностики совместимости
#include <WiFi.h>
void setup() {
Serial.begin(115200);
delay(1000);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("=== Сканирование Wi-Fi сетей ===\n");
int n = WiFi.scanNetworks();
if (n == 0) {
Serial.println("Сети не найдены!");
Serial.println("Проверьте:");
Serial.println(" - Есть ли 2.4 ГГц сети поблизости");
Serial.println(" - Работает ли антенна ESP32");
} else {
Serial.printf("Найдено %d сетей:\n\n", n);
for (int i = 0; i < n; i++) {
String encryption;
switch (WiFi.encryptionType(i)) {
case WIFI_AUTH_OPEN: encryption = "Открытая"; break;
case WIFI_AUTH_WEP: encryption = "WEP"; break;
case WIFI_AUTH_WPA_PSK: encryption = "WPA-PSK"; break;
case WIFI_AUTH_WPA2_PSK: encryption = "WPA2-PSK ✅"; break;
case WIFI_AUTH_WPA_WPA2_PSK: encryption = "WPA/WPA2"; break;
case WIFI_AUTH_WPA3_PSK: encryption = "WPA3 ❌"; break;
case WIFI_AUTH_WPA2_WPA3_PSK: encryption = "WPA2/WPA3 ⚠️"; break;
default: encryption = "Неизвестно"; break;
}
String signal;
int rssi = WiFi.RSSI(i);
if (rssi > -50) signal = "Отлично";
else if (rssi > -65) signal = "Хорошо";
else if (rssi > -75) signal = "Средне";
else signal = "Плохо";
Serial.printf("%d. %s\n", i + 1, WiFi.SSID(i).c_str());
Serial.printf(" RSSI: %d дБм (%s)\n", rssi, signal.c_str());
Serial.printf(" Канал: %d\n", WiFi.channel(i));
Serial.printf(" Шифрование: %s\n\n", encryption.c_str());
}
}
}
void loop() {
delay(10000);
}
Особенности разных типов роутеров
Mesh-системы (Google Wifi, Eero, TP-Link Deco и др.)
- Могут автоматически перемещать устройства между узлами и диапазонами
- Иногда вызывают отключения ESP32 при переключении
- Рекомендация: отключите Band Steering и Smart Connect
Роутеры провайдера
- Часто имеют ограниченные настройки
- Могут принудительно использовать WPA3 или объединённые диапазоны
- Рекомендация: подключите свой роутер в режиме точки доступа
Мобильные хотспоты
- Обычно работают хорошо с ESP32
- Могут иметь ограниченное количество клиентов (обычно 8–10)
- Полезны для тестирования, если основной роутер не работает
Заключение
Многие проблемы с подключением ESP32 к Wi-Fi решаются правильной настройкой роутера. Ключевые моменты:
- ESP32 работает только с 2.4 ГГц — убедитесь, что эта сеть доступна
- Используйте WPA2-PSK (не WPA3)
- Установите режим 802.11 b/g/n mixed
- Ширина канала 20 МГц улучшает стабильность
- Отключите изоляцию клиентов и фильтрацию MAC
Если вы подозреваете проблему с роутером, попробуйте подключить ESP32 к мобильной точке доступа — если это работает, проблема точно в настройках роутера.
Быстрая навигация
Дополнительные ресурсы
Всё ещё есть проблема с ESP32? Давайте решим её вместе.
Наш интерактивный мастер устранения неполадок проведёт вас через распространённые проблемы ESP32 и их решения шаг за шагом.
Регистрация не требуется. Начните решать проблемы прямо сейчас!