Node-RED:Содержание

Материал из Онлайн справочника
Перейти к: навигация, поиск

Проверка/Оформление/Редактирование: Мякишев Е.А.


Содержание

Введение[1]

Node-RED – это инструмент визуального программирования для интернета вещей, позволяющий подключать друг к другу устройства, API и онлайн-сервисы.

Создание потоков прямо в браузере

Nodered Browser-based flow editing.png

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

Также в наличии текстовый редактор, позволяющий создавать JavaScript-функции прямо в редакторе Node-RED.

Встроенная библиотека позволяет сохранять полезные функции, шаблоны и потоки для повторного использования.

Создан на базе Node.js

Nodered Built on Nodejs.png

Упрощенная среда выполнения Node-RED разработана на базе Node.js и благодаря этому максимально использует его событийно-ориентированную, неблокирующую модель. Это делает Node-RED идеальным приложением для запуска на сетевой периферии – на недорогих устройствах вроде Raspberry Pi, а также в «облаке».

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

Обмен потоками

Nodered Social Development.png

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

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

Локальный запуск

Platform-local.png

На устройстве

Platform-device.png

В облаке

Platform-cloud.png

Руководство пользователя[2]

Использование Node-RED

Запуск Node-RED

Дополнительно

Рецепты для работы с Node-RED[3]

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

Сообщения

Управление потоком

Обработка ошибок

Работа с разными форматам данных

Конечные точки HTTP

HTTP-запросы

MQTT

Создание нод [4]

Главный способ расширения возможностей Node-RED – добавление в его «палитру» новых нод.

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

  • У нод должна быть четкая цель. Одна нода, в которой задействованы почти все опции API, потенциально менее полезна, чем несколько нод, служащих каждая своей цели.
  • Ноды должны быть такими, чтобы ими было легко пользоваться (независимо от функционала). Спрячьте сложность, старайтесь не загружать пользователя сленгом и специфическими знаниями из разных областей.
  • Пускай ноды будут не слишком требовательными к типу данных, хранящихся в свойствах входящих сообщений. Значения в свойствах сообщения могут быть строками, числами, булевыми значениями, буферами, объектами, массивами и значениями «null». Столкнувшись с любым из этих типов данных, нода должна обработать с максимальным удобством для пользователя.
  • Ноды должны быть постоянны в том, что они отправляют. Ноды должны документировать, какие свойства они добавляют в сообщения. Кроме того, их поведение должно быть понятным и предсказуемым.
  • Нода должна стоять в начале, середине или конце потока – но не всюду сразу.
  • Ноды должны уметь ловить ошибки. Если нода выдаст необработанную ошибку, Node-RED остановит работу всего потока, т.к. это ставит под вопрос состояние всей системы. Ноды должны ловить ошибки и регистрировать обработчики ошибок для любых генерируемых ими асинхронных вызовов везде, где это возможно.

Библиотеки

node-red

Ввод

Вывод

Функция

Устройство хранения

Дополнительно

Raspberry Pi

Конфигурация

node-red-node-serialport

Ввод

Вывод

Функция

Конфигурация

node-red-node-rbe

Функция

node-red-node-email

Общение

node-red-node-twitter

Общение

Конфигурация

node-red-node-tail

Устройство хранения

node-red-node-sentiment

Аналитика

node-red-node-feedparser

Дополнительно

node-red-contrib-acepro

ACEPRO

node-red-contrib-knx-easy

Ввод

Вывод

node-red-contrib-nefit-easy2

Функция

node-red-dashboard

dashboard

node-red-node-twilio

mobile

node-red-node-random

Функция

node-red-contrib-play-audio

Вывод

node-red-contrib-pythonshell

Ввод

node-red-contrib-mongodb

Резерв

node-red-contrib-aws

Резерв

См.также

Внешние ссылки

  1. nodered.org - Getting Started
  2. nodered.org - User Guide
  3. cookbook.nodered.org - Node-RED Cookbook
  4. nodered.org - Creating Nodes