Русский
Русский
English
Статистика
Реклама

Iot platform

HMI на основе Node-red и Scadavis.io

22.06.2020 20:08:04 | Автор: admin
В настоящее время в связи с ростом популярности концепции IoT и развитем сопутствующих технологий многие производители программного обеспечения для промышленной автоматизации используют это в своих продуктах. Доступ к SCADA-системам через web-интерефейс идея и реализация не новая. Еще лет 10 назад Citect scada позволяла это делать с помощью веб-браузера IE. Но идея IoT это не только доступ к ресурсам через web, а также возможность агрегировать различные сетевые проводные и беспроводные интерфейсы, совмещать различные уровни архитектуры: field, edge, cloud. В поисках возможных решений использования совместного open-source IoT edge платформы и SCADA системы я наткнулся на интересную связку платформы Node-red и SCADA-фреймворк scadavis.io

Scadavis.io


Начну описание scadavis с той информации, которая представлена в официальных источниках. На странице сайта scadavis.io указано: Powerful SCADA-like visualization tools, free-form synoptic graphics for real-time data display. A pure HTML5 solution, mobile friendly, framework agnostic, with no special server requirements needed. All your data and graphics stay on your servers and clients. (Мощные SCADA-подобные инструменты визуализации, сводные графики произвольной формы для отображения данных в реальном времени. Чистое решение HTML5, мобильное, независимое от фреймворка, без особых требований к серверу. Все ваши данные остаются на ваших серверах и клиентах.)

Далее представлены примеры страниц, которые можно спроектировать.

Затем идет информация о графическом редакторе построения экранных страниц SCADAvis.io Synoptic Editor, который можно преобрести в Microsoft Store.



Также на сайте показана таблица, в которой представлены планы использования Scadavis.io. Система имеет три плана: Basic, Pro, Enterprice. Основные отличия Basic плана: стоимость бесплатный, нет технической поддержки, исходный код расположен на SCADAvis.io.

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

На момент исследования набор файлов был следующий:
  • Основной скрипт synopticapi.js, в котором орпеделена функция основного объекта для работы с svg страницами находится на ресурсе scdavis.io.
  • На этом же ресурсе расположены скрипты symbol_webreflection.js, содержащий функции для работы с символами и их свойствами.
  • А также, насколько я понимаю, две проприетарные обфусцированные библиотеки o1.js и o2.js. Детально разбираться в них я не стал, так как особо времени и желания не было.
  • Фреймом для подключения библиотек и отображения визуализации служит synoptic.html файл, расположенный там же.

Подключение скрипта проекта, документация API и Synoptic Editor представлены на ресурсе scadavis.io/learn.html

Далее проект содержит ряд open source библиотек для работы с svg, с различной визуализацией и графиками:
  • Vega-min.js, vega-lite.js vega.github.io/vega С помощью Vega вы можете описать внешний вид и интерактивное поведение визуализации в формате JSON, а также создавать веб-представления с использованием Canvas или SVG.
  • snap.svg-min.js snapsvg.io SVG позволяет создавать интерактивную, независимую от разрешения векторную графику, которая будет отлично смотреться на экране любого размера.
  • jquery.min.js jquery.com jQuery это быстрая, небольшая и многофункциональная библиотека JavaScript.
  • d3.js d3js.org Сочетает мощные компоненты визуализации и управляемый данными подход к манипулированию DOM.
  • chroma.min.js gka.github.io/chroma.js Это небольшая библиотека JavaScript без внешних зависимостей для всех видов преобразования цветов и цветовых шкал.


Node-red


Node-red чрезвычайно популярная платформа. В просторах сети находится огромное количество статей и видеороликов по ней. На wikihandbk.com следующее определение Node-RED это инструмент визуального программирования для интернета вещей, позволяющий подключать друг к другу устройства, API и онлайн-сервисы. Сами авторы позиционируют Node-red как IoT edge платформу:

image

Установка данной платформы также не составляет труда на различный операционных системах и состоит из двух шагов:
  • Установка Node.js: nodejs.org
  • Установка Node-red: npm install -g --unsafe-perm node-red


В блоге Ricardo Olsen показаны шаги по интеграции системы Scadavis.io и платформы Node-red, а также представлены исходные файлы экранных страниц формата svg. Автор рекомендует использовать плагин для Node-red node-red-contrib-uibuilder, который позволяет создвать динамический веб-интерфейс, используя различные js-библиотеки, а также использовать веб-фреймворк VueJS.

image

Однако это не единственный способ, позволяющий построить пользовательский интерфейс на базе Node-red. Имеется достаточно популярный модуль, содержащий ряд нод для создания дашбордов в реальном времени от создателей самой платформы node-red-dashboard.

image

Виджет Template может содержать любые допустимые директивы html и Angular / Angular-Material.Этот узел можно использовать для создания динамического элемента пользовательского интерфейса, который изменяет свой внешний вид на основе входного сообщения и может отправлять сообщения обратно в Node-RED. С помощью ноды Template можно создать объект экранной страницы Scadavis, задать необходимые свойства, эмулировать поведение объекта и связать теги (переменные) экранной страницы с внешней средой

Создание SCADA-страницы с помощью Template виджета
<div id="office"></div> <script src="http://personeltest.ru/aways/scadavis.io/synoptic/synopticapi.js">var office = new scadavis({  container: "office", //Указание созданного ранее контейнера  iframeparams: 'frameborder="0" height="610" width="687"',  svgurl: "drawing.svg" //SVG страница});office.zoomTo(0.82); //Масштабирование изображения        //Эмуляция поведения тегов        setInterval(function () {office.storeValue("TAG2", 100 + Math.random() * 80);office.storeValue("TAG3", 120 + Math.random() * 60);office.storeValue("TAG4", 150 + Math.random() * 60);office.storeValue("TAG5", 110 + Math.random() * 30);office.storeValue("TAG6", 200 + Math.random() * 100);office.storeValue("TAG7", 130 + Math.random() * 40);office.updateValues();value = 130 + Math.random() * 40;}, 5000);</script>


В статье Node-RED Dashboard Template Examples (AngularJS) хорошо показаны примеры взаимодействия ноды Template с другими нодами, которые обмениваются сообщениями msg в контексте Angular Scope.
Допустим, мы ходим в качестве свойства объекта msg.topic передавать имя тега, а в качестве значения msg.payload. И при каждом событии изменения объекта msg обновляем объект SCADA с помощью методов storeValue и updateValues

 (function(scope) {        scope.$watch('msg', function(msg) {            if (msg)                 office.storeValue(msg.topic, msg.payload);                office.updateValues();            }        });        })(scope);    

Также используя пример с ресурса https://scadavis.io/learn.html и функционал ноды Template можно обрабатывать различные события SCADA-объекта и передавать их другим нодам, например так:
(function(scope) {substationsynoptic.on("click", function (event, tag) {    var v = substationsynoptic.getValue(tag);    if (event.currentTarget.id === "TAPUP")        substationsynoptic.setValue(tag, v + 1, false, false);    else        if (event.currentTarget.id === "TAPDOWN")            substationsynoptic.setValue(tag, v - 1, false, false);    if (event.currentTarget.id === "XCBROPEN")        substationsynoptic.setValue(tag, false, false, false);    else        if (event.currentTarget.id === "XCBRCLOSE")            substationsynoptic.setValue(tag, true, false, false);    if (v === true)        substationsynoptic.setValue(tag, false, false, false);    else        if (v === false)            substationsynoptic.setValue(tag, true, false, false);    scope.send( {'payload':{ 'tag': tag, 'value': v }} );});})(scope);


Графический редактор


Пару слов о графическом редакторе построения визуальных страниц для СКАДА-системы. Как уже упоминалось выше на офсайте предлагается приобрести SCADAvis.io Synoptic Editor. Одняко, опять же это не единственный возможный вариант. Как известно из самого описания редактор построен на базе Inkscape SVG Editor. Практически это Inkscape с плагином позволяющий назначать теги (переменные) и другие свойства различным графическим компонентам svg файла. Т.е. для простого отображения странице в контексте scadavis достаточно иметь svg файл, который можно редактировать в любом удобном редакторе. Но на этом не все. Находится большое сходство между редактором компании ECAVA INTEGRAXOR www.integraxor.com Inkscape 0.91 SAGE 4.16 распостраняющимся бесплатно (необходимо только зарегистрироваться на сайте) и Synoptic Editor. Как в итоге оказалось, действительно возможно создавать и редактировать svg файлы для Scadavis, используя Inkscape 0.91 SAGE 4.16. Разница наблюдается при проектировании скриптовой анимации и некоторых других специфических вещах, которые отсутствуют в Object properties редактора SAGE.

image

Согласно описанию SCADAvis.io Synoptic Editor, для того чтобы назначить цвет объектов по условию включения, необходимо в колонке Limit указать цифру 2:

  • 0 not initialized state
  • 1 false (off) state
  • 2 true (on) state
  • 129 false (off) state plus failed value
  • 130 true (on) state plus failed value

image

Плагин для работы с PLC Siemens


В арсенале Node-red имеется плагин для работы с PLC Siemens node-red-contrib-s7, основанный на фреймворке nodeS7. Плагин достаточно прост и интуитивно понятен в использовании. Он содержит три ноды: S7 in, S7 out, S7 control. В основном используются первые две ноды для чтения и записи тегов в PLC. Один ньюанс, который нужно учитывать при работе с S7-1200, описан в доке к плагину. Я с этим сталкнулся ранее, когда использовал библиотеку Snap7

image

Необходимы некоторые дополнительные шаги настройки в ПЛК:

Optimized block access должен быть отключен для тех DB блоков, к которым мы хотим получить доступ
image

В разделе Защита свойств ЦП установите флажок Разрешить доступ с помощью PUT / GET
image

Краткое заключение


Преимущества подхода использования Node-red в качестве Web-SCADA подобной системы очевидны. Node-red популярная open-source IoT платформа, имеющая огромное сообщество, множество различных плагинов и решений, возможность интегрировать различные протоколы. На ресурсе support.industry.siemens также есть мануал по использованию Node-red и обсуждение использования платформы. SCADA-фреймворк такой, как scadavis.io является хорошим примером интеграции хорошо известного среди специалистов подхода визуализации SCADA-систем и IoT edge платформы.
Подробнее..

Recovery mode Цифровая индустрия непрерывная оптимизация процессов

23.12.2020 00:17:09 | Автор: admin

Цифровая индустрия 4.0 и IIoT (Industrial Internet of Things) это больше, чем просто загадочные термины. Они обозначают темы, касающиеся нас всех бизнеса, потребителей и коммуникаций в том числе. Сегодня на наших глазах уже происходят тектонические сдвиги, которые меняют привычный уклад вещей. Искусственный интеллект, роботизация, e-commerce, виртуальная реальность, 3D-печать, биотехнологии, кибербезопасность все это части новой экономической реальности. Зарубежные партнеры Коммуникационного агентства 4D - Communication Consultants, подготовили материал для блога GlobalCom PR Network о том, как она повлияла на бизнес-процессы в компаниях, в том числе на их PR.

Как мы можем создать наиболее эффективные рабочие и производственные процессы?

Этим вопросом задаются предприятия во всех отраслях с самого начала появления термина бизнес. Однако стремительное развитие процессов всегда заставляло множество предпринимателей встретить новые проблемы. Одной из таких стала, так называемая, четвертая промышленная революция или Индустрия 4.0. Впервые об этой концепции заговорили на Ганноверской выставке в 2011 году, определив ее как внедрение киберфизических систем в заводские процессы. Иными словами, Индустрия 4.0 является переходом на полностью автоматизированное цифровое производство, управляемое интеллектуальными системами в режиме реального времени и в постоянном взаимодействии с внешней средой, выходящее за границы одного предприятия с перспективой объединения в глобальную промышленную сеть товаров и услуг.

Мы стоим у истоков четвертой промышленной революции. Она началась на рубеже нового тысячелетия и опирается на цифровую революцию. Ее основные черты это вездесущий и мобильный Интернет, миниатюрные производственные устройства (которые постоянно дешевеют), искусственный интеллект и обучающиеся машины,- Клаус Мартин Шваб немецкий экономист; основатель и бессменный президент Всемирного экономического форума в Давосе.

Основными элементами Индустрии 4.0 являются:

  • Интернет вещей;

  • Искусственный интеллект, машинное обучение и робототехника;

  • Облачные вычисления;

  • Big Data;

  • Аддитивное производство (производство трёхмерных объектов);

  • Кибербезопасность;

  • Интеграционная система;

  • Моделирование;

  • Дополненная реальность.

Сегодня, особенно после пандемии, уже невозможно представить, что реальный мир не взаимодействует вплотную с виртуальным. Именно в этой синергии зародились новые киберфизические комплексы, объединенные в одну цифровую экосистему. Теперь предприятия производят все что угодно от умных колонок до роботов-пылесосов. В своейстатьедля Foreign Affairs Клаус Шваб выделяет четыре основных эффекта, которые четвёртая промышленная революция может произвести на бизнес:

  • Рост ожиданий заказчика;

  • Улучшение качества продуктов;

  • Совместные инновации;

  • Новые формы организации.

Для того, чтобы успешно внедрить приведенные эффекты в предприятия, во всем мире вводятся основные принципы построения.

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

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

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

Цифровые экосистемы и платформы

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

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

 Владимир Григорьев / Фотобанк Лори Владимир Григорьев / Фотобанк Лори

Новые производственные и бизнес-модели

Новые модели по совершенствованию производства и бизнеса быстрое развитие, вызванное цифровизацией, которое дает три преимущества для планирования ресурсов предприятия:

  • Визуализация;

  • Оптимизация;

  • Автоматизация.

Степень прозрачности каждого этапа работы выше, чем когда-либо. Это позволяет регулярно, оперативно и качественно регулировать работу. Кроме того, Интернет вещей порождает новые бизнес-модели: компании открывают свои платформы для клиентов или используют соответствующие клиентские платформы для дальнейшего совместного развития своих продуктов и решений. Хорошо известным примером является облачная открытая операционная системаIoT Siemens MindSphere, которая соединяет продукты, заводы, системы и машины и предоставляет разработчикам и пользователям доступ к большому количеству данных.

Значение для бизнеса и коммуникаций

Внедрение принципов Индустрии 4.0 позволяет получить ряд преимуществ, недоступных в традиционных моделях прошлого. Например, теперь предприятия могут достичь индивидуального подхода и персонализировать заказы согласно личным предпочтениям клиентов. Старые заводы и фабрики превращаются в smart и начинают выпускать буквально штучные продукты по индивидуальному заказу. При всем этом снижаются удельные затраты на производство единицы продукции, компании получают возможность производить уникальный персонализированный продукт. Затраты на выпуск продукции по индивидуальному заказу на предприятии с глубокой автоматизацией невелики: если раньше под каждую такую пару новых тюбиков зубной пасты пришлось бы перенастраивать оборудование руками, то сегодня это делает компьютерная система сама и за считанные секунды.

Четвертая промышленная революция меняет не только бизнес отдельных компаний, она влияет на расстановку сил на глобальном уровне. Благодаря ей многие компании перенесли или сохранили производство у себя в странах. Например, Adidasперенесчасть своего производства обратно в Германию. Теперь на новой фабрике все операции роботизированы, что позволило бренду оптимизировать производство, а также увеличить скорость изготовления. Tesla - американская компания, производитель электромобилей и решений для хранения электрической энергии, также хотела открыть завод в Китае, но решила оставить основное предприятие в США, т.к. все необходимые процессы с помощью роботизации показали отличные результаты в родных краях. Более того, сейчас строится второе предприятие в Техасе. А британская компания Symington's объяснила перенос производства лапши на родину тем, что затраты на ее выпуск в Йоркшире практически сравнялись с издержками на фабрике в Гуанчжоу. Зарплаты в реальном выражении в Великобритании тоже падают, к тому же компании оценивают и другие факторы, такие как контроль за качеством продукции, растущие транспортные расходы и необходимость быстрой доставки сырья и продукции потребителям, которые стало легче осуществлять благодаря процессу цифровизации.

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

Например, в период начала пандемии наш клиент мультимедийная платформа Okko одними из первых запустили онлайн-проект Шоу ON - живые концерты звёзд в режиме online. Мы работали над PR-сопровождением проекта и продвижением отдельных концертов, в частности. По итогам работы проект получил более 46 млн просмотров онлайн, более 3000 публикаций в СМИ, а общий охват анонсирования новостей о концертах составил более 900 млн человек. Поскольку публикации не имели коммерческой составляющей, данные оцифрованные итоги применения новых технологий важны и показывают всю прозрачность коммуникаций.

Более четкие месседжи

Данная тема является весьма щекотливой: компании должны активно отчитываться перед заинтересованными сторонами о своем прогрессе что нелегко при такой сложной и конвергентной теме, поскольку затрагиваются и объединяются все сферы компании в одной экосистеме. Этому свидетельствует совместно проведенноеисследованиеоцифровки немецких МСП, нашим партнером Communication Consultants и VICO Research, специализирующейся на цифровизации предприятий. Оно говорит о том, что даже в Германии производства по-прежнему мало говорят о собственной компетенции в области оцифровки и склонны больше сообщать о продуктах и технологиях, чем личном опыте цифровизации. Согласно исследованию, в информационном поле присутствует только 2% сообщений на тему оцифровки местных компаний.

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

Подробнее..

Знакомство с Node-RED и потоковое программирование в Yandex IoT Core

28.09.2020 14:11:21 | Автор: admin


В этой статье я хочу разобрать один из самых популярных опенсорс-инструментов, Node-RED, с точки зрения создания простых прототипов приложений с минимумом программирования. Проверим гипотезу о простоте и удобстве таких средств, а также рассмотрим взаимодействие Node-RED с облачной платформой на примере Yandex.Cloud.


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


Есть ряд ограничений, связанных с хранением данных клиентов в облачных дата-центрах других государств. Поэтому у пользователей зарубежных ресурсов все чаще появляется устойчивое желание использовать гибридные подходы, применять локализованные облачные сервисы, расположенные на территории России. В таких случаях для реализации сценариев интернета вещей вполне оправдано объединение открытых технологий IBM с готовым облачным сервисом Яндекса.


Кратко о Node-RED, его истории, создателях и сообществе


Как гласит первоисточник, Node-RED это инструмент потокового программирования, первоначально разработанный командой IBM Emerging Technology Services и в настоящее время являющийся частью JS Foundation.


В качестве ключевой составляющей Node-RED выступает парадигма потокового программирования, которое было изобретено в 70-х Джеем Полом Моррисоном. Потоковое программирование это способ описания поведения приложения в виде сети черных ящиков или узлов, как они называются в Node-RED. Каждый узел имеет четкую цель к нему поступают некоторые данные, он что-то делает с этими данными, а затем передает их на следующий узел. Сеть отвечает за поток данных между узлами.


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


Node-RED работает в среде исполнения Node.js, а для создания или редактирования потока (Flow) используется браузер. В браузере вы можете создавать свое приложение путем перетаскивания необходимых узлов (Node) из палитры в рабочую область и соединять их вместе. Одним кликом по кнопке Deploy приложение разворачивается в среде исполнения и запускается.


Палитра узлов может быть легко расширена путем установки новых узлов, созданных сообществом, а созданные вами потоки могут быть легко переданы в виде файлов JSON.


Node-RED начал свою жизнь в начале 2013 года как совместный проект Ника О'Лири и Дэйва Конвея-Джонса из группы IBM Emerging Technology Services.


Проект стартовал как подтверждение концепции визуализации и манипулирования мэппингами между топиками сообщений в протоколе Message Queuing Telemetry Transport (MQTT). Node-RED быстро стал более универсальным инструментом, который можно было легко расширять в любом направлении.


Исходный код проекта был открыт в сентябре 2013 года. С тех пор он разрабатывался в открытом виде, кульминацией развития стало признание Node-RED одним из фундаментальных проектов JS Foundation в октябре 2016 года.


Почему проект называется Node-RED?


Со слов авторов:

Название было веселой игрой слов, звучащих как Code Red.
Это название приклеилось к проекту и стало существенным шагом вперед по сравнению с тем, как он назывался в первые несколько дней.
Часть Node отражает суть модели потокового программирования (поток/узел) и основную среду выполнения Node.JS.
Окончательного решения о том, что же означает часть RED, принято так и не было.
Одно из предложений Rapid Event Developer (быстрый разработчик событий), но мы никогда не чувствовали себя обязанными что-либо формализовать.
Мы придерживаемся названия Node-RED."

Node-RED предоставляется по лицензии Apache 2.0. Важно понимать и осознавать условия лицензии по этой ссылке есть краткая выдержка с основными свойствами.


Лицензия разрешает коммерческое использование, но при этом накладывает и ряд ограничений. Вот основные из них: при использовании торговой марки Node-RED (принадлежащей OpenJS Foundation) нельзя ее искажать; кроме того, есть ограничение ответственности (Liability/Warranty) участники проекта не могут быть привлечены к ответственности в случае причинения убытков в процессе некорректного использования их продукта.


Постановка задачи интеграция Node-RED c Yandex IoT Core


Сначала хочу отметить: вся эта затея сугубо самообразовательная и подкреплена только непреодолимой тягой энтузиастов к познанинию нового. Например, хотелось изучить возможности облачных сред и сервисов Яндекса, которые могут быть безвозмездно получены для тестирования своих гениальных идей. Ну а чтобы была польза для дела, было решено посмотреть, насколько совместимы реализованные в проекте Node-RED узлы (из коробки на уровне MQTT) с интерфейсами сервиса IoT Core.


Задача выглядит просто:


  • Развернуть и настроить виртуальную машину в облаке
  • Установить и запустить в нужной конфигурации Node-RED
  • Создать и должным образом настроить сервис IoT Core
  • Эмулировать IoT-устройство в Node-RED с набором параметров
  • Подключить созданное устройство к облачной IoT-платформе
  • Отправлять сообщения в облако и получать корректные ответы
  • Визуализировать результаты в виде прототипа приложения

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


Создание облачной среды и установка Node-RED


Создание ВМ


Для создания виртуальной машины, на которой мы далее запустим Node-RED, зайдем в Yandex.Cloud и перейдем в Консоль. В сервисе Compute Cloud нажимаем Создать ВМ.


Задаем машине любое разрешенное имя и в качестве операционной системы выбираем CentOS. Для запуска Node-RED подходит любая из приведенных ОС, но в статье мы рассмотрим порядок работы только с CentOS.


Выбор ОС


Выполнение тестового сценария не требует больших ресурсов, поэтому выставляем все на минимум. Этот ход также позволит сэкономить ресурсы пробного периода, если вы решили развернуть Node-RED только для ознакомления.


Выделяемые ресурсы


Работа с ВМ будет осуществляться через SSH, поэтому пусть у машины будет автоматически выделенный публичный адрес.


Для подключения к машине по SSH необходимо указать публичный ключ. Сгенерируем SSH-ключи командой ssh-keygen -t rsa -b 2048 в терминале, потребуется придумать ключевую фразу.


Теперь требуемый ключ хранится в ~/.ssh/is_rsa.pub, копируем его в поле SSH-ключ и нажимаем Создать ВМ.


Сеть и SSH


Подключение к ВМ


После завершения подготовки ВМ в сервисе Compute Cloud появится наша машина с заполненным полем Публичный IPv4.


Также нам необходим логин, который мы указывали на предыдущем шаге в разделе Доступ. Выполним подключение к машине по SSH командой $ ssh <login>@<IPv4>. При подключении потребуется ввести ключевую фразу, которую мы указали на этапе генерации ключей.


$ ssh <login>@<IPv4>Enter passphrase for key '/Users/<user>/.ssh/id_rsa': Last login: Wed Jul 15 08:42:53 2020 from <your host ip>[<login>@node-red ~]$ 

Установка Node-RED


Теперь мы можем установить Node-RED. Самый удобный способ для новой, пустой системы Linux installers for Node-RED из репозитория проекта. Так как мы используем CentOS 8, нам необходима вторая команда для ОС, основанных на RPM:


$ bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/rpm/update-nodejs-and-nodered)...  Stop Node-RED                         Install Node.js LTS                    Node v10.19.0   Npm 6.13.4  Install Node-RED core                  1.1.2   Add shortcut commands                 Update systemd script                 Update public zone firewall rule    Any errors will be logged to   /var/log/nodered-install.logAll done.  You can now start Node-RED with the command  node-red-start  Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880...

