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

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

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

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

#1

Сообщение JonyBest » 28.07.2023{, 13:04}

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

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 полностью бесплатный, безопасный, более удобный, не имеет ограничений, не нуждается в локальном сервере и может работать без приложения и без подключения к Интернет.
НЕ РАБОТАЕТ НА выше ESP32 SDK 2.0.8
Скриншот 28-07-2023 130358.jpg
Пробная версия для ознакомления. Будет интерес - продолжу
GyverHub_1.0_(Code_-_Professional).rar
(1.65 МБ) 90 скачиваний
Тестовый пример
test_hub.rar
(1.7 МБ) 94 скачивания
Последний раз редактировалось JonyBest 28.07.2023{, 20:54}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 2560
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#2

Сообщение Phazz » 28.07.2023{, 13:34}

JonyBest, не торопитесь. Код библиотеки будет еще значительно переписан. И поэтому не факт что совместимость останется. И да это уже 3 вариант блоков)

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

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

#3

Сообщение WildCat » 28.07.2023{, 13:49}

JonyBest, что с производительностью?
Так же как у веб?

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

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

#4

Сообщение JonyBest » 28.07.2023{, 14:13}

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

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

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

#5

Сообщение ecoins » 28.07.2023{, 19:32}

JonyBest писал(а):
28.07.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, эти работы продолжаются.
------
С уважением, Энвер.

Аватара пользователя
Phazz
Полковник
Сообщения: 2560
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#6

Сообщение Phazz » 28.07.2023{, 19:56}

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

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

Аватара пользователя
Imran
Сержант
Сообщения: 229
Зарегистрирован: 08.11.2017{, 20:53}
Репутация: 9
Имя: Имран

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

#7

Сообщение Imran » 28.07.2023{, 20:10}

Пробую пишет ошибка компиляции есп32 а какой версией платы прошивали ?

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

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

#8

Сообщение ecoins » 28.07.2023{, 20:39}

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

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

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

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

#9

Сообщение ivansidor012 » 28.07.2023{, 20:48}

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

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18.11.2015{, 22:42}
Репутация: 89
Откуда: Близко к Ставрополю
Имя: Евгений

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

#10

Сообщение JonyBest » 28.07.2023{, 20:53}

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

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

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

#11

Сообщение ecoins » 28.07.2023{, 21:25}

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

Аватара пользователя
Phazz
Полковник
Сообщения: 2560
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#12

Сообщение Phazz » 29.07.2023{, 00:02}

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

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

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

#13

Сообщение ecoins » 29.07.2023{, 03:31}

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

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

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

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

#14

Сообщение ecoins » 29.07.2023{, 03:56}

Phazz писал(а):
29.07.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.
Красивая, продуманная реализация, ничего близкого я не встречал (искал и исследую эту тему несколько лет).
Это мой субъективный взгляд, не настаиваю.
-------
С уважением, Энвер.

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

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

#15

Сообщение aidar_i » 29.07.2023{, 06:46}

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

Аватара пользователя
Phazz
Полковник
Сообщения: 2560
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#16

Сообщение Phazz » 29.07.2023{, 07:23}

aidar_i, тут вопросов нет, все что касается кода нормально. Все баги библиотек устраняются достаточно оперативно. Но под флпрог он не будет ничего добавлять или переделывать. Конечно может найдется человек который сможет нормально презентовать и убедить что флпрог очень полезная программа.

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

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

#17

Сообщение aidar_i » 29.07.2023{, 08:18}

Phazz, а что там нужно под FLProg?
Мне, кажется, ничего не надо под него переделывать. Тогда всех будем просить переделывать коды, что-ли?
Это FLProg нужно переделать под них:)

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 684
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 52
Имя: Виктор

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

#18

Сообщение ViktorPetrov » 29.07.2023{, 18:12}

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

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

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

#19

Сообщение bsn » 30.07.2023{, 09:15}

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

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

Аватара пользователя
Phazz
Полковник
Сообщения: 2560
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#20

Сообщение Phazz » 30.07.2023{, 10:35}

ViktorPetrov писал(а):
29.07.2023{, 18:12}
.Вероятно после бэта , часть функционала будит платным

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

Ответить

Вернуться в «Коммуникация и связь»