ARDUINO Как сделать доступными из loop параметры, используемые при организации WEB и описанные в index.h

VAF

✩✩✩✩✩✩✩
15 Июл 2023
49
1
Москва
Нашел очень интересный для Ардуино скетч https://esp32io.com/tutorials/esp32-web-plotter, создающий WebPltter, аналогичный стандартному SerialPlotter'у. Это позволяет, используя WiFi, наблюдать изменения ряда параметров по времени. Пытаясь исправить основную некрасивость SerialPlotter (параметры оси y), унаследованному от Serial, обнаружил невозможность изменять параметры Plotter, задаваемые в файле index.h, использующемся на стадии Setup. Не знаю, как получить необходимый доступ, иначе как переписывая скетч, оказавшись от использования request. Может быть кто-то поможет найти более простой способ.
 

Сотнег

★★★★★★★
15 Янв 2020
4,357
1,493
@VAF,
какие параметры вы хотели менять в loop()?
В index.h нет никаких параметров.
Там одна единственная константа HTML_CONTENT с кодом веб-странички целиком.

Если содержимое странички хотите менять в loop(),
тогда, наверное, нужно пересобирать страничку по кускам, а не целиком
C++:
String html = String(HTML_CONTENT_начало) + String(мой_параметр) + String(HTML_CONTENT_окончание);
а затем снова отправлять (куда-то):
C++:
request->send(200, "text/html", html);
 

VAF

✩✩✩✩✩✩✩
15 Июл 2023
49
1
Москва
Правильно ли я понял, что в результате все описание ВЕБа переместиться из Сетапа в Лууп. Текст индекса разбивается на части, между которыми вставляются новые куски. Попробую.
 

Сотнег

★★★★★★★
15 Янв 2020
4,357
1,493
@VAF,
непонятно, какую вы цель преследуете, поэтому не факт, что ситуационные правки в исходном проекте вам помогут.
И как там с расходом памяти при сложении таких больших String - понятия не имею.

А вообще обычно в проектах с динамичными веб-страничками в проект добавляют типа файловую систему, и все изменяющиеся части выносят в .json-файлики.
 

VAF

✩✩✩✩✩✩✩
15 Июл 2023
49
1
Москва
У меня не получилось ни разделить пакет на части для работы во вставки, ни использовать глобальные переменные. Большую часть желаемого я осуществил из Лууп. Отставив проблему изображения оси Х на потом.
Проблем хватило и при таком подходе.