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

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 13:04
JonyBest
GyverHub - это платформа, включающая в себя библиотеку для устройства и приложение для управления. Приложение написано на JavaScript и по сути является сайтом, который доступен:
С официального сайта hub.gyver.ru, а также зеркала на GitHub Pages (только HTTPS)
Android приложение: Google Play, скачать APK - особенности
Сайт можно установить как веб-приложение (PWA) на любое устройство (Android/iOS/Windows...)
Локально с компьютера, для этого нужно скачать сайт (правой кнопкой - сохранить ссылку как) и открыть его в браузере
Из памяти ESP8266/32
Из Телеграм-бота
[spoiler]
Устройством может быть:

ESP8266 и ESP32 - библиотека нативно поддерживает их WiFi функции
Любые Arduino - подключаются к WiFi удобным способом и работают в ручном режиме
Компьютер (персональный, одноплатный) - библиотека сервера на Python (в разработке)
Устройство и приложение обмениваются данными по своему протоколу (см. API) через различные интерфейсы связи:

MQTT (через Интернет)
WebSocket (в локальной сети)
Serial (в разработке)
Bluetooth (в разработке)
Основные моменты:

Приложение может обнаруживать устройства в своей "сети"
В прошивке для устройства "собирается" графический интерфейс, который отправляется в приложение
Можно управлять устройством в приложении или с сайта, даже через Интернет
Библиотека позволяет максимально просто добавить устройство в систему умного дома по MQTT (Алиса, Home Assistant...)
Открытая база пользовательских проектов (вкладка Projects в приложении). https://github.com/GyverLibs/GyverHub-projects)
Особенности:

Библиотека невероятно проста в использовании
Удобный парсинг действий с приложения и умного дома
Библиотека асинхронная (опционально для ESP8266/ESP32)
Оптимальное использование памяти для работы на слабых МК
Более 20 активных компонентов интерфейса (кнопки, слайдеры, выбор...) + блоки оформления и навигации
Доп. модули: "беспроводной" сенсорный дисплей, менеджер файлов, информация об устройстве, OTA обновление, проверка обновлений на GitHub, защита паролем, интерфейс командной строки...
1000 FontAwesome иконок оформления для кнопок и списка устройств
Два стиля отображения компонентов, тёмная и светлая темы, несколько цветовых схем в приложении
Аналоги:

RemoteXY
Blynk
В отличие от них GyverHub полностью бесплатный, безопасный, более удобный, не имеет ограничений, не нуждается в локальном сервере и может работать без приложения и без подключения к Интернет.
[/spoiler]

НЕ РАБОТАЕТ НА выше ESP32 SDK 2.0.8
Скриншот 28-07-2023 130358.jpg
Пробная версия для ознакомления. Будет интерес - продолжу
GyverHub_1.0_(Code_-_Professional).rar
Тестовый пример
test_hub.rar

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 13:34
Phazz
[ref]JonyBest[/ref], не торопитесь. Код библиотеки будет еще значительно переписан. И поэтому не факт что совместимость останется. И да это уже 3 вариант блоков)

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 13:49
WildCat
[ref]JonyBest[/ref], что с производительностью?
Так же как у веб?

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 14:13
JonyBest
WildCat писал(а): 28 июл 2023, 13:49 Так же как у веб?
Задумка интересная. Фейс собирается быстро. Не так красив как веб, но функционален. Как мне показалось, ресурсов проц. жрет по более.
Автор библиотеки очень настойчив. Уверен - доведет проект до красоты :)

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 19:32
ecoins
JonyBest писал(а): 28 июл 2023, 14:13 Задумка интересная. Фейс собирается быстро. Не так красив как веб, но функционален. Как мне показалось, ресурсов проц. жрет по более.
Автор библиотеки очень настойчив. Уверен - доведет проект до красоты
Недавно смотрел этот проект. Заинтересовал.
Особенно то, что планируется вывод и через UART, и через FLProg.
Если эти задачи будут решены, то откроется доступ к возможностям к Wi-Fi не только как доступный мост через UART, но и MQTT, WebServer и др.
И у контроллеров (ПЛК) на STM32, RP2040 появятся новые новый канал коммуникаций и сервисы.
------
Возможно мы бы вместе достигли бы большего, если бы проявили организованный интерес к разработке GyverHub от сообщества FLprog.
Возможно это можно эффективнее реализовать, если бы от сообщества FLProg c AlexGyver кто-то вступил в конструктивные переговоры. Лучше это получится у того, кто в теме WiFi и по аналогичным разработкам.
FLProg мог бы приложить усилия для:
1.тестирования в среде Arduino IDE;
2.Создание пользовательских блоков - при успешной практике они бы потом перекочевали бы в штатные блоки FLProg;
3.Формулирование пожеланий, требований, обеспечения обратной связи по этой теме с разработчиком GyverHub и FLProg.
-------
Разработчик FLProg имеет собственное видение этой темы и планирует её развивать с учетом возможности использования в промышленных системах.
Из локального и конкретного - сейчас у него работает WebServer на Raspberry Pi Pico-W, эти работы продолжаются.
------
С уважением, Энвер.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 19:56
Phazz
ecoins писал(а): 28 июл 2023, 19:32 конструктивные переговоры
к сожалению отношение Алекса к Flprog как минимум высокомерное. И ни какого конструктивного диалога там не будет.

