Шаблоны Оформления для Веб-Интерфейса

Делимся шаблонами для веб интерфейса.

Аватара пользователя
Sio
Сержант
Сообщения: 108
Зарегистрирован: 28.06.2021{, 19:26}
Репутация: 0
Откуда: из дома, к вам
Имя: Александр

Шаблоны Оформления для Веб-Интерфейса

#161

Сообщение Sio » 26.11.2022{, 23:24}

Привет Артём, приветствую вас коллеги.
Хотел выразить признательность Артёму за замечательные графики которые были выложены на форуме.
По теме графиков есть вопрос, можно ли показания графиков растянуть на 24 часа или даже большое?
В настройках "частота запросов...." стоит ( 99)
Ещё пробовал увеличить количество точек графика, не помогло...
99.jpg
Я на неделе протестировал блок, при этом у меня это было всего пару часов 3-4 часа.
Утром встаю смотрю температуру за последние 3-4 часа, интересно было бы посмотреть а ночью сколько градусов было? :)
Может есть возможность увеличить частоту запросов до 15 минут?

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Шаблоны Оформления для Веб-Интерфейса

#162

Сообщение artemka19 » 27.11.2022{, 12:29}

Sio писал(а):
26.11.2022{, 23:24}
можно ли показания графиков растянуть на 24 часа или даже большое?
недопонял вопроса:
-можно указать частоту записи в графики: например если писать с частотой один раз в час, то при установке 1000 точек мы получим график длиной в 40 дней
-чтоб отобразить все эти сорок дней на графике - нужно выбрать на самом графике (слева-вверху) значение "ВСЕ" (это там где 10мин, 6часов, 24часа и т.д.)

Отправлено спустя 3 минуты 5 секунд:
Sio писал(а):
26.11.2022{, 23:24}
В настройках "частота запросов...." стоит ( 99)
это настройка частоты получения значений в режиме "REALTIME",
т.е. после того, как откроем страницу с графиками в браузере, мы можем получать свежие данные от еспшки в реальном времени,НЕЗАВИСИМО от того какая частота записи данных установлена в самом проекте.

*но это пока открыта страница с графиками в браузере

Отправлено спустя 1 минуту 11 секунд:
Sio писал(а):
26.11.2022{, 23:24}
Может есть возможность увеличить частоту запросов до 15 минут?
любое период времени можно выбрать.

vitalik9
Рядовой
Сообщения: 40
Зарегистрирован: 22.08.2021{, 12:08}
Репутация: 0
Имя: Виталий

Шаблоны Оформления для Веб-Интерфейса

#163

Сообщение vitalik9 » 20.12.2022{, 22:33}

DrScorpion86 писал(а):
14.02.2022{, 09:09}
artemka19, cmept-27,
А я познал прелесть "структуры" :)
СпойлерПоказать
Без имени-2.jpg
artemka19, чуть сложнее, чем у вас, но уже не нужно разбирать строчку.
СпойлерПоказать
time__0004_Слой 1.jpgtime__0003_Слой 2.jpgtime__0002_Слой 3.jpgtime__0001_Слой 4.jpgtime__0000_Слой 5.jpg
HTML

Код: Выделить всё

<input type="datetime-local" id="dt">
JS

Код: Выделить всё

let daTi = document.querySelector('#dt');
daTi.addEventListener('change', dataTime);
function dataTime(){
    const v = {};
    let x = new Date(daTi.value);
    v.H = x.getHours().toString();
    v.M = x.getMinutes().toString();
    v.y = x.getFullYear().toString();
    v.m = (x.getMonth() + 1).toString();
    v.d = x.getDate().toString();
    sUH("dt",v);
    console.log(v);
};
///////////Обновил. Добавил, что бы при изменение в контроллере данные передавались в вэб.////////
Test_7_4_4_получение датыВремя.flp
Как применить данный блок с часами реального времени, как подключить его к часам реального времени? если можно пример

Аватара пользователя
Sio
Сержант
Сообщения: 108
Зарегистрирован: 28.06.2021{, 19:26}
Репутация: 0
Откуда: из дома, к вам
Имя: Александр

