Вопрос по библиотеке WiFiManager (wm.setConfigPortalBlocking(false) + большая задержка = не работает)

Пытаюсь использовать библиотеку в своём проекте. Нужна реализация с wm.setConfigPortalBlocking(false), но при большой задержке в цикле портал либо не работает вообще, либо сильно зависает и веб-интерфейс не загружается. Что можно сделать?

Например:

#include <WiFiManager.h>
WiFiManager wm;

void setup() {
    WiFi.mode(WIFI_STA); 
    Serial.begin(9600);
    wm.setConfigPortalBlocking(false);
    if(wm.autoConnect("TEST-AP")){
        Serial.println("connected...yeey :)");
    }
    else {
        Serial.println("Configportal running");
    }
}

void loop() {
    wm.process();
    Serial.print(".");
    delay(60000);
}

, 👍-1

Обсуждение

изучите пример скетча blinkWithoutDelay в среде Arduino IDE, @jsotola


1 ответ


0

Используйте меньшую задержку.

WiFiManager запускается только при вызове wm.process(). Использование большой задержки не позволяет ему выполнять никакую обработку в течение этого времени, как вы видели. Вот как это работает. Если вы хотите, чтобы всё работало наилучшим образом, не используйте задержку вообще.

,

нет способа заставить работать портал с другой библиотекой или кодом с большой задержкой? Я прав?, @MolekulaTepla

Зачем вам нужна такая большая задержка? Почти наверняка нет., @romkey

потому что в цикле я отправляю данные с датчиков в скрипт Google, и они мне нужны только один раз в 60 секунд, @MolekulaTepla

Итак, вы пишете цикл так, чтобы данные отправлялись только один раз в 60 секунд. В это время вы можете заниматься другими делами, вам не обязательно ничего не делать в течение 60 секунд., @romkey