Страница 1 из 13

ESPUI-Мультиблок

Добавлено: 05 июн 2021, 18:27
Naladchik
Версия мультиблока на основе библиотеки ESPUI и блоков от User8.
Так как предыдущие версии мультиблока уже в середине ветки от Евгения решил создать свою.
Если происходит конфликт с блоками то пробуйте сначала в проект добавлять их и только потом ESPUI, ну или их выносите на первую плату а на последующих блоки ESPUI.
Важно!
1. Платы, на которых установлены блоки ESPUI, в обязательном порядке должны обработаться в первом цикле после запуска контроллера.
2. При создании на странице (1й программный цикл) таких блоков как Slider, InputText, InputNumber и т.п. на блоке отображается значение по умолчанию (из параметра) и оно же появляется на выходе блока. Значение, если оно уже появилось на входе, запишется в блок и, соответственно, передастся на его выход в следующем программном цикле. Для версии 1.6 не актуально.
3. Библиотека плохо реагирует на одновременный вывод информации сразу на несколько блоков.
4. Библиотека очень чувствительна к качеству WiFi сети (сигнал, скорость), имейте в виду, чуть что - картинка виснет.
5. Если на блоке Graph ничего не отображается - подайте импульс на вход Clear Graph для его очистки.
Да и вообще Graph глючный элемент, никак его разрабы не допилят. Лучше не использовать.
Если кто знает о неиспользованных в данном блоке возможностях библиотеки ESPUI - пишите. По возможности буду дорабатывать.

Предыдущие версии:
Показать
Версия мультиблока ESPUI 1.4.
ESPUI_1.4.zip
Показать
Отличия от предыдущей версии:
1. Встроены детекторы изменения данных на входах блоков.
Обновление блока по фронту на входе Update сохранилось, каким образом обновлять данные - выбирается параметром.
По описаниям параметров все должно быть понятно.
2. Добавил автоматическую расстановку блоков по вкладкам.
Добавляются блоки в проект - оказываются на основной странице, как только добавился блок Tab все последующие блоки будут уже на этой вкладке до появления следующего блока Tab и т.д. Само собой если блок Tab будет первым последующие блоки будут на вкладке.
Возможность ручной расстановки так же сохранилась. Вариант расстановки выбирается параметром.
3. Переделал часть кода, целью было увеличение количества отображаемых блоков на странице, ранее и десятка иногда не набиралось.
Надо проверять получилось или нет.

Блок собран на подправленной библиотеке ESPUI 2.0.2 (заменен один файл, взят из ESPUI 2.0.1). Блоки Pad с такой заменой отображаются корректно.
Необходимые для работы мультиблока библиотеки уже встроены в него, ну и в архив на всякий случай положил, там же и тестовые примеры.
P.S.
Версия, конечно же, корявенькая, причина тут.
Обновление блока, версия мультиблока ESPUI 1.5.
ESPUI_1.5.zip
Добавлена возможность скрывать элементы.
Работает только с модифицированной библиотекой ESPUI-2_0_2_mod.
Библиотека в архиве и в блоке.

Обновление блока ESPUI_1.5.
ESPUI_1.5+WiFiManager.zip
Интегрирован WiFiManager. Тестировалось как на ESP8266 так и на ESP32.
Для корректной работы отключить стандартные настройки WiFi в FLProg.
Библиотеки в архиве, из блока удалены по причине избыточного веса.
Настройки WiFiManager в своей папке параметров, для сброса настроек отдельный блок.

Когда модифицировал библиотеку неудачно переименовал файлы , из за этого FLProg ругается на отсутствующую библиотеку но все работает.
Когда выйдет новый релиз библиотеки ESPUI, в которой новые функции, добавленные мной, будут добавлены на постоянку (уже есть в мастер-версии), тогда верну все имена файлов обратно и ошибка уйдет.
Для ESP32 работа проверялась с ядром версии 1.0.6. С ядром версии 2.х.х совместимость, в данный момент, отсутствует!!!

Upd 23.07.2021 Исправлена ошибка в блоке ESPUI InputText (спасибо megahamster3) , архив перезалит.
Upd 03.10.2021. Исправлена ошибка в блоке Graph (спасибо DrMario), архивы перезалиты.
Обновление блока, версия мультиблока ESPUI 1.6.
Добавлено:
1. Блоки: Разделитель, Время (позволяет получить текущее время с подключенного устройства).
2. Возможность менять оформление блоков CSS стилями.
3. Отключение компонентов (не совсем понятна надобность но раз есть в библиотеке то и тут пусть будет).
4. Группировка элементов в одном блоке.