Скрипт установит LTS-версию Node.js, базовую версию Node-RED, создаст скрипт автозапуска для systemd и по желанию создаст правила для порта 1880 в файрволе. Для проверки успешности установки можно запустить команду:


$ node-red-start

Примечание: для выхода из Node-RED нажмите Ctrl+C.


Как активировать автозапуск и старт службы с помощью systemctl:


$ sudo systemctl enable --now nodered.service

После этого по адресу http://{ip вашей машины}:1880 в браузере будет доступен Node-RED.


Запуск Node-RED


Подготовка и настройка сервиса Yandex IoT Core


Возвращаемся в Консоль, выбираем IoT Core и нажимаем Создать реестр. Указываем любое подходящее имя. Далее определимся со способом авторизации.


IoT Core поддерживает два способа: с помощью сертификатов и по логину-паролю. Для нашего тестового сценария намного быстрее использовать последний, поэтому заполним поле Пароль. Длина пароля минимум 14 символов.


Создание реестра


После создания переходим в реестр во вкладку Устройства слева и нажимаем Добавить устройство.


Аналогично реестру задаем имя и пароль.


Теперь в пункте Обзор реестра появился его ID и пароль (в скрытом виде), которые мы указали при создании реестра. То же самое с устройством: на странице устройства есть его ID.


