Режим AP недоступен, когда STA-соединение не установлено WIFI_AP_STA [esp8266]

Есть простенький код подключает ESP8266 к роутеру(режим STA) и одновременно поднимает свою wifi сеть (режим AP).

    #include <ESP8266WiFi.h>
 
#define WIFI_SSID "YOUR WIFI NETWORK SSID"
#define WIFI_PASS "YOUR WIFI PASSWORD"
 

#define AP_SSID "ESP8266"
#define AP_PASS "magicword"
 
void setup()
{

  Serial.begin(115200);
  Serial.println();
 
  WiFi.mode(WIFI_AP_STA);
  WiFi.softAP(AP_SSID, AP_PASS);
 
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  delay (15000);
  // Connecting to WiFi...
  Serial.print("Connecting to ");
  Serial.print(WIFI_SSID);

  Serial.println();
  Serial.println("Connected!");
  Serial.print("IP address for network ");
  Serial.print(WIFI_SSID);
  Serial.print(" : ");
  Serial.println(WiFi.localIP());
  Serial.print("IP address for network ");
  Serial.print(AP_SSID);
  Serial.print(" : ");
  Serial.print(WiFi.softAPIP());
 
}
 
void loop() {

 
}

Но если например задать неправильно ssid и пароль от роутера или он будет выключен , то и esp8266 не работает в режиме AP как надо. Т.е. если пинговать есп, то пинг очень плохой или вообще нет. Как это можно исправить? Просто пишу приложение где пользователь с помошью телефона подключается к есп и задает ssid и пароль от роутера. И если он эти параметры введет неверно, то и подключится к есп будет уже невозможно т.к. режим AP работает некорректно. Только перепрошивка поможет.


Ответы (0 шт):