Группировка элементов, описание:
Показать
1. Каждый элемент веб страницы, как и сама страница, имеют уникальные номера (ID, присваиваются по порядку инициализации блоков и их элементов, сама страница имеет ID=0) для организации возможности взаимодействия с ними (управление, обратная связь, смена оформления и т.д.).
2. Если элемент имеет возможность стать контейнером для группировки элементов то у него присутствует параметр, в котором его можно назначить инициатором группы. При назначении у него появляется выход, на котором его ID.
3. Если элемент имеет возможность стать членом группы то у него присутствует параметр, в котором его можно объявить членом группы. При этом у него появляется вход, на который нужно передать ID инициатора группы.
3.1 Следует учитывать, что по порядку размещения блоков (по порядку компиляции) ВСЕГДА! должен идти сначала инициатор группы только потом ее члены (для прямых связей данное условие выполнится само, а вот если ID передавать через переменную/клемму то за этим нужно следить).
3.2 При объявлении элемента членом группы у него исчезает параметр title... , т.к. у члена группы его нет (особенность библиотеки).
5. Вертикальная ориентация для слайдера и переключателя.
6. У блока "Ввод текста" появились режимы отображения "Дата", "Время", "Цвет", "Ввод пароля".
7. Для блоков "Переключатель", "Слайдер", "Ввод числа", "Ввод текста" при включенном режиме "обновления по изменению значения на входе" значение со входа передается на выход при инициализации блока (раньше сначала передавалось "Значение при инициализации").
8. Теперь нет надобности задавать максимальное количество вкладок, вычисляется автоматически.
9. ВСЕ! блоки должны располагаться на тех платах, для которых гарантируется их работа при первом программном цикле, иначе просто не выполнится инициализация блоков.

Ну и по классике, какие то косяки убраны, какие то добавлены.
Блок из открытого проекта сохранить в папку с блоками,
Показать
Правой кнопкой в проекте по любому блоку из состава мультиблока.
Если именно такого мультиблока в библиотеке нет, то появится пункт в меню "Добавить в библиотеку".
111.png
библиотеки из архива распаковать в папку с библиотеками (а вдруг кто то этого не знает).
ESPUI 1.6-Test_group.rar
libraries_06.02.23.zip
_
Upd 28.09.22 Исправления выявленных ошибок/недочетов.
ESPUI_1.6.1___WiFiManager_(Code_-_Professional).zip
Upd. 04.01.23 Исправлена ошибка в блоке Select (спасибо DrMario).
ESPUI_1.6.2___WiFiManager_(Code_-_Professional).zip

Upd 15.05.23 Исправлена ошибка в блоке InputText (спасибо RedSky).
ESPUI_1.6.3___WiFiManager_(Code_-_Professional).zip
Дополнительно в блоке InputNumber появился параметр Step, позволяющий задать шаг изменения числа при изменении его стрелками.

Upd 06.01.24 Исправлена ошибка в блоке InputText (спасибо selihov).
ESPUI_1.6.4___WiFiManager_(Code_-_Professional).zip
_
Прошу обратить внимание!
Использование в одном проекте блоков из мультиблоков разных версий НЕДОПУСТИМО!!!
Ошибки при компиляции проекта!

ESPUI-Мультиблок

Добавлено: 05 июн 2021, 21:15
Nazar
попробую

ESPUI-Мультиблок

Добавлено: 05 июн 2021, 22:04
JonyBest
Попробовал. Вроде, очень даже не плохо!!! Успехов в творчестве!

ESPUI-Мультиблок

Добавлено: 06 июн 2021, 05:42
Nazar
если возможно добавьте входы авторизации спасибо :smile9:

ESPUI-Мультиблок

Добавлено: 06 июн 2021, 06:57
Naladchik
Nazar писал(а): 06 июн 2021, 05:42 если возможно добавьте входы авторизации спасибо
Все есть, в любом блоке.
1.jpg

ESPUI-Мультиблок

Добавлено: 06 июн 2021, 08:01
Nazar
Naladchik писал(а): 06 июн 2021, 06:57
Nazar писал(а): 06 июн 2021, 05:42 если возможно добавьте входы авторизации спасибо
Все есть, в любом блоке.
1.jpg
спасибо это понятно я имел ввиду входы авторизации чтобы пароль имя можно было меня со входа

ESPUI-Мультиблок

Добавлено: 06 июн 2021, 08:07
Naladchik
Nazar писал(а): 06 июн 2021, 08:01 спасибо это понятно я имел ввиду входы авторизации чтобы пароль имя можно было меня со входа
Исключено.
Эти данные прописываются при создании страницы и в процессе работы их поменять нельзя, потому они и вынесены в параметры.
Все, что можно поменять в процессе работы - входы, что нельзя - параметры.

ESPUI-Мультиблок

Добавлено: 06 июн 2021, 08:09
Nazar
Naladchik писал(а): 06 июн 2021, 06:57
Nazar писал(а): 06 июн 2021, 05:42 если возможно добавьте входы авторизации спасибо
Все есть, в любом блоке.
1.jpg
к примеру можно было добавить входы авторизации
Naladchik писал(а): 06 июн 2021, 08:07
Nazar писал(а): 06 июн 2021, 08:01 спасибо это понятно я имел ввиду входы авторизации чтобы пароль имя можно было меня со входа
Исключено.
Эти данные прописываются при создании страницы и в процессе работы их поменять нельзя, потому они и вынесены в параметры.
Все, что можно поменять в процессе работы - входы, что нельзя - параметры.
теперь понятно спасибо

ESPUI-Мультиблок

Добавлено: 09 июн 2021, 14:02
tema
не могли бы вы дать инструкцию по установке библиотек если надо ( куда?). Для фл7.3.6 портабл. Не могу откомпелировать пример... Спс

ESPUI-Мультиблок

Добавлено: 09 июн 2021, 18:57
Naladchik
tema писал(а): 09 июн 2021, 14:02 Для фл7.3.6 портабл
.....\FLProg\ideV7\portable\sketchbook\libraries

ESPUI-Мультиблок

Добавлено: 10 июн 2021, 21:52
tema
что ему опять не так?

ESPUI-Мультиблок

Добавлено: 11 июн 2021, 03:35
Naladchik
tema писал(а): 10 июн 2021, 21:52 что ему опять не так?
нужен проект, так не понятно.
Показать
Безымянный.png

ESPUI-Мультиблок

Добавлено: 11 июн 2021, 22:25
tema
пример для esp32 в шапке.

ESPUI-Мультиблок

Добавлено: 12 июн 2021, 00:26
Naladchik
Naladchik писал(а): 05 июн 2021, 18:27 пример для esp32 в шапке.
ну у меня то все работало, иначе бы не выкладывал.

ESPUI-Мультиблок

Добавлено: 12 июн 2021, 22:09
tema
Наверное что-то с библиотеками. Какие, куда ставить. Какие удалять не понимаю. Пробовал на втором компе = то же самое... Эти работали viewtopic.php?f=71&t=5536
Да и еще пример на esp8266 нормально компилит а esp32 нет.

ESPUI-Мультиблок

Добавлено: 13 июн 2021, 06:01
Naladchik
[ref]tema[/ref], см. личку.

ESPUI-Мультиблок

Добавлено: 20 июн 2021, 13:43
NickNeo
А только у меня не работает ESPUI с версией Flprog 7.3.6 Wifi не поднимается вообще, и как будто esp в циклический ребут уходит
при этом с версией 7.3.4 все Ок

UPD: в Flprog 7.3.4 используется Arduino IDE 1.8.13 и платой esp8266 v 2.7.4
а Flprog 7.3.6 спользуется Arduino IDE 1.8.15 и платой esp8266 v 3.0.0, если сделать downgrade до 2.7.4 начинает работать.

ESPUI-Мультиблок

Добавлено: 20 июн 2021, 15:11
Naladchik
NickNeo писал(а): 20 июн 2021, 13:43 А только у меня не работает ESPUI с версией Flprog 7.3.6...
Только что проверил. Flprog 7.3.6, ESP-01, ArduinoIDE 1.8.15 встроенная в Flprog, версия ядра ESP8266 - v3.0.0, плата GenericESP8266.
Все компилируется и работает, проверялся пример из первого сообщения.

ESPUI-Мультиблок

Добавлено: 20 июн 2021, 15:35
NickNeo
Naladchik писал(а): 20 июн 2021, 15:11
NickNeo писал(а): 20 июн 2021, 13:43 А только у меня не работает ESPUI с версией Flprog 7.3.6...
Только что проверил. Flprog 7.3.6, ESP-01, ArduinoIDE 1.8.15 встроенная в Flprog, версия ядра ESP8266 - v3.0.0, плата GenericESP8266.
Все компилируется и работает, проверялся пример из первого сообщения.
Понятно, у меня плата NodeMCU v3 и ArduinoIDE по умолчанию выставляет плату NodeMCU 0.9 с ней падает, попробовал вручную задать NodeMCU 1.0 или GenericESP8266, тогда работает...

а с прошлой версией (ESP8266 - v 2.7.4) работает и с выбранной NodeMCU 0.9 и с NodeMCU 1.0 или GenericESP8266
как то можно настроить чтобы в ArduinoIDE автоматически выставлялась GenericESP8266?

ESPUI-Мультиблок

Добавлено: 20 июн 2021, 15:41
Naladchik
NickNeo писал(а): 20 июн 2021, 15:35 ...ArduinoIDE по умолчанию выставляет плату...
Установите нужные Вам настройки в "Собственные".
Показать
111.png
Там все расписано.