Пример создания простого приложения в Node-RED


Перейдем в http://{ip вашей машины}:1880. Импортируем готовый пример, где нам потребуется лишь указать данные реестра и устройства.


В меню в правом верхнем углу Node-RED нажмем Import. Flow в формате .json берем отсюда и либо копируем содержимое в поле, либо скачиваем файл и нажимаем select a file to import.


В новой вкладке появится flow testing connection.


Рассмотрим добавленные узлы. Send data узел типа Inject, предназначен для ручного или автоматического запуска flow.


Device payload узел-функция, позволяет выполнять JavaScript для обработки данных, проходящих через этот узел.


device mqtt-out-узел с настраиваемым MQTT-подключением, предназначен для публикации данных в топик.


Device flow


Два раза кликаем по узлу device.


Нам необходимо заменить <id_реестра> на ID нашего реестра в IoT Core. Далее редактируем данные в Server. Во вкладке Security указываем username это ID созданного нами устройства, а password пароль, придуманный на этапе создания устройства. Затем нажимаем Update, далее Done.


Протестируем соединение: в правом верхнем углу нажмем Deploy. Под узлом device появится подпись connected.


Импортируем flow с dashboard таким же образом. После импорта будет показано сообщение о недостающих компонентах, загрузим их. В меню в правом верхнем углу перейдем в Manage palette. В появившемся окне во вкладке Install в поисковом поле напишем node-red-dashboard и установим самый первый из найденных пакетов. Таким же образом установим node-red-contrib-web-worldmap.


