Node-RED — еще один путь к Интернету вещей (IoT)


Кажется, каждый пытается выйти на вершину Интернета вещей (IoT) с каким-то программным обеспечением, которое будет править миром — в данном случае более или менее буквально. Теперь у IBM есть инструмент с открытым исходным кодом на базе node.js под умным названием Node-RED.

Node-RED, который является проектом британской команды IBM Emerging Technology, представляет собой визуальный инструмент для соединения вещей воедино. Хотя в нем конкретно упоминается «Интернет вещей», кажется, что он способен на большее, чем эта узкая цель.

Node-RED - еще один путь к Интернету вещей (IoT)

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

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

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

Введение — Node-RED Essentials IoT

Введение — Node-RED Essentials IoT

Также имеются узлы для работы с небольшим набором популярных плат разработки: Arduino, BeagleBone Black и Raspberry Pi. Чтобы заставить поток работать на любом из этих устройств, необходимо загрузить и настроить некоторое программное обеспечение. После этого вы можете управлять ими с помощью узла вывода и/или узла ввода. Например, выходной узел Arduino может использоваться в цифровом, аналоговом или серворежиме. Соответствующий входной узел работает в цифровом или аналоговом режиме.

Поддержка Raspberry Pi не так хорошо упакована. Есть узел GPIO, который прост, или вы можете установить WiringPi, который может быть использован из стандартного функционального узла. Это означает, что вам придется писать больше кода, чем, скажем, для Arduino.

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

Трудно сказать, какую именно проблему призван решить Node-RED. Идея использования графического редактора для соединения узлов вместе, который преобразует объекты JSON, которые они передают друг другу, очень хороша. При наличии достаточного количества узлов разных типов можно было бы использовать его для создания систем, которые собирают и обрабатывают данные и даже реагируют на них. Если вы сможете написать для него коннектор на JavaScript, то сможете интегрировать другое оборудование в качестве узлов приемника или передатчика, но это может быть непросто.

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


Добавить комментарий