А вообще Сергею как минимум нужно немного доделать профредактор. Чтобы не нужно было городить костыли.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 20:10
Imran
Пробую пишет ошибка компиляции есп32 а какой версией платы прошивали ?

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 20:39
ecoins
Phazz писал(а): 28 июл 2023, 19:56 к сожалению отношение Алекса к Flprog как минимум высокомерное. И ни какого конструктивного диалога там не будет.
Для этого и нужно конструктивные каналы коммуникации.
При то, о чем Вы написали с одной стороны может оказаться преувеличенным, с другой стороны не без формирования такого отношения со стороны некоторых участников форума.
И в разных сегментах работа шла - там упор на C++, здесь на визуальное программирование в первую очередь на FBD и LAD.
Но с этого года ситуация начала меняться и теперь FLProg начинает сопровождать самодостаточный комплекс библиотек с поддержкой реального времени, многоархитектурности, коммуникаций с несколькими шинами (i2c,SPI), интерфейсов в т.ч. CAN, Ethernet, BlueTooth.
И уже сейчас с требованием к работе в промышленных системах.
Тем или иным способом в FLProg будет реализован и Web, и разные типы дисплеев - но лучше было бы если на это были бы направлены усилия различных разработчиков.
Phazz писал(а): 28 июл 2023, 19:56 А вообще Сергею как минимум нужно немного доделать профредактор. Чтобы не нужно было городить костыли.