Flow получился намного интереснее предыдущего, видны новые узлы.


Так, registry mqtt-in-узел, принимает сообщения из указанного в настройках топика и передает их следующим узлам.


Измеряемые данные приходят в строке, поэтому применяется узел разбора сообщений json. Он может конвертировать JSON-объект в его JS-представление и обратно.


Parsing JSON и JSON возвращают полученные измерения уже в виде отдельных объектов, которые далее передаются узлам, отвечающим за элементы Dashboard.


App Flow


Теперь необходимо настроить узел registry. Аналогично первому flow записываем наш ID реестра и переходим в настройки сервера iot-core-subscription.


Во вкладке Security добавляем данные реестра, сохраняем изменения и нажимаем Deploy.


Если все поля заполнены верно, то после развертывания под узлом registry тоже появится подпись connected.


Последння вкладка в окне справа (с иконкой столбчатой диаграммы) отвечает за Dashboard. Перейти в Dashboard можно по кнопке:


Ссылка на Dashboard


Каждые три секунды устройство из flow testing connection генерирует данные, отправляет их в топик нашего реестра, а flow Smart Utilities, в свою очередь, подписывается на этот топик и обновляет Dashboard в соответствии с данными, приходящими из IoT Core.


Dashboard


В качестве результатов и краткого заключения


Node-RED действительно может скачать любой желающий, безвозмездно. При первом знакомстве он вызывает вопросы в плане логики работы и прививает свою непередаваемую любовь к узлу "debug" и вкладке "debug messages". Но когда осмотришься и разберешься, то все встает на свои места и становится очень просто выполнять любые действия. Совсем без познаний в программировании обойтись не получится требуется хоть какое-то представление о том, что такое переменные, условия, циклы, массивы, JSON сообщения и как осуществлять их разбор. Однако узлы из раздела "Network", такие как "mqtt in/out", заработали с сервисом Yandex IoT Core вообще без проблем при условии правильной конфигурации.


Я умышленно не стал слишком детально описывать, как создается само приложение, поскольку есть исходник потока в JSON. Да и сама идея проекта Node-RED предполагает, что любой желающий может взглянуть на поток и понять, что он делает, без необходимости разбираться в отдельных строках кода на каждом узле. Но в код лучше заглянуть.


Ссылки на полезные материалы



Отдельное спасибо за помощь при создании статьи:


Подробнее..

Микроволновка, знающая о тебе всё что такое Интернет вещей (IoT)?

04.09.2020 14:06:16 | Автор: admin
С появлением на рынке стиральных машин, духовок, дверных замков и даже ваз с подключением к интернету, Bluetooth- или Wi-Fi-модулем в борьбу за интернет-потребителя включились не только разработчики ПО, но и промышленные дизайнеры. Так явление интернет вещей (Internet of Things) стал неотъемлемой частью нашей жизни.

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

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

image

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

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

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

Хорошим примером такого использования информации являются различные фитнес приложения, такие как Google Fit. Они обрабатывают информацию с фитнес-трекеров, смарт-браслетов, умных часов и составляют общую картину состояния здоровья, физических нагрузок, а также возможных проблем с сердцебиением, уровнем сахара и температурой тела. Если добавить к этому онлайн-платформу для медиков и больниц, получается сверхплатформа по управлению качеством жизни сотен тысяч людей.

image

Но есть и белые пятна в этом идеальном мире интернета вещей. Трудность состоит в том, как грамотно совместить разные платформы и устройства от разных поставщиков и при этом избежать риска утечки информации и их несанкционированного использования. Уже сейчас разрабатываются такие гибридные инструменты для работы на различных устройствах и платформах: Samsung SmartThings и Apple HomeKit для решений по смарт-домам; Dash и Mojio для интеллектуального управления машинами; Validic и Jawbone UP для контроля состояния здоровья.

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

