vvip-68 / GyverPanelWiFi

Универсальная прошивка для широкоформатных матриц / гирлянд на балкон или стену / лампы с эффектами / часов с будильником-рассвет. Управление по WiFi в локальной сети или через MQTT-брокер.
286 stars 116 forks source link

Зависание ардуино при плохой связи с интернетом. #254

Closed CrazyGhostRider closed 1 year ago

CrazyGhostRider commented 1 year ago

Здравствуйте Прошивка v.1.13.2022.1204 Платы Ардуино: ESP 32

Собрал себе вторую гирлянду и повесил на балкон. Но там связь с Wi-Fi плохая (-68 dBm). Через репитер Ардуино подключаться совсем не захотела. Но выявил проблему: Если Ардуино подключилось к интернету, но потом потом интернет пропал (с Wi-Fi соединено), то ардуино зависает. Точнее — отображает эффекты со скоростью 1-5 FPS. Такое же зависание произошло и на первой гирлянде (с идеальным сигналом Wi-Fi), когда пропал интернет.

П.с. Пожалуйста, вынесите настройку локального порта 2390 в файл a_def_pass. (При статическом ip можно открыть порт в роутере. И тогда управлять гирляндой со смартфона через мобильный интернет)

vvip-68 commented 1 year ago

Ничего не понял. LocalPort (который 2390) - задается в переменной, которая настраивается из приложения WiFiSetup Если вам (конкретно вам) требуется задавать ее как-то иначе - ну, меняйте код как вам нужно, я не против.

Для устранения зависаний при пропадании интернета - отключите в приложении все features которые требуют подключения к интернету - синхронизация / получение времени из интернета, получении погоды из интернета, работу с MQTT. Зависаний не будет.

vvip-68 commented 1 year ago

Наврал, да. со стороны скетча оно фиксированное и не настраивается внешними приложениями. Забыл. Но все равно не вижу связи с выносом куда-то в отдельные файлы типа a_def_pass. В этом файле хранится чувствительная информация - типа логинов / паролей / ключей. При чем тут (то есть там) порт? И как это связано с зависанием интернета? Интернет вообще не через этот порт работает.

CrazyGhostRider commented 1 year ago

С зависанием порт никак не связан.

Про порт я написал, чтобы не создавать новую тему. И так было бы удобно настраивать этот порт в файле a_def_pass (или a_def_devc). Да, мне не сложно изменить порт в файле a_def_soft перед прошивкой. Но при выходе новой версии прошивки мне нужно прописать нужный мне порт. А так просто кинул бы a_def_pass и a_def_devc без изменения кода прошивки.

vvip-68 commented 1 year ago

Ну, ок. Можно и вынести. В следующей версии. Вопрос только - а зачем? Зачем менять настройку порта по умолчанию?

CrazyGhostRider commented 1 year ago

У меня две гирлянды. И для каждой я задал свой ip и порт. И эти порты открыл в роутере. Теперь я могу выйти на улицу и через мобильный интернет напрямую подключиться к нужной мне гирлянде. (Не используя MQTT сервер)

vvip-68 commented 1 year ago

Логично, с учетом статического адреса и проброски портов...