GyverPortal

SoftFelix

★✩✩✩✩✩✩
16 Фев 2020
72
25
приложи код. Быстрее ответим.
Пока сделал как в примере к GyverPortal.

В конце setup'а запускаю log
C++:
ui.log.start(30);  // передали размер буфера log'a
Кстати, в чём этот буфер измеряется (в байтах) и какое его назначение???

И пока писал этот ответ, то понял, где у меня косяк: открывал лог в самом начале конструктора главной страницы, из-за этого лог и показывался везде и сверху.
C++:
void build() {
  GP.BUILD_BEGIN(400);  // начать построение, ширина колонки 350px (по умолчанию)
  GP.setTimeout(3000);  // таймаут ожидания ответа сервера для текущей страницы (вызывать в конструкторе сразу после BUILD BEGIN), мс [int] (умолч. 1000)
  GP.THEME(GP_DARK);
  //GP.THEME(GP_LIGHT);

  // #if (LOG_ENABLE == 1)
  // GP.AREA_LOG(5);  // 5 строк
  // GP.AREA_LOG(строк, период, ширина); // + ширина строкой "100px", "25%" и так далее [строка]
  // Прототип: GP.AREA_LOG(5, 1000, "");
  // #endif

  GP.PAGE_TITLE("WiFi Weather Clock");  // переименовать окно в браузере [строка]
  GP.TITLE("WiFi Weather Clock");       // заголовок
  GP.ONLINE_CHECK();                    // невидимый компонент. Проверка связи с esp, в случае отсутствия связи в названии вкладки появится символ 🚫, GP.ONLINE_CHECK(период); // + период проверки в мс [int] (умолч. 5000)

  GP.NAV_TABS_LINKS("/,/graphics,/settings,/sys_info,/ota_update,/log", "Главная,Графики,Настройки,Информация,Обновление,Лог");  // блок с кнопками-ссылками
Там я его убрал (закомментировал) и перенёс в блок действия на открытие вкладки "Лог".
C++:
   //---------------------- LOG START -----------------------------
  } else if (ui.uri("/log")) {  // LOG
#if (LOG_ENABLE == 1)
    GP.AREA_LOG(20, 1000, "350px");  // 20 строк, обновление раз в 1 сек., ширина окна лога 350 пикс.
// GP.AREA_LOG(строк, период, ширина); // + ширина строкой "100px", "25%" и так далее [строка]
// Прототип: GP.AREA_LOG(5, 1000, "");
#endif
      //---------------------- LOG END -----------------------------
Всё заработало.
Screenshot_2025-09-03-09-21-35-653_com.android.chrome.jpg

Когда нужно в основном коде вместе с логом для Serial.print, отсылаю мессагу в лог портала.
C++:
ui.log.println("Save default settings to file OK!");
Но есть косяк. Если я закрыл вкладку "Лог" и открыл её потом снова, то все мессаги в логе пропадают и он оказывается пустым. Это понятно, т.к.
при нажатии вкладки "Лог" заново запускается инициализация окна лога.
C++:
GP.AREA_LOG(20, 1000, "350px");  // 5 строк
А мне нужно, что бы лог наполнялся событиями в теневом режиме и при открытии вкладки "Лог" отображались все накопленные события в логе. Такое возможно сделать???
 
Изменено:

Doctor Death

✩✩✩✩✩✩✩
16 Мар 2025
19
0
Коллеги подскажите, хочу интегрировать в секч GyverPortal OTAupdate, но никак не могу понять как настроить action
 
Изменено:

gidiara666

★✩✩✩✩✩✩
5 Май 2023
78
19
@Doctor Death,
Никак. Все работает "из коробки". Раздел OTA в меню. Единственное, где Вы могли облажаться: неверно выбрать разметку памяти. Но, судя по вопросу, это пока не актуально.
 
Изменено:

Doctor Death

✩✩✩✩✩✩✩
16 Мар 2025
19
0
@Doctor Death,
Никак. Все работает "из коробки". Раздел OTA в меню.
у меня по примеру, выкидывает на Соединение было сброшено

1758713950410.png

вставлял так:
C++:
#include <LittleFS.h>
#include <GyverPortal.h>


    portal.attachBuild(build);
    portal.attach(action);
    portal.start();
    portal.enableOTA();
    portal.log.start(30);
    portal.enableAuth(login1, pass3);



GP_MAKE_BLOCK_TAB("Update Firmware", GP.LABEL("");
GP_MAKE_BOX(GP.LABEL("Select bin file:"); GP.OTA_FIRMWARE();););
Кстати на чистом сече из примера , такая же петрушка
 
Изменено:

gidiara666

★✩✩✩✩✩✩
5 Май 2023
78
19
Ой, извините, это я идиот... Имел в виду gyver hub, обсуждаемая ерунда уже давно заброшена в силу убогости.
 

Doctor Death

✩✩✩✩✩✩✩
16 Мар 2025
19
0
@Sergo_ST, Попробовал , тажа петрушка , после выбора файла "Соединение было сброшено"
 

Bruzzer

★★★★✩✩✩
23 Май 2020
695
215
@Doctor Death,
То, что соединение было сброшено, это нормально, если прошивка после нового подключения обновленная. Если прошивка не меняется, тогда не нормально.
 

Doctor Death

✩✩✩✩✩✩✩
16 Мар 2025
19
0
Ой, извините, это я идиот... Имел в виду gyver hub, обсуждаемая ерунда уже давно заброшена в силу убогости.
так у GyverHub еще даже релиза нет , только betta. К тому же она же работает только через APP. А web морды у нее ведь нет.
 

Bruzzer

★★★★✩✩✩
23 Май 2020
695
215
@Doctor Death,
У Hub есть вариант со встроенной веб мордой. Но если вам хватает Portal, то переходить на HUB смысла нет. Слова про убогость Portal - это частное мнение конкретного человека.
 
  • Лойс +1
Реакции: SoftFelix и Sergo_ST