В свою очередь, взаимодействие разработчиков с потребителями породило таких гигантов, как Instagram, WeChat, Uber и даже Angry Birds. Многомиллиардные бизнесы возникли из пожеланий потребителей, а не из идеи разработчиков. Таким образом, каждый может сделать вклад в то приложение, которым будет пользоваться. Это и есть основной стимул для роста интернета вещей.

Для создания продукта разработчики открывают доступ пользователям и потенциальным покупателям, чтобы предлагать, разрабатывать и использовать новые идеи для уже работающих платформ. Одними из таких платформ являются Apple CarPlay и Google Android Auto, которые дают доступ производителям автомобилей к своим технологиям.

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

Путь одной команды от велосипедов до IoT-платформы

28.10.2020 20:04:59 | Автор: admin
Привет, Хабр!
Мы, команда Rightech, наконец-то решили начать вести блог. У нас накопилось много опыта в построении высоконагруженных IoT-систем, и мы решили, что просто обязаны им делиться! Совсем недавно прошел запуск публичной версии нашей платформы RIC (Rightech IoT Cloud), и теперь ей может воспользоваться каждый желающий. Но сначала расскажем, кто мы и откуда появились.

C чего всё начиналось


В далеком 2011 году мы скорее были командой фрилансеров из города Орел и начинали с того, что программировали ряд аппаратных разработок, связанных с реализацией систем автоматизированных измерений и управления. Подключали сенсоры и актуаторы к микроконтроллерам, реализовывали протоколы обмена, первичную обработку данных и автоматизацию.

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

Наши заказчики искренне не понимали, почему они не могут смотреть/тестировать промежуточный результат. Почему он выглядит как бегущие строки в консоли, а для управления актуатором нужно не нажать на тачскрин, а отправить Modbus команду. К программированию интерфейсов мы приступали в тот момент, когда было уже готово API и проработана автоматизация.

На тот период времени наш рабочий процесс представлял собой следующую последовательность:

  1. физически подключить компоненты системы в одну сеть;
  2. реализовать протоколы обмена данными;
  3. реализовать обработку данных (фильтрация, применение функций преобразования, проведение косвенных измерений и т.д.);
  4. преобразовать данные в высокоуровневые структуры;
  5. описать конечные автоматы системы;
  6. реализовать API для вывода данных в интерфейс и запуска автоматов;
  7. реализовать интерфейс системы (тачскрин/нативное приложение/интеграция во внутренние системы заказчика).

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



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



Первоначальная идея платформы RIC трансформировалась и изменялась вместе с рынком, находила все больше областей применения. Разработанный нами за 4 года фреймворк позволял сосредоточиться на процессах создания ценности решения, воплощения задуманной бизнес-логики и продвижения конечного продукта на рынок. RIC был полностью готов в 2016 году, оставалось только создать компанию и найти деньги

Rightech. История создания


У нас совершенно отсутствовал опыт в привлечении денег. Однако в 2016 году нам удалось привлечь первые инвестиции от фонда, вложившегося в компанию Делимобиль. На эти деньги мы создали компанию Rightech, которая стала домом для нашего проекта. А первым действительно крупным внедрением нашей технологии, как вы уже догадались, стал каршеринг Делимобиль. Сразу оговорюсь, что приложения и CRM систему разрабатывали не мы, но тысячи автомобилей и терабайты машинногенеренных данных стали достойной проверкой, которую RIC уверенно прошел.

Помимо шерингов, к 2019 году мы успели автоматизировать Digital Out Of Home рекламу, построить сбор данных с газотурбинных генераторов электроэнергии и многое другое. Команда занималась не только рыночными внедрениями, но и развивала RIC в целом: реализовали множество транспортных протоколов, оптимизировали серверную инфраструктуру и расширили систему автоматизации.

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

Подробнее о платформе


Так что же такое IoT-платформа? Во что превратился наш фреймворк заменитель велосипедов RIC?

Любой IoT проект состоит из следующих принципиальных компонентов или слоев:

  • устройства умные устройства, датчики и актуаторы, на основе которых осуществляется сбор данных и автоматизация;
  • сети передачи данных по ним происходит передача данных и команд между компонентами IoT системы;
  • платформа инфраструктура, обеспечивающая интероперабельность (способность к взаимодействию) компонентов системы, обработку данных и передачу ее в прочие системы;
  • приложения представляет собой конечную цель IoT-проекта, на этом уровне работают конечные пользователи и на нем же, по сути, создается ценность всей системы.



Rightech IoT Cloud (или RIC) это облачная платформа Интернета Вещей, выступающая в качестве промежуточного программного обеспечения (middleware) при разработке IoT-решения. RIC включает в себя все необходимые программные элементы, позволяющие инженерам любого уровня создавать приложения с использованием любых IoT-устройств без необходимости создавать соответствующую программно-аппаратную инфраструктуру. Да-да, именно любых устройств. Мы выложили не все реализованные протоколы в публичную версию RIC. Если вы не нашли протокол своего устройства, можете нам написать и мы его обязательно добавим в публичную версию.

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

В отличие от существующих аналогов платформа Rightech не требует написания кода, кроме относящегося к созданию Приложений, являющихся целью IoT-проекта. Интеграция платформы с уровнем приложений происходит посредством высокоуровневого REST API, и производится не сложнее, чем интеграция Google карт.



