ESP8266 Режим точки доступа - прерывистый при подключении

Я использую ESP8266 в режиме точки доступа, чтобы отправить ему некоторые данные (учетные данные Wi-Fi) из мобильного приложения через HTTP. Код инициализации точки доступа очень прост:

IPAddress apIP(10, 10, 10, 1);                      
IPAddress subnet(255,255,255,0);                   
WiFi.softAPConfig(apIP, apIP, subnet);
WiFi.softAP(ACCESS_POINT_NAME);     // No password requird

Я обнаружил, что иногда мобильный телефон легко подключается к сети ESP, а в других случаях возникает серьезная проблема (отказывается от подключения или для подключения требуется более 3 минут).

Вопросы:

  1. Существуют ли проблемы с этим кодом, которые могут сделать подключение к ESP клиентским темпераментом (иногда хорошо, а иногда нет)? Как я должен изменить канал Wi-Fi с 1? Статическая IP / маска подсети создает проблемы?
  2. Вероятно, проблема связана с аппаратным обеспечением - то есть иногда клиент получает хороший сигнал Wi-Fi от ESP, иногда нет?

1 ответ

Если кто-то еще сталкивается с этим, я обнаружил значительное улучшение производительности от выполнения следующих действий:

  • Удаление DNS
  • Сброс настроек WiFi
  • Явная установка модуля в режим AP - на это ссылается этот комментарий к проблеме Github. Это, кажется, основной драйвер улучшения.

Итак, код сейчас:

// Set up WiFi mode [Improve AP stability - no dual STA mode]
ESP.eraseConfig();
WiFi.mode(WIFI_AP);

IPAddress apIP(10, 10, 10, 1);                      
IPAddress subnet(255,255,255,0);              
WiFi.softAPConfig(apIP, apIP, subnet);
WiFi.softAP(ACCESS_POINT_NAME);     // No password
WiFi.printDiag(Serial);

Причина заключается в том, что, находясь в режиме STA, ESP может направлять переход (в зависимости от среды), и AP получает его. Таким образом, любой клиент, подключенный до перехода на канал, должен будет повторно подключиться.

Другие вопросы по тегам