Предлагаю рассмотреть следующую последовательность разработки:
1.Под задачу разрабатывается необходимые библиотеки в соотвествии с некоторыми принципами, которые будут в некотором развитии;
2.Разрабатываются тесты для среды Arduino IDE.
3.Разрабатывается пользовательский блок(лучше на профессиональном редакторе), одной из задач которого будет формирования приемлемых пользовательских интерфейсов.
4.После испытания и тестирования (скорее всего многократного повторения п.1-3) можно просить разработчика создать штатный блок - он будет занимать существенно меньшее место и будет работать быстрее. При этом фиксируется версия библиотек С++ с несколько измененным названием, например FLProgXXXpr.
5.И повтор п.1-4. Некоторое время в системе присутствуют и пользовательский блок, и штатный блок для возможности его совершенствования.
-----------
При таком подходе уже имеющийся редактор в целом удовлетворяет этим требованиям.
Сложные конструкции средствами FLProg по сути заменяющие рутинную работу по разработке библиотек на мой взгляд могут быть и просто вредны - затраты большие, тестирование и сопровождение дорогое, подобные блоки зачастую порождают необоснованные надежды и растворяются в "небытие".
-----------
С уважением, Энвер.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 20:48
ivansidor012
ecoins писал(а): 28 июл 2023, 20:39 5.И повтор п.1-4. Некоторое время в системе присутствуют и пользовательский блок, и штатный блок для возможности его совершенствования.
гораздо практичнее будет добавить возможность редактировать штатные блоки

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 20:53
JonyBest
Imran писал(а): 28 июл 2023, 20:10 Пробую пишет ошибка компиляции есп32 а какой версией платы прошивали ?
НЕ РАБОТАЕТ НА выше ESP32 SDK 2.0.8

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 28 июл 2023, 21:25
ecoins
ivansidor012 писал(а): 28 июл 2023, 20:48 гораздо практичнее будет добавить возможность редактировать штатные блоки
Вы и сейчас можете делать при желании и упорстве.
Для этого надо освоить SmallTalk (https://ru.wikipedia.org/wiki/Smalltalk) которым в стране владеют буквально несколько человек.
Но попробовать можете, возможно и понравится, и получится.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 00:02
Phazz
ecoins писал(а): 28 июл 2023, 20:39 оказаться преувеличенным
О нет, я даже смягчил формулировки)) Я как бы лично общался с ним на эту тему.
ecoins писал(а): 28 июл 2023, 20:39 1.Под задачу разрабатывается необходимые библиотеки
Я нашел на гитхабе библиотеку, ее работа меня устраивает. Скажите зачем мне такой длинный путь для проекта который нужен сейчас? Да и видение проблемы Сергеем может быть совсем другим и он ее решит не так как нужно в данном конкретном случае. Написать код используя библиотеку тут может достаточное количество участников. А вот написать библиотеку единицы. Да я кроме вашей команды не знаю таких)

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 03:31
ecoins
Phazz писал(а): 29 июл 2023, 00:02 Скажите зачем мне такой длинный путь для проекта который нужен сейчас?
Ответ на этот очень хороший вопрос - из уже приличной практики нашей команды (разные люди, разные компетентности) и за исследованием практики участником форума.
Phazz писал(а): 29 июл 2023, 00:02 Я нашел на гитхабе библиотеку, ее работа меня устраивает.
Phazz писал(а): 29 июл 2023, 00:02 Написать код используя библиотеку тут может достаточное количество участников. А вот написать библиотеку единицы.
В этих двух предложениях есть некоторое противоречие - с одной стороны Вы в состоянии дать оценку качества найденной библиотеки, а с другой стороны не можете (или не готовы, или хочется) написать свою.
И при этом текущий полученный результат Вас устраивает. Ок, здорово, Вы имеете локальный не публичный результат для решения Вашей конкретной задачи.
Но без исследовании библиотеки Вы не застрахованы, что при расширении даже Вашего проекта что-то с чем-то начнет конфликтовать (например, конфликты с другими библиотеками), что-то "тормозило" на приемлемом уровне, а затем все стало плохо, то при переходе с ESP8266 на ESP32 вызывает непонятные проблемы, то версия ESP32 изменилась с 2.0.8 на 2.0.11, а то и просто при переходе на Raspberry Pi Pico или STM32 просто не работает.
Или еще много может "всплыть", если более тщательно проверять результат с использованием логического анализатора и программными инструментами для тестирования проектов.
Много раз сталкивался, когда разработчики устройств "грешат" на электронику и не без успеха воюют"ветряными" мельницами, а проблемы оказываются в программном коде...
Phazz писал(а): 29 июл 2023, 00:02 Да и видение проблемы Сергеем может быть совсем другим и он ее решит не так как нужно в данном конкретном случае.
Мне кажется, что после постепенного включения новых контроллеров и накопленного опыта, у него сформировалось собственное видение, который в моем представлении(могу быть не точен и локален) выглядит следующим образом: в штатные блоки не будут включаться не проверенные библиотеки, существующие штатные блоки(расширители, сенсоры) будут переписаны на его собственные библиотеки.
Некоторые системные библиотеки (Ethernet, WebServer и т.п.) будут доработаны или переписаны полностью.
Phazz писал(а): 29 июл 2023, 00:02 А вот написать библиотеку единицы. Да я кроме вашей команды не знаю таких)