Проще говоря, платформа это конвейер IoT данных. И этот конвейер можно настраивать так, как захочется каждому отдельному пользователю. Он решает базовые задачи, связанные с обеспечением подключения устройств и их взаимодействия между собой, управления устройствами, обработкой, хранением и анализом поступающих от устройств данных, проектированием сценариев автоматизации бизнес-логики и их исполнением, интеграцию с приложениями и сторонними системами, обеспечение безопасности на каждом уровне взаимодействия компонентов системы и многие другие.

Публичное облако


Весной мы запустили регистрацию на наше публичное облако, и теперь каждый пользователь может бесплатно подключить до 10 устройств и спрототипировать свой будущий бизнес или же автоматизировать, например, теплицу или дом. Любой IoT проект может взять всё необходимое в платформе RIC и реализовать свою уникальную систему обработки и представления получаемых данных практически без программирования тех самых 90% айсберга.

Наш короткий рассказ подошел к концу. Надеемся, что мы вам понравились, и в свою очередь обещаем делиться своим опытом и актуальной информацией в сфере IoT.
Кстати, мы есть и в Телеграм с чатом единомышленников.
Just do IoT!

Полезные ссылки:


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

Анонсируем новую версию Rightech IoT Cloud v2.2. Небольшой обзор

04.12.2020 16:09:39 | Автор: admin
Всем привет!

В рамках нашего блога мы планируем делиться не только историями и опытом, но также освещать последние нововведения и изменения, связанные с платформой Rightech IoT Cloud (RIC).
Недавно мы опубликовали версию RIC v2.2. А теперь рассказываем, что же именно вошло в релиз этого квартала.

Ну что, погнали?

Опираясь на отзывы и предложения наших пользователей, мы решили добавить следующие функции:

  • Import/export сущностей платформы, а именно моделей, объектов и автоматов.
  • Обработку ошибок в редакторе автоматов.
  • RIC-app упрощенную мобильную версию платформы.

image

Предисловие


Если вы новый пользователей нашей платформы, то наверное, многие из перечисленных параметров выше вам непонятны. Давайте немного разберем, что есть что.

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

Объект является представлением устройства, над которым осуществляется контроль и управление посредством использования функций платформы.

Автомат это сценарий автоматизации, позволяющий выстраивать логику поведения вашего устройства.

Более подробно ознакомиться со всеми параметрами платформы можно в нашей документации.

Вернемся к обновлениям

Import/export сущностей платформы


Все сущности в платформе представляют собой JSON-файлы. Такой формат позволяет организовать удобный обмен данными. Мы добавили в интерфейс возможность экспортировать и импортировать отдельные элементы ваших решений в формате JSON. Импортировать сущность можно из файлов или напрямую по ссылке, например, через raw-режим просмотра файлов на github.

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

Модели

Возможность импорта/экспорта моделей особенно помогает при передаче своей реализации задачи другому человеку. Очень удобно поделиться программным кодом в виде, например, скетча Arduino и моделью объекта в виде JSON-файла.

Экспорт модели:

image

Импорт модели из файла:

image

Импорт модели по ссылке:

image

Объекты

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

Экспорт объекта:

image

Импорт объекта из файла:

image

Импорт объекта по ссылке:

image

Автоматы

Также появилась возможность поделиться своими сценариями и использовать автоматы других пользователей. Изучайте опыт других пользователей. Делитесь своими достижениями. Спрашивайте совета и не бойтесь критики. Мы также будем выкладывать собственные проекты на github например, те решения, которые уже используются в нашем офисе и в повседневной жизни наших сотрудников.

Экспорт автомата:

image

Импорт автомата из файла:

image

Импорт автомата по ссылке:

image

Обработка ошибок в редакторе автоматов


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

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

Именно поэтому мы добавили в интерфейс создания и редактирования автоматов дополнительную информацию о возникающих ошибках.

Автомат с ошибками:

image

Состояния

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

Ошибки в состоянии:

image

Переходы

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

Возможно несколько вариантов ошибок:

  • Отсутствие события, которое вызывает переход между состояниями;
  • Отсутствие параметра, который используется в условии перехода.


Ошибки в переходах:

image

Ric-app


Рады сообщить, что у нас появилась мобильная версия. Приложение обладает основными возможностями платформы, связанными с контролем в режиме реального времени состояния объекта и его местоположения, управлять объектами посредством отправки команд, следить за оповещениями платформы.

Приложение для Android доступно в Play Market по ссылке. Приложение для iOS в скором времени появится в App Store.

Объекты

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

Список объектов:

image

Состояние объекта:

image

История объекта:

image

Управление объектом:
image

Карта

Меню с картой аналогично карте в интерфейсе платформы.

Карта:

image

Оповещения

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

Оповещения:

image

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

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

Stay tuned & just do IoT!

Полезные ссылки:


Обучающие видеоролики на примере мини-кейсов rightech.io/video-tutorials
Создайте свой IoT-проект уже сейчас dev.rightech.io/signup
Присоединяйтесь к единомышленникам t.me/rightech_iot
GitHub github.com/Rightech/ric-public
Вопросы и предложения development@rightech.io
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru