ShIoTiny5 — новые веяния

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Несколько лет назад я писал о системе визуального программирования ShIoTiny для модулей на базе микроконтроллера ESP8266. Поэтому, чтобы не повторяться, для тех, кто "не в теме" - сразу отсылаю к моей первой статье на Хабре: https://habr.com/ru/articles/463107/.

Замечу только, что система ShIoTiny родилась почти случайно, но выросла в целую концепцию визуального программирования микроконтроллеров. Собственно, с этого и начались мои публикации на Хабре. И развитие системы ShIoTiny во многом обязано именно тому, что люди с Хабра писали свои отзывы в комментариях и на мне почту.

Система ShIoTiny получилась довольно интересная, но, как и все новорожденные проекты, обладала массой недостатков - начиная от неудобства интерфейса и кончая ошибками используемых библиотек и моих кривых рук. Но, несмотря на всё это, люди проявляли к ней интерес и я завёл сайт https://shiotiny.ru/, где выкладывал и выкладываю информацию о проекте.

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

Чтобы ответить на письма всем и разом, я решил написать эту короткую статью. Надеюсь, только первую, в серии статей о новом ShIoTiny5. Здесь я расскажу о том, что произошло в плане разработки системы ShIoTiny с момента последней публикации на Хабре о ней.

Отвечаю всем и сразу: я жив, относительно здоров, у меня пополнилось семейство ещё одним маленьким человеком, живу по-прежнему в Сибири (да, медведи в городе ходят, один в прошлом году точно по центру Томска бегал, видео есть). И интерес к микроконтроллерам я не потерял. Но, к сожалению, большая семья, работа и прочие дела требуют немало времени. Поэтому некоторое время мне было просто "не до того".

Кроме того, мерзкий хостинг "Hostinger", где находился сайт https://shiotiny.ru/, внезапно запретил туда доступ. Поэтому пришлось ждать пока домен благополучно умрёт и создать сайт https://shiotiny.ru/ на другом, более приятном хостинге "Sprinthost".

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

Но нет худа без добра. Достаточно большой перерыв в написании кода помог посмотреть на проект по-новому. Помог выделить основные недостатки и кривые места в интерфейсе, пользователя и в самой концепции визуального программирования микроконтроллеров.

И вот, наконец, я засел за код и сбацал новую версию ПО, которую назвал ShIoTiny5. Это пока Alpha-версия! Поэтому упор сделан на переработке основных функций, а часть узлов, которые были ShIoTiny, пока отсутствует.