Это не так сложно как кажется. Но мы и готовы участвовать в этой части, объединяя усилия разных пользователей FLProg.
-----
Пример одной из библиотек (CAN-шина), которая мне нравится и которая возможно будет использована при разработке новых блоков -
acan2515.pdf
----
С уважением, Энвер.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 03:56
ecoins
Phazz писал(а): 29 июл 2023, 00:02 О нет, я даже смягчил формулировки)) Я как бы лично общался с ним на эту тему.
Если "здесь" ничего не изменится - тогда в FLProg будет сделано лучше(библиотеки С++ + штатные блоки).
Задел в FLProg уже есть, есть и иное видение относительно уже сделанного другими - проблема сейчас в ограниченных ресурсах Сергея.
Помочь ему можно, и примеры конкретной помощи приведу - это исследования существующих систем (CRMui3,JEEUI2,GyverPortal,GyverHub).
Огромное спасибо JonyBest и aidar за темы, которые они ведут - это важный и значительный вклад в развитии этого направления в среде FLProg.
Сергей с перечисленными системами знаком и к первым трем есть вопросы.
К ним есть вопросы и у AlexGyver, наверное потому он и запустил новый проект GyverHub. В этом проекте он объявил о выходе за границы AVR и ESP32.
Значимый шаг в его безусловно важной, полезной и содержательной деятельности. По его оценке проект реализован на 95% - оптимизм по быстрой реализации последних 5% у разработчиков обычно завышен (иногда многократно). Но здесь полностью согласен с JonyBest - разработчик очень целеустремлен и настойчив.
-------
А вот что не делают участники форума, так это не исследуют и не используют уже сделанное в FLProg по WiFi...
Наверное что-то неудобно в реализации, непонятно - соответственно Сергей и не развивает этот задел.
А сделанное имеет признаки большей фундаментальность по сравнении с тем, что сейчас в тренде.
Рост производительности MCU и встроенной недорогой памяти делает его подход более перспективным, чем существующие системы.
Что-то подобное уже делалось в красивом проекте MegaServer
https://hi-lab.ru/arduino-mega-server
https://habr.com/ru/articles/382177/
Но этот проект к сожалению не развивается, да и у систем визуального программирования своя специфика.
То что сейчас начало делаться в FPLrog это "Несколько систем в одном флаконе" (С++, FBD, LDA и уникальные особенности FLProg).
Незаметно началось это еще в прошлом году - первый значимый результат, который находится в развитии, это реализация ModBus.
Красивая, продуманная реализация, ничего близкого я не встречал (искал и исследую эту тему несколько лет).
Это мой субъективный взгляд, не настаиваю.
-------
С уважением, Энвер.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 06:46
aidar_i
Phazz писал(а): 28 июл 2023, 19:56
ecoins писал(а): 28 июл 2023, 19:32 конструктивные переговоры
к сожалению отношение Алекса к Flprog как минимум высокомерное. И ни какого конструктивного диалога там не будет.
А у какого кодировщика нет высокомерия? И к нему относятся высокомерием гуру форума Ардуино.
Я тоже с ним общался, сообщил, что блоки по порталу сделал. Но я с ним общался по библиотеке, языком кода, он отвечал, даже мои предложения некоторые внедрил.
С ним должны общаться те, кто хорошо знает языки программирования.
Такие тут есть, такие как Sancho, например.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 07:23
Phazz
[ref=#ff8000]aidar_i[/ref], тут вопросов нет, все что касается кода нормально. Все баги библиотек устраняются достаточно оперативно. Но под флпрог он не будет ничего добавлять или переделывать. Конечно может найдется человек который сможет нормально презентовать и убедить что флпрог очень полезная программа.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 08:18
aidar_i
[ref=#808080]Phazz[/ref], а что там нужно под FLProg?
Мне, кажется, ничего не надо под него переделывать. Тогда всех будем просить переделывать коды, что-ли?
Это FLProg нужно переделать под них:)

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 29 июл 2023, 18:12
ViktorPetrov
В целом интересная идя : альтернатива между Каскадой, свой сервер локальный поднять по организации связи с устройствами по сбору данных и созданию графического образа технологического процесса.Вероятно после бэта , часть функционала будит платным или я может ошибаюсь,посмотрим.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 30 июл 2023, 09:15
bsn
ViktorPetrov писал(а): 29 июл 2023, 18:12 свой сервер локальный поднять по организации связи с устройствами по сбору данных и созданию графического образа технологического процесса.
Это да. Сейчас по уши погряз в бытовых, строительных делах. Но очень хочется поэкспериментировать с этим.

ViktorPetrov писал(а): 29 июл 2023, 18:12 вероятно после бэта , часть функционала будит платным или я может ошибаюсь
А здесь, типун Вам на язык. Автор многократно заверял о том, что ограничений не будет. Потому лучше эту тему вновь и не затрагивать. Не поминаем это всуе.

Панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса

Добавлено: 30 июл 2023, 10:35
Phazz
ViktorPetrov писал(а): 29 июл 2023, 18:12 .Вероятно после бэта , часть функционала будит платным

не будет. Проект делается на донаты о чем написано на гитхабе.