Выход новой бэта версии программы.

 

Вышла новая версия программы FLProg  с номером 7.4.0.

Я хорошо помню, что обещал Вам версию 8  с онлайн хранилищем пользовательских блоков. И более того, работа по созданию хранилища реализована, где то наполовину. Но жизнь вносит свои коррективы. По ряду причин мне пришлось свернуть с обозначенной ранее дорожной карты и плотно заняться контроллерами ESP и непосредственно их вэб интерфейсом. Поэтому и получилась не восьмёрка, а продолжение седьмой линейки программ.

С момента последнего релиза прошло достаточно много времени. Это обусловлено несколькими причинами. У меня были некоторые семейные проблемы. Потом я «условно добровольно» произвел общерекламируюмую процедуру (как говорит Антон Хардин))). Почему условно – добровольную? Потому что выбор между ширнуться и быть допущенным до работы или сдохнуть с голода без зарплаты как предлагает Медведев – это стопроцентное принуждение. Ну и напоследок через пару дней после второй дозы, как и ожидалось я на неделю слёг с ковидом. Не сказать, что тяжело перенёс, но работать был не в состоянии. Зато теперь у меня аж два QR кода, жаль, поделиться нельзя с кем ни будь))).

Ну а теперь – что нового в версии 7.4.

Как всегда исправлено некоторое количество ошибок. Все перечислять не буду, сам не помню.

Полностью переработаны потроха веб интерфейса для   контроллеров ESP. Во первых изменена работа с сервером, работа с ним теперь происходит по более надежному и устойчивому алгоритму. Оптимизированно переподключение контроллера при пропадании и последующем восстановлении Wi-Fi сети.  Во вторых теперь вэб интерфейс работает через AJAX. Это значит что значения, передаваемые на страницу интерфейса обновляются в реальном времени без перезагрузки страницы с заданным интервалом. Так же и изменения, введённые на странице передаются на контроллер без перезагрузки самой страницы. При использовании в интерфейсе кнопки «Сохранить» они отправляются на контроллер в момент нажатия этой кнопки, а без неё непосредственно сразу после изменения. Например, нажали на чек бокс, и в этот момент новое значение улетело в контроллер, и вызванные этим изменения в тут же отобразились на странице. То же касается и переключателя, и выпадающего списка. Значения, вводимые в поля ввода отправляются на контроллер в момент нажатия Enter, или смене фокуса.

Добавлены два новых виджета. Кнопка и цветовой индикатор. Расскажу о них поподробнее.

  1. Кнопка.

При нажатии на кнопку производятся определённые действия в контроллере. Они происходят мгновенно по факту нажатия, и не зависят от наличия или отсутствия на странице кнопки «Сохранить». Возможные действия при нажатии на кнопку зависят от закрепленного к ней параметра:

  • Если параметр типа Boolean – возможны установка параметра в заданное значение (true или false), или инвертирование текущего значения параметра.
  • Если параметр имеет цифровой тип (Integer, Float ….) – возможна установка заданного значения, или изменение значения в сторону уменьшения/увеличения на заданный шаг.
  • Для параметра строчного типа возможно только установка заданного значения.
  1. Цветовой индикатор.

В HTML коде представляет собой блок DIV цвет фона, которого меняется в зависимости от привязанного параметра в реальном времени с заданной периодичностью. Задание цвета зависит от типа привязанного параметра.

  • Для параметра типа Boolean – задается цвет для значения True и для значения False.
  • Для параметра цифрового типа – значением цвета в RGB. Поэтому желательно использовать тип параметра Unsigned Long, поскольку в других типах один или два байта и задать цвет со всеми составляющими не будет возможности. Значение цвета можно посмотреть в интернете в таблице HTML цветов. Только следует учесть, что в этих таблицах шестнадцатеричное значение задается примерно в таком формате: #FFEFD5 а в программе его нужно задавать в таком: 0xFFEFD5.  Десятичный формат можно брать напрямую.
  • Для параметра строкового типа значение задаются в виде строки со значением цвета из стандартной таблицы HTML цветов. Причем именно в таком виде как они там указаны. Можно задавать как цифровое значение цвета (#FFEFD5) так и название цвета (RosyBrown).

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

Расширены возможности по настройки виджетов. 

  1. Появилась возможность задать текст лейблы виджета отличную от названия виджета, изменить расположение лейблы (сверху виджета, снизу, а для цветового индикатора и внутри него), или вообще отключить вывод лейблы.
  2. Предоставлен доступ к стилям для всех элементов виджета.

Реализована возможность изменять последовательность вывода основных блоков страницы (блок заголовка, блок меню, блок контента, блок подвала), а так же вообще отключать вывод каждого из них. На этом уровне (больших блоков) так же реализована возможность ввода собственных блоков HTML кода.

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

Дополнительно – реализована поддержка mDNS. Она позволяет обнаруживать устройства в локальной сети по заданному имени. Особенно это актуально когда устройство получает IP по DHCP. Это имя можно не только задавать при создании проекта, но и изменять его в процессе работы устройства. Ну, или например, собирать его, используя какой то заголовок, с добавлением, например Chip ID для создания уникального имени устройства, без изменения проекта. Для наших  обеспеченных друзей имеющих железяки с яблочком на крышке проблем с mDNS нет вообще, поддержка этой системы встроена в операционные системы от Apple (и в десктопную и мобильную) по умолчанию.  Для нас, обычных людей с виндой, линуксом или андроидом все немного посложнее. Для андроида я использую Service Browser, для компа пока ничего не подобрал. В общем, смотрите в сторону программ поддерживающих Apple Bonjour.

Оптимизирована работа системы авторизации – теперь авторизация происходит на уровне сессии. То есть если в  предыдущей версии авторизация происходила на контроллере, и в момент, когда кто то был подключен к контроллеру с правами администратора, то и все остальные то же в этот момент заходили на него с эти ми же правами, пока последний не выйдет из авторизации,  то теперь каждая сессия, даже одновременно с другими, содержит своего пользователя. Так же теперь при доступе к контроллеру с авторизацией,  есть возможность ограничить количество одновременных подключений к контроллеру (по умолчанию 10).

Это, пожалуй, и все новшества новой версии программы. Возможно, я, что то сделал ещё, но в связи с большим периодом времени, и огромным количеством событий произошедших для меня, я уже всего не помню.

Ну и конечно ещё раз предупреждаю – это ПЕРВАЯ бэтка, так что возможны и ошибки и падения, так что прошу сильно не ругаться.

 

 

 


0

Автор публикации

не в сети 2 недели

Сергей Глушенко

757
Комментарии: 15Публикации: 388Регистрация: 04-02-2018

4 комментария к “Выход новой бэта версии программы.”

Оставьте комментарий

Войти с помощью: