• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Продолжение работы программы если нет подключения к сети

gregvel

New member
Добрый день коллеги. Прошу помощи в решении вопроса:
есть стандартный пример реализации настройки подключения через WiFiManager, при первом подключении - сервер - настройка подключения к домашней сети - работа ... Но если нет сети, или пользователь не может ввести настройки, или лег роутер - программа не переходит в loop и ждет настроек. Как сделать, чтоб выдержалась пауза (скажем 2 мин) и при любом раскладе продолжила выполнение основного цикла loop?
Приведу кусок программы, чтоб было понятно какие библиотеки использую:
[HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h>
[HASHTAG]#include[/HASHTAG] <DNSServer.h>
[HASHTAG]#include[/HASHTAG] <ESP8266WebServer.h>
[HASHTAG]#include[/HASHTAG] <WiFiManager.h>

WiFiClient client;

void setup() {

Serial.begin(115200);

WiFiManager wifiManager;
// wifiManager.resetSettings(); //reset saved settings
wifiManager.autoConnect("AutoConnectAP");
Serial.println("soedinenie ystanovleno");
}
void loop(void){
......................
}

Надеюсь понятно описал ситуацию, уверен, что такой вопрос интересует не только меня. Подскажите как быть?
 

Сергей_Ф

Moderator
Команда форума
@gregvel вариантов два: отказаться от WiFiManager и найти (написать самому) библиотеку с данным функционалом
Или поправить WiFiManager.
 

Сергей_Ф

Moderator
Команда форума
@gregvel засечь время старта uint16_t startTime = millis();
Там где ожидается соединение проверить while ( millis() - startTime < 2*60*1000UL ) { код соединения };
{ Тут ваш код или выход из процедуры }
 

gregvel

New member
@gregvel засечь время старта uint16_t startTime = millis();
Там где ожидается соединение проверить while ( millis() - startTime < 2*60*1000UL ) { код соединения };
{ Тут ваш код или выход из процедуры }
Спасибо за ответ, но видимо сам я такого не осилю. Это не просто взять готовый пример и подправить немного код :(
 

Сергей_Ф

Moderator
Команда форума
@gregvel если Вы хотите сделать что-то сложнее, чем мигание диодом, придется напрячься и немного поучиться. Это элементарные вещи. Тут даже думать не надо, если знаешь команды С++.
Гугл и Яндекс очень помогают, если есть желание.

P.S. кстати ошибся, нужно uint32_t для startTime.
 

gregvel

New member
@gregvel если Вы хотите сделать что-то сложнее, чем мигание диодом, придется напрячься и немного поучиться. Это элементарные вещи. Тут даже думать не надо, если знаешь команды С++.
Гугл и Яндекс очень помогают, если есть желание.

P.S. кстати ошибся, нужно uint32_t для startTime.
Я это понимаю, что мигание диодом это как hello world :) В моем случае, как я понял, необходимо вносить изменения в библиотеку WiFiManager.h А тут только с своим кодом понял что к чему.
 

gregvel

New member
Я это понимаю, что мигание диодом это как hello world :) В моем случае, как я понял, необходимо вносить изменения в библиотеку WiFiManager.h А тут только с своим кодом понял что к чему.
Просто думал, что у кого-то уже есть готовое решение без танцев с бубном :)
 

avs

New member
Сверху Снизу