Шаблоны Оформления для Веб-Интерфейса

#164

Сообщение Sio » 02.02.2023{, 23:06}

Приветствую дорогие друзья!
по обучающему видео Сергея Глушенко "Создание собственных виджетов в вэб интерфейсе в программе FLProg начиная с версии 7.4.4".
Сделал ползунок на ESP для изменения яркости лед. На одном цвете все работает.
Потом решил подключить RGB лед и сделать смену цвета на 3-х ползунках.
Но так и не понял как сделать второй и третий слайдер для других цветов RGB лед.
Не могу понять, что не так?
Пожалуйста, посмотрите...
Вложения
001_Slider.flp
(159.66 КБ) 46 скачиваний

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Шаблоны Оформления для Веб-Интерфейса

#165

Сообщение artemka19 » 03.02.2023{, 01:21}

id должны различаться

Аватара пользователя
Sio
Сержант
Сообщения: 108
Зарегистрирован: 28.06.2021{, 19:26}
Репутация: 0
Откуда: из дома, к вам
Имя: Александр

Шаблоны Оформления для Веб-Интерфейса

#166

Сообщение Sio » 03.02.2023{, 19:16}

Артем, я все понял.
Всем кого заинтересует, нашёл решение на:
https://stackoverflow.com/questions/475 ... s-possible
Удачи всем, Артём тебе отдельный "РАХМЕТ" спасибо

artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 216
Откуда: Питер
Имя: Артем

Шаблоны Оформления для Веб-Интерфейса

#167

Сообщение artemka19 » 16.02.2023{, 00:18}

Стрелочные индикаторы в штатном вебе

1-обзор.png
2-обзор.png
проект-схема.png
настройки в редакторе веб-интерфейса.png
настройки внешности индикатора.png

тут отмечено что нужно раскомментить для работы в веб-отладчике (в конце кода удалить такой же символ " */ ")
И не забываем закомментить обратно или удалить вообще этот код отладки, при залитии в еспшку
закомментить это здесь и в конце для отладки.png





решил забрать эти индикаторы из темы viewtopic.php?f=202&t=8427 и интегрировать их в штатный веб.

в целом достаточно легко добавить нужное их количество, расположение, размер и другие свойства внешности индикаторов.

К тому же имеется возможность предварительно настраивать оформление этих индикторов в отладчике штатного веб-интерфейса: достаточно раскомментировать код (см.описание)

Код js скрипта вынес в отдельный блок, который нужно разместить в проекте флпрог (сам код кэшируется в браузере, т.е. только один раз страничка будет открывается дольше чем обычно, но все последующие открытия будут очень быстрыми)


Файл проекта:
блок_ограничен_администрацией
Последний раз редактировалось artemka19 24.03.2023{, 14:41}, всего редактировалось 1 раз.

malina
Рядовой
Сообщения: 8
Зарегистрирован: 05.05.2021{, 22:30}
Репутация: 2
Имя: вячеслав

Шаблоны Оформления для Веб-Интерфейса

#168

Сообщение malina » 16.02.2023{, 01:03}

Конфигурация стрелочных индикаторов:
СпойлерПоказать
Параметры конфигурации предоставляются конструктору Gauge в виде объекта, который может содержать любой из параметров, описанных ниже. Единственный параметр является обязательным. Таким образом, чтобы создать датчик на странице, достаточно инициализировать его следующим образом:

