• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужен совет по WiFiManager

avld

New member
Доброго дня!

Прошу извинить за форму , но пока не разобрался как надо вставлять в текст разные ссылки...
Итак.
Есть ESP-01, на которой был реализован простенький WebServer. В скетче параметры SSID и пароль сети
вводились константами. Решил попробовать, как это менять учетные данные сети с помощью
WiFiManaer и для пробы залил пример скетча AutoConnectWithTimeout из библиотеки WiFiManager:

//==============================
#include <WiFiManager.h> // https://github.com/tzapu/WiFiManager

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);

//WiFiManager
//Local intialization. Once its business is done, there is no need to keep it around

WiFiManager wifiManager;

//reset settings - for testing

wifiManager.resetSettings();

//sets timeout until configuration portal gets turned off
//useful to make it all retry or go to sleep
//in seconds

wifiManager.setConfigPortalTimeout(180);

//fetches ssid and pass and tries to connect
//if it does not connect it starts an access point with the specified name
//here "AutoConnectAP"
//and goes into a blocking loop awaiting configuration

if(!wifiManager.autoConnect()) {
Serial.println("failed to connect and hit timeout");
delay(3000);
//reset and try again, or maybe put it to deep sleep
ESP.restart();
delay(5000);
}

//if you get here you have connected to the WiFi

Serial.println("connected...yeey :)");

}
void loop () {}
// ============================

Залил и получил:

*wm:SETTINGS ERASED
*wm:AutoConnect
*wm:No wifi saved, skipping
*wm:AutoConnect: FAILED for 3 ms
*wm:StartAP with SSID: ESP_ED7F92
*wm:AP IP address: 192.168.4.1
*wm:Starting Web Portal


Через комп нахожу сеть ESP_ED7F92 и пытаюсь к ней подключиться и получаю:
// ===============================
Exception (3):
epc1=0x4000bf64 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40248da3 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffff910 end: 3fffffc0 offset: 0190
3ffffaa0: 00000001 3fff0904 40248da3 4020e3c7
3ffffab0: 40248cb3 3ffffb00 3ffffd60 40201968
3ffffac0: 40248900 3ffffe60 80fffb3c 4020e92e
//====================================
и еще целую кучу таких же строк.

С телефона при попытке подключения к этой сети на долю секунды появляется что-то
с SSID сети и сразу пропадает. подключения нет.
Подобное делал на трех ESP-01 и Node MCU с аналогичным результатом.
Вопросы вот какие:
1. Должен ли этот скетч дать возможность ввести через портал конфигурации
новые учетные данные сети, к которой потом должна подключаться
эта ESP-01 или скетч не годится для этого?

2. В чем может быть проблема?
 

CodeNameHawk

Moderator
Команда форума

avld

New member
Пример в Ардуино > Примеры > WifiManager > Old_Examples и там

А basic делал и с тем же результатом: создается AP, а при попытке подключения происходит перезагрузка ESP
 

avld

New member
При первых попытках запустить портал скетч создавал AP с именем SSID_1, допустим. После этого несколько раз перезаливал другие скетчи с другими именами точки доступа, каждый раз с resetSettings(), а в списке сетей на компе время от времени появляется сеть SSID_1, хотя и сеть с SSID скетча тоже создается.
 

CodeNameHawk

Moderator
Команда форума
Версия библиотеки актуальная?
if(!wifiManager.autoConnect()) {
Почему у вас без имени AP сети?
И попробуйте задать пароль длиннее 8 символов.

а в списке сетей на компе время от времени появляется сеть SSID_1, хотя и сеть с SSID скетча тоже создается.
есп запоминает сеть, к которой удалось подключиться.
 

avld

New member
есп запоминает сеть, к которой удалось подключиться
ESP к этой сети не подключалась, она её создала.
Имеется ввиду, что SSID_1 это имя сети АР , что создала ESP для входа в портал конфигурации ( если я правильно понимаю), а не имя сети роутера, куда подключается ESP. Если при resetSettings() стираются ВСЕ учетные данные, то в памяти ESP не должно остаться имя сети АР ESP, которое когда-то использовалось. Нет?
А сеть с таким именем иногда появляется в списке сетей на компе.
 

avld

New member
Почему не попробовать пример Basic, или хотя бы как сделано в нем.
Пробовал... Тут совместил текст Basic.ino , свои комментарии и результат:

void setup() {

Serial.begin(115200);
WiFiManager wm;
// reset settings - wipe stored credentials for testing
wm.resetSettings();

// Automatically connect using saved credentials,
// if connection fails, it starts an access point with the specified name ( "AutoConnectAP"),
// if empty will auto generate SSID, if password is blank it will be anonymous AP (wm.autoConnect())
// then goes into a blocking loop awaiting configuration and will return success result

bool res;
res = wm.autoConnect("AutoConnectAP","password"); // password protected ap
// Вот тут создается AP с именем AutoConnectAP и паролем password
// и стартует Web Portal:

//*wm:AutoConnect
//*wm:No wifi saved, skipping
//*wm:AutoConnect: FAILED for 3 ms
//*wm:StartAP with SSID: AutoConnectAP
//*wm:AP IP address: 192.168.4.1
//*wm:Starting Web Portal


// Теперь, если я правильно понимаю, надо с телефона или компа подключиться к этой сети и в браузере ввести адрес 192.168.4.1
// должена появится страница сервера для ввода учетных данных сети, к которой ESP должно потом подключиться. Эти же данные запишутся в память
// ESP и повторном запуске подключение будет к этой сети.

// В моем случае, сообщение о запуске Web Portala есть, но подключится к созданной АР нельзя, происходит перезапуск ESP.


// Сюда программма уже не приходит.

if(!res) {
Serial.println("Failed to connect");
// ESP.restart();
}
else {
//if you get here you have connected to the WiFi
Serial.println("connected...yeey :)");
}

}

void loop() {
// put your main code here, to run repeatedly:
}
 

CodeNameHawk

Moderator
Команда форума
но подключится к созданной АР нельзя, происходит перезапуск ESP.
Сколько остается памяти, что пишет компилятор.

На есп12 с 4МБ работает. После подключения к ап, андройд планшет сам открыл окно с настройками.
У меня есп8266 версии плат 2.7.4 wifimanager самый новый.
 
Последнее редактирование:

avld

New member
Сколько остается памяти, что пишет компилятор.
скетч использует 35% на ESP01 и 32% на Node MCU.
версии плат 2.7.4 WiFiManager от 1декабря2025

На есп12 с 4МБ работает. После подключения к ап
Вы пишете, после подключения к АР, так я и не могу подключиться, происходит что-то с модулем и перезапуск.
Когда ( один два раза за всё время попыток) перезапуск ESP чуть задерживался, то мелькала часть странички портала и всё.
Вы просто залили Basic.ino без изменений?
Я перебрал несколько модулей ESP-01, потом взял новый - всё одно и то же.
 
Последнее редактирование модератором:

CodeNameHawk

Moderator
Команда форума
Попробуйте в ардуино иде, стереть флеш и память. All flash contents
Вы просто залили Basic.ino без изменений?
Без изменений.
В настройках у меня выбрано v2 Higher Bandwitdh
1764925908874.png
С чего подключаетесь, с телефона попробовать?
 

avld

New member
Пробовал и с компа и с телефона, результат одинаков.
У Вас версия плат 2.7.4 и всё работает, у меня тоже 2.7.4 и не работает. Загрузил 3.1.2 и всё стало как и должно быть.
Правда, не успел попробовать v2 Higher Bandwidth....
Спасибо за помощь!
 
Сверху Снизу