Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Перевод WiFi в 'local' режим #10

Open
Glober777 opened this issue Sep 2, 2021 · 14 comments
Open

Перевод WiFi в 'local' режим #10

Glober777 opened this issue Sep 2, 2021 · 14 comments

Comments

@Glober777
Copy link

Добрый день!

У меня есть лампа состоящая из NodeMCU, сенсорной кнопки, и матрицы 16х16. Я обновил ее с первой версии (немного измененной) на V2 и столкнулся с тем, что не могу подключить ее к своему домашнему WiFi, действуя, по инструкции :) Весь остальной функционал, по-моему, работает. Например, лампой можно управлять через приложение (включать/выключать/менять эффекты) и используя сенсорную кнопку.

Наблюдая за лампой через Serial Monitor я вижу, что она получает команду при попытке задать пароль к WiFi через приложение и изменить режим, при этом, судя по логу перезагрузка не происходит (даже, если выбрать Сервис->Перезагрузить)

Добавив в разных местах дополнительных DEBUG и DEBUGLN я заметил следующее:

  • При перезагрузке лампы с зажатой кнопкой, отпускание никак не регистрируется вне зависимости от того, при каком значении count (внутри checkButton()) перестать ее держать. Может дело в самой кнопке?
  • Если принудительно заставить лампу загрузиться в локальный режим, например, заменив блок if\else в startWiFi() на setupLocal() появляется "WIFI not configured", потому что cfg.ssid и cfg.pass не заданы.

Единственный вариант заставить лампу подключиться к моей сети - принудительно забить пароль в прошивку (в структуре Config).

Есть ли какие-нибудь мысли по поводу того, как это исправить, чтобы не держать пароль в прошивке?

Спасибо!

@AlexGyver
Copy link
Owner

AlexGyver commented Sep 2, 2021

Привет, прошивал как generic esp? Кнопка подключена как на схеме?

@AlexGyver
Copy link
Owner

Вообще выглядит крайне странно! Получается лампа управляется с приложения, но не получает логин пароль и не отрабатывает команду перезагрузки.
В то же время изменение config в коде не должно влиять на работу, так как сам конфиг хранится в eeprom памяти.
Очень странно

@Glober777
Copy link
Author

Привет, прошивал как generic esp? Кнопка подключена как на схеме?

Подтверждаю - прошивал, как Generic ESP 8266 Module и кнопка подключена, как на схеме (I/O на D2 и питание - соответсвенно). Кнопка, в общем, работает - я могу с ее помощью включать, выключать, запускать процесс проверки на зажатие (checkButton()). Стоит, правда, отметить что иногда бывает так, что при быстром многократном нажатии, прошивка считает на одно или несколько нажатий меньше (судя по логам в консоли). Возможно, это из-за толщины корпуса и клея.

@Glober777
Copy link
Author

Вообще выглядит крайне странно! Получается лампа управляется с приложения, но не получает логин пароль и не отрабатывает команду перезагрузки.
В то же время изменение config в коде не должно влиять на работу, так как сам конфиг хранится в eeprom памяти.
Очень странно

Мне кажется, что в моем случае в eeprom ничего нового, при изменеии конфигурации, не записывается

@Glober777
Copy link
Author

Привет, прошивал как generic esp? Кнопка подключена как на схеме?

Подтверждаю - прошивал, как Generic ESP 8266 Module и кнопка подключена, как на схеме (I/O на D2 и питание - соответсвенно). Кнопка, в общем, работает - я могу с ее помощью включать, выключать, запускать процесс проверки на зажатие (checkButton()). Стоит, правда, отметить что иногда бывает так, что при быстром многократном нажатии, прошивка считает на одно или несколько нажатий меньше (судя по логам в консоли). Возможно, это из-за толщины корпуса и клея.

Кстати, прошивал, через Arduino IDE

@AlexGyver
Copy link
Owner

Единственный вариант заставить лампу подключиться к моей сети - принудительно забить пароль в прошивку (в структуре Config).

Я об этом, это ничего не изменит по факту

@Glober777
Copy link
Author

Единственный вариант заставить лампу подключиться к моей сети - принудительно забить пароль в прошивку (в структуре Config).

Я об этом, это ничего не изменит по факту

В моем случае, как только я изменил значения по умолчанию в структуре Config (WiFimode, ssid, pass) лампа сразу-же подлючилась к Wifi как только все залилось.

Кстати, я попробовал в таком варианте забить новые настройки для Wifi через приложение, но после перезагрузки (по кнопке reset на плате) лампа загрузилась со старыми SSID и паролем.

@AlexGyver
Copy link
Owner

Значения в config имеют силу только при самой первой прошивке. После этого данные хранятся в памяти и повлиять на них через эту структуру уже нельзя

@Mitsmaster
Copy link

При смене режима сети при помощи кнопки на лампе слетают настройки, которые были изменены через приложение: WiFI (логин и пароль), настройки конструкции ленты, а также выбранные и настроенные мной режимы.
Т.е. я при помощи приложения настраиваю лампу, перезагружаю ее в режиме Iocal. Все работает, но когда я хочу изменить режим на AP, используя кнопку управления на лампе (длинное зажатие при запуске, когда загорается синий светодиод) - настройки слетают. Все было бы ничего, но если нужно изменить конфигурацию, то нужно переводить лампу в режим AP, и тогда приходится многие настройки перенастраивать заново, а если не переводить лампу в режим local, то не работают часы, поскольку лампа не подключена к интернету.
Кстати из режима AP по кнопке невозможно войти в режим local. Только через приложение.

@Mitsmaster
Copy link

Добрый день!

У меня есть лампа состоящая из NodeMCU, сенсорной кнопки, и матрицы 16х16. Я обновил ее с первой версии (немного измененной) на V2 и столкнулся с тем, что не могу подключить ее к своему домашнему WiFi, действуя, по инструкции :) Весь остальной функционал, по-моему, работает. Например, лампой можно управлять через приложение (включать/выключать/менять эффекты) и используя сенсорную кнопку.

Наблюдая за лампой через Serial Monitor я вижу, что она получает команду при попытке задать пароль к WiFi через приложение и изменить режим, при этом, судя по логу перезагрузка не происходит (даже, если выбрать Сервис->Перезагрузить)

Добавив в разных местах дополнительных DEBUG и DEBUGLN я заметил следующее:

* При перезагрузке лампы с зажатой кнопкой, отпускание никак не регистрируется вне зависимости от того, при каком значении `count` (внутри `checkButton()`) перестать ее держать. Может дело в самой кнопке?

* Если принудительно заставить лампу загрузиться в локальный режим, например, заменив блок if\else в `startWiFi()` на setupLocal() появляется "WIFI not configured", потому что `cfg.ssid` и `cfg.pass` не заданы.

Единственный вариант заставить лампу подключиться к моей сети - принудительно забить пароль в прошивку (в структуре Config).

Есть ли какие-нибудь мысли по поводу того, как это исправить, чтобы не держать пароль в прошивке?

Спасибо!

У меня по кнопке тоже не переключается режим. Переключить можно из приложения.

@Leencore
Copy link

Leencore commented Apr 5, 2023

Столкнулся с похожей проблемой. После прошивки всё работает, настройки сохраняются, но после перезагрузки/выключения в нулевой ячейке памяти снова ноль вместо 69 и следующий запуск проходит как первый.

@ibalaban
Copy link

ibalaban commented Jan 19, 2024

Подскажите люди добрые как правильно вписать в коде ssid и pass что бы подключилась моей точке Wi-Fi?

char ssid [32]; Правильно я понимаю ?

@GyverLibs
Copy link

@ibalaban это делается через приложение

@ibalaban
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants