Как подключиться к точке доступа в l oop () в ESP8266 - PullRequest
0 голосов
/ 07 февраля 2020

У меня проблема с WiFi.begin () в esp8266-12F.

Я собираюсь подключить ESP8266 с указанной c Точкой доступа в L oop (), не настроенной ().

Я хочу, если указанная точка доступа c доступна, ESP8266 подключится к ней. В любимом коде я должен был подключиться к точке доступа «ab c» и включить светодиод, а при отсутствии соединения отключить светодиод, но WiFi.begin («ab c», «123456789») ; он не работает.

Что я должен сделать для этого случая?

setup(){

}

loop(){

if (WiFi.status() != WL_CONNECTED){
    WiFi.disconnect();
    WiFi.mode(WIFI_STA);
    WiFi.begin("abc","123456789");
    digitalWrite(5,HIGH);
}else{
    digitalWrite(5,LOW);
}

}

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Нет смысла добавлять WiFi-disconnect(), если вы не подключены к какой-либо точке доступа в данный момент. Просто подключитесь к точке доступа в настройках и оставьте на loop() if (WiFi.status() != WL_CONNECTED). ESP снова подключается к точке доступа, когда она доступна.

setup(){
Serial.begin(115200);
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);
    WiFi.setAutoConnect(true);
    Serial.print("Connecting to ");
    Serial.print(ssid);
    int attempt = 0;
    while(WiFi.status() != WL_CONNECTED && attempt<150){  //Connecting to Wi-Fi
        delay(100);
        Serial.print(".");
        attempt++;
    }
    if(WiFi.status() == WL_CONNECTED){
        Serial.println("");
        Serial.println("WiFi Connected!");
        Serial.print("Local IP: ");
        Serial.println(WiFi.localIP());
    }
    if(attempt == 150){
        Serial.println("Failed to connect to WiFi...");
    }
}

loop(){

if(WiFi.status() != WL_CONNECTED){
    digitalWrite(5,HIGH);
}else{
    digitalWrite(5,LOW);
}

}

Но из-за хорошей оптимизации кода используйте флаг, чтобы не допускать, чтобы digitalWrite происходил сотни раз в секунду

0 голосов
/ 13 февраля 2020

Я бы использовал стандартный код для создания соединения Wi-Fi в setup () и просто установил светодиод HIGH / LOW в l oop () в соответствии с WiFi.status () ... повторное соединение должно обрабатываться автоматически .. .

...