var gauge = new Gauge({ renderTo: 'canvas-id' }); gauge.draw();
renderTo — {String|HTMLCanvasElement} — идентификатор элемента холста HTML или сам элемент. Это идентифицирует элемент холста, на который будет нарисован датчик. Этот параметр является обязательным для указания.
width - {Integer} - ширина холста в пикселях
height - {Integer} - высота холста в пикселях
title - {String} - заголовок, который должен быть нарисован на датчике. По умолчанию false (заголовок не отображается)
minValue - {Число} - минимальное значение, которое используется на индикаторной полосе. По умолчанию 0
maxValue - {Число} - максимальное значение, которое используется на полосе индикатора. По умолчанию 100
majorTicks - {Array} - массив основных делений. По умолчанию ['0', '20', '60', '80', '100']
minorTicks — {Integer} — количество второстепенных тиков, которые нужно отрисовать между основными тиками на индикаторной полосе. По умолчанию 10.
strokeTicks — {Boolean} — флаг, определяющий, следует ли обводить полосу тиков или нет. По умолчанию верно.
юниты - {String} - укажите название юнитов, которое будет отображаться на датчике. По умолчанию false (не отображать единицы измерения).
valueFormat - {Object} - укажите, как должно отображаться значение. Можно указать целую часть значения и десятичную часть. По умолчанию {int: 3, dec: 2}
glow - {Boolean} - указывает, следует ли рисовать теневое свечение для измерительной пластины или нет
animation - {Object} - Конфигурация анимации иглы датчика. Обрабатывает три параметра — задержку, продолжительность и функцию анимации.
colors - {Object} - цвета, которые будут использоваться на разных деталях датчика при рисовании. Может быть указан в шестнадцатеричном формате ('#000000' - '#ffffff') или RGB с/без альфа-канала. По умолчанию:

plate : '#fff',
majorTicks : '#444',
minorTicks : '#666',
title : '#888',
units : '#888',
numbers : '#444',
needle : { start : 'rgba(240, 128, 128, 1)', end : 'rgba(255, 160, 122, .9)' }
highlights — {Массив} — массив цветов бликов, которые можно отобразить на шкале. Если указано как пустой массив или false, не будет нарисовано. По умолчанию:

[{ from: 20, to: 60, color: '#eee' }, { from: 60, to: 80, color: '#ccc' }, { from: 80, to: 100, color: '#999' }]
Где from — значение, с которого начинается выделение, to — значение, до которого выполняется выделение, color — используемый цвет.

Методы

Gauge( {Object} options) - конструктор. Принимает параметры конфигурации в качестве аргумента. Варианты конфигурации описаны выше.
draw() - рисует датчик (рендерит его на указанном холсте)
clear() - немедленно устанавливает значение датчика на минимальное значение и перерисовывает датчик
setValue (значение {Float}) — устанавливает новое значение для отображения в датчике. Если анимация включена - запускает анимацию.
getValue() - возвращает текущее значение на датчике
События

onready — рекомендуется использовать это, даже если требуется динамическая работа с датчиком (изменение значения) и быть уверенным, что датчик был правильно инициализирован и отрисован до запуска динамических обновлений. - {Boolean} - указывает, следует ли рисовать теневое свечение для измерительной пластины или нет
анимация - {Объект} - Конфигурация анимации иглы датчика. Обрабатывает три параметра — задержку, продолжительность и функцию анимации.

colors - {Object} - цвета, которые будут использоваться на разных деталях датчика при рисовании. Может быть указан в шестнадцатеричном формате ('#000000' - '#ffffff') или RGB с/без альфа-канала. По умолчанию:

plate : '#fff',
majorTicks : '#444',
minorTicks : '#666',
title : '#888',
units : '#888',
numbers : '#444',
needle : { start : 'rgba(240, 128, 128, 1)', end : 'rgba(255, 160, 122, .9)' }
highlights — {Массив} — массив цветов бликов, которые можно отобразить на шкале. Если указано как пустой массив или false, не будет нарисовано. По умолчанию:

[{ from: 20, to: 60, color: '#eee' }, { from: 60, to: 80, color: '#ccc' }, { from: 80, to: 100, color: '#999' }]
Где from — значение, с которого начинается выделение, to — значение, до которого выполняется выделение, color — используемый цвет.
Код js скрипта размещается в файловой сиситеме SPIFFS
data.rar
(7.05 КБ) 46 скачиваний
Настройки работы со SPIFFS проводились для отдельной страницы.
two_forum radial indicator v1.0.flp
(1.82 МБ) 48 скачиваний
СпойлерПоказать
Screenshot_1.png
..а такой пример работы с SPIFFS, на практике не совсем корректен.
Настройки работы со SPIFFS проводились для всего интерфейса, а не для отдельной
страницы.
Screenshot_2.png
Последний раз редактировалось malina 17.02.2023{, 04:34}, всего редактировалось 1 раз.