Итак, что нового?

  • Полностью переработано ядро системы, выполняемое на микроконтроллере. Использованы новые версии библиотек с прицелом на перенос системы в недалёком будущем на ESP32. Изменена событийная модель, введены приоритеты. Этого не видно "сверху", но стабильность работы устройства значительно возросла. Конечно, надо прогнать тест в течении хотя бы месяц без выключения. Это впереди.

  • Изменился принцип настройки устройства. На странице конфигурации остались только настройки подключения к WiFi-сети и безопасных режимов работы. Все остальные настройки (связь с сервером MQTT, настойки шин и т.д. и т.п) выполняются теперь в виде специальных узлов. То есть интерфейс избавлен от лишних элементов.

  • Появились "безопасные режимы", позволяющие автоматически менять режим доступа к устройству в случае пропадания связи с точкой доступа WiFi. Это очень удобно, так как позволяет обходиться во многих случаях без неудобной процедуры перевода устройства в режим конфигурации.

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

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

  • Появились узлы с переменным числом входов и выходов. Это очень удобно для таких узлов, например, как мультиплексор или "разбиение на биты". Правда, для этих узлов не очень корректно пока работает функция отмены :( Но это не очень страшно. Возможно, что удастся победить и этот недостаток.

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

  • Появилась куча новых математических и битовых операций и функций: минимумы-максимумы, линейные функции и проч. и проч.

  • Появились узлы операций с константой. Этого очень не хватало.

  • Счетчики теперь умеют считать во все стороны и можно задать ограничения счёта.

  • Публикация и получение данных MQTT теперь возможна в нескольких режимах - просто данные или данные с привязкой к временной метке. Кроме того, можно публиковать полную информацию об устройстве, такую как его IP-адрес, название и псевдоним.

  • Появились узлы ШИМ.

  • Режимы работы входов и выходов GPIO теперь можно задать как "прямой" или "инверсный".

  • и ещё куча мелких изменений.

Чего пока нет?

  • Нет ряда узлов датчиков, которые я ещё не перенёс из ShIoTiny в ShIoTiny5.

  • Нет протокола RLink UDP.

  • Нет поддержки SSL для протокола MQTT. Но она запланирована и скоро появится.

  • Нет узлов сохранения данных во FLASH-память. Тоже скоро появится.

Несмотря, на то, что того и этого ещё нет, программным обеспечением ShIoTiny5 уже можно пользоваться, играться с ним, выявлять ошибки.

Немного о редакторе ElDraw5

Редактор ElDraw - это базовый элемент, вокруг которого вращается вся концепция визуального программирования в системе ShIoTiny5.

От удобства работы с ним зависит удобство работы с системой. посмотрим на новый редактор ElDraw5, входящий в состав ПО ShIoTiny5.

Как выглядит новый редактор ShIoTiny5 - ElDraw5 - показано на рисунке ниже.

Новый редактор ElDraw5 со схемой управления вентилятором.
Новый редактор ElDraw5 со схемой управления вентилятором.

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

Все параметры узлов теперь находятся внутри самого узла. Например узел ADC (АЦП). Все его параметры на виду: сразу видно, что измеренное значение умножается на 100 (пороговую влажность можно задать от 0% до 100%).

Все, что можно изменить в узлах - выделено синим цветом. Всё что изменить нельзя - черным.

Это очень удобно. Видишь синюю надпись - ткни мышкой. Или выпадет меню или выведется строка редактирования.

Контекстное меню выбора функции узла
Контекстное меню выбора функции узла

Ножки, привязанные к узлам по-прежнему выводятся над узлами красным цветом. Но выбор производится из контекстного меню.

Контекстное меню привязки GPIO-ножки к узлу
Контекстное меню привязки GPIO-ножки к узлу

Если параметр задаётся как число или строка - то при клике мышкой на синий элемент узла выводится строка редактирования.

Узлы теперь зависимы друг от друга.

Например, если узел MQTT-клиента "Mqtt Config" не установлен в схему - то узлы "MqttPub" и "MqttDesc" установить невозможно.

Нельзя выбрать зависимые узлы, пока не установлен тот узел, от которого они зависят
Нельзя выбрать зависимые узлы, пока не установлен тот узел, от которого они зависят

Все эти удобства редактора реально облегчают жизнь.

Конечно, это далеко не всё, что нового появилось в редакторе ElDraw5 по сравнению с ElDraw. Но у меня нет цели переписывать тут всю инструкцию. Для понимания принципов работы этого достаточно.

Заключение

Тем, кому интересна тема визуального программирования микроконтроллеров - предлагаю загрузить ShIoTiny5 в модуль ESP8266 и попробовать сделать что-то самому.

Несколько полезных ссылок:

Страница проекта: https://shiotiny.ru/

Страница документации ShIoTiny5: https://shiotiny.ru/?mod=shiotiny-soft5 - там же ссылки на образы прошивок и инструкцию (изменяются по мере разработки).

Кому интересно, вот старый репозитарий прошивок ShIoTiny (НЕ ShIoTiny5!!!): https://github.com/shiotiny/ShIoTinyBin/ - там же расположена инструкция по прошивке модуля ESP8266. Прошивка ПО ShIoTiny5 полностью аналогична прошивке ПО ShIoTiny.

Вопросы, пожелания и предложения можно писать на почту: shiotiny@yandex.ru - она указана так же на сайте https://shiotiny.ru/?mod=contacts.

И, как говорится, простите автору его ошибки!

Всё-таки это ещё Alpha-версия ShIoTiny5.

Источник: https://habr.com/ru/articles/768700/


Интересные статьи

Интересные статьи

Ключевые мысли из умной книжки книги своими словами для того, чтобы понять: не все существующие подходы правильные и не все кажущиеся удобными решения на самом деле таковы.
Системы сильно менялись в 2021 году. Asana выпустила русскоязычную версию. Trello сделал рабочие области для группировки досок. Битрикс добавил редактор документов и интеграции с WhatsApp и Instagram....
Microsoft продолжает развивать свои учебные программы и курсы. Так, в конце прошлого года мы анонсировали возможность сдачи базовых (и некоторых продвинутых) экзаменов на русском языке. Мы также писал...
Сегодня Mail.ru Group провела ребрендинг – отныне, она именуется VK Group. Вместе с ребрендингом произошло и изменение правил пользовательских соглашений.Отныне каждый пользователь «Вконтакте», зареги...
Как я дошёл до жизни такой? Не так давно мне пришлось работать над бэкендом высоко нагруженного проекта, в котором нужно было организовать регулярное выполнение большого количества...