aidar_i
Полковник
Сообщения: 3122
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Шаблоны Оформления для Веб-Интерфейса

#169

Сообщение aidar_i » 16.02.2023{, 14:05}

Подправил немного последние сообщения.

Serenkiy83
Рядовой
Сообщения: 5
Зарегистрирован: 04.04.2023{, 11:48}
Репутация: 0
Имя: Сергей

Шаблоны Оформления для Веб-Интерфейса

#170

Сообщение Serenkiy83 » 18.09.2023{, 22:25}

Добрый день.

Друзья, благодаря FLProg немного освоил программирование ESP32, но "красивый" web интерфейс для меня дремучий лес.
Хочется сделать простенький график в web интерфейсе отображающий диаграмму прокалки и точку с текущей температурой.

Погуглив нашел как нарисовать график на canvas.
вставил в html код примерно того что хочется изобразить:
СпойлерПоказать
<canvas id="myCanvas" width="306" height="200"></canvas>

<script>
const c = document.getElementById("myCanvas");
const ctx = c.getContext("2d");

//Переменные
//Точка температуры
let Tx = 180
let Ty = 200-100
//График
let x0 = 0
let y0 = 200-9
let x1 = 22
let y1 = 200-40
let x2 = 88
let y2 = 200-40
let x3 = 176
let y3 = 200-86
let x4 = 190
let y4 = 200-200
let x5 = 264
let y5 = 200-200
let x6 = 282
let y6 = 200-123
let x7 = 306
let y7 = 200-123

ctx.beginPath();
// Точка температуры
ctx.strokeStyle = "rgb(255,0,0)";
ctx.fillStyle = "rgb(255,0,0)";
ctx.arc(Tx, Ty, 2, 0, Math.PI * 2, true);
ctx.fill();
ctx.stroke();

// Текст обозначения осей
ctx.fillStyle = "#00bfff";
ctx.font = "20px serif";
ctx.fillText("T", 6, 15);
ctx.fillText("t", 300, 194);
ctx.stroke();

// Линии координат
ctx.beginPath();
ctx.strokeStyle = "#00bfff";
ctx.moveTo(0, 200);
ctx.lineTo(0, 0);
ctx.lineTo(4, 15);
ctx.moveTo(0, 200);
ctx.lineTo(306, 200);
ctx.lineTo(291, 196);

ctx.stroke();
// График
ctx.beginPath();
ctx.strokeStyle = "rgb(255,255,255)";
ctx.moveTo(x0, y0);
ctx.lineTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.lineTo(x3, y3);
ctx.lineTo(x4, y4);
ctx.lineTo(x5, y5);
ctx.lineTo(x6, y6);
ctx.lineTo(x7, y7);

ctx.stroke();
</script>
Изображение выводит.
Но как сделать чтоб параметры из микроконтроллера изменяли координаты точек понять не могу.
Ролик Сергея Глушенко про создание виджета пересмотрел несколько раз, но к сожалению ничего не понял(((
Может кто подскажет как связать параметры с кодом?
Вложения
Снимок.PNG
Снимок.PNG (7.97 КБ) 1588 просмотров

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

Шаблоны Оформления для Веб-Интерфейса

#171

Сообщение ivansidor012 » 19.09.2023{, 08:25}

Serenkiy83 писал(а):
18.09.2023{, 22:25}
Может кто подскажет как связать параметры с кодом
гайвер.портал
crmui
jeeui

в них реализованы графики в более законченном и удобном виде, нежели в видеоприимере

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

Шаблоны Оформления для Веб-Интерфейса

#172

Сообщение ivansidor012 » 19.09.2023{, 08:27}

Serenkiy83, хотя можно и в штатном веб:
viewtopic.php?t=7761&start=140#p118732

файлы находятся на flprog.pro

Serenkiy83
Рядовой
Сообщения: 5
Зарегистрирован: 04.04.2023{, 11:48}
Репутация: 0
Имя: Сергей

Шаблоны Оформления для Веб-Интерфейса

#173

Сообщение Serenkiy83 » 19.09.2023{, 11:48}

ivansidor012 писал(а):
19.09.2023{, 08:27}
, хотя можно и в штатном веб:
viewtopic.php?t=7761&start=140#p118732

файлы находятся на flprog.pro
Графики Артёма отличные и я их уже вставил в отдельную страницу web интерфейса. Но они показывают текущее и пришедшие значения, а хотелось бы видеть всю картину (какой участок пройден и какой предстоит) для наглядности, а более детально рассматривать в больших графиках от Артёма. Да и при вводе точек нагрева сразу было бы видно нет ли косяков.
Из видео Сергея поня что все координаты точек надо задавать структурой, но в код встроить не получаеся.

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

Шаблоны Оформления для Веб-Интерфейса

#174

Сообщение ArtemArable » 19.09.2023{, 12:22}

Имеющиеся графики работают здесь и сейчас, для прсмотра процесса в реальном времени. Для более серьезного нужна внешняя SCADA.

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

Шаблоны Оформления для Веб-Интерфейса

#175

Сообщение ivansidor012 » 19.09.2023{, 13:30}

Serenkiy83 писал(а):
19.09.2023{, 11:48}
. Но они показывают текущее и пришедшие значения
почему только текущее и пришедшее?

там показывается сохраненное (до отключения питания) значения. Т.е. если есп включена неделю - то и покажет что было неделю назад

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

Шаблоны Оформления для Веб-Интерфейса

#176

Сообщение ivansidor012 » 19.09.2023{, 13:32}

ivansidor012 писал(а):
19.09.2023{, 13:30}
Да и при вводе точек нагрева сразу было бы видно нет ли косяков
у jeeui есть еще опция "Загрузить из файла": вот можно создать файл на ПК и забить в него данные и открыть этот файл в графиках

ivansidor012
Сержант
Сообщения: 279
Зарегистрирован: 10.09.2020{, 14:37}
Репутация: 43
Имя: Иван

Шаблоны Оформления для Веб-Интерфейса

#177

Сообщение ivansidor012 » 19.09.2023{, 13:39}

ArtemArable писал(а):
27.11.2022{, 12:34}
Имеющиеся графики работают здесь и сейчас, для прсмотра процесса в реальном времени
не совсем так - там создается и хранится массив с данными, и эти прошлые данные можно посмотреть

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

Шаблоны Оформления для Веб-Интерфейса

#178

Сообщение ArtemArable » 19.09.2023{, 13:53}

ivansidor012 писал(а):
19.09.2023{, 13:39}
ArtemArable писал(а):
27.11.2022{, 12:34}
Имеющиеся графики работают здесь и сейчас, для прсмотра процесса в реальном времени
не совсем так - там создается и хранится массив с данными, и эти прошлые данные можно посмотреть
Перезагрузка все стирает. Можно конечно на SPIFFS сохранять или карту памяти.

Serenkiy83
Рядовой
Сообщения: 5
Зарегистрирован: 04.04.2023{, 11:48}
Репутация: 0
Имя: Сергей

Шаблоны Оформления для Веб-Интерфейса

#179

Сообщение Serenkiy83 » 19.09.2023{, 19:48}

Serenkiy83 писал(а):
18.09.2023{, 22:25}
Может кто подскажет как связать параметры с кодом?
Разобрался, скрипт из вкладки html кода перенёс во вкладку параметры из контроллера, и вместо координат точек внёс переменные v которые программа берёт из подвязанной структуры.
Всё сразу заработало!!!

zemlyanin
Рядовой
Сообщения: 11
Зарегистрирован: 28.07.2023{, 23:00}
Репутация: 5
Имя: igor

Шаблоны Оформления для Веб-Интерфейса

#180

Сообщение zemlyanin » 01.12.2023{, 19:06}

:smile37: помогите пожалуйста. Надо просто кнопка и индикатор, но они все вертикально ставятся. как по горизонту выставлять?

Ответить

Вернуться в «WEB интерфейс»