Node-RED:Содержание: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 18: | Строка 18: | ||
<references /> | <references /> | ||
{{ИнфоОСтр | |||
|Название=Node-RED | |||
|Метки=node-red, NODE-RED, тщвукув, тщву-кув, книга по node-red, справочник по node-red, wiki по node-red | |||
|Описание=[[File:nodered Browser-based flow editing.png|center]] | |||
[[Node-RED]] – это инструмент визуального программирования для интернета вещей, позволяющий подключать друг к другу устройства, API и онлайн-сервисы. | |||
}} | |||
{{SEO | |||
|Заголовок статьи=Node-RED / Онлайн справочник - wikihandbk.com | |||
|Ключевые слова=node-red, NODE-RED, тщвукув, тщву-кув, книга по node-red, справочник по node-red, wiki по node-red | |||
|Описание статьи=Node-RED – это инструмент визуального программирования для интернета вещей, позволяющий подключать друг к другу устройства, API и онлайн-сервисы. | |||
|Изображение статьи для Open Graph= | |||
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Node-RED:Содержание</nowiki> | |||
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki> | |||
|Высота изображения статьи для schemaNewsArticle= | |||
|Ширина изображения статьи для schemaNewsArticle= | |||
|Дата публикации для schemaNewsArticle=2019-05-14 | |||
|Автор=Мякишев Е.А. | |||
|Издатель=myagkij | |||
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki> | |||
|Ширина логотипа издателя для schemaNewsArticle=60 | |||
|Высота логотипа издателя для schemaNewsArticle=45 | |||
}} |
Версия от 21:59, 6 июня 2019
Введение[1]
Node-RED – это инструмент визуального программирования для интернета вещей, позволяющий подключать друг к другу устройства, API и онлайн-сервисы.
Создание потоков прямо в браузере
Программирование осуществляется в браузерном редакторе, где пользователи могут создавать потоки, подключая друг к другу ноды разного назначения, а также выполнять развертку созданных потоков в среду выполнения всего в один клик.
Также в наличии текстовый редактор, позволяющий создавать JavaScript-функции прямо в редакторе Node-RED.
Встроенная библиотека позволяет сохранять полезные функции, шаблоны и потоки для повторного использования.
Создан на базе Node.js
Упрощенная среда выполнения Node-RED разработана на базе Node.js и благодаря этому максимально использует его событийно-ориентированную, неблокирующую модель. Это делает Node-RED идеальным приложением для запуска на сетевой периферии – на недорогих устройствах вроде Raspberry Pi, а также в «облаке».
В настоящий момент в хранилище пакетов Node.js числится свыше 225 тысяч модулей, что дает широкий простор для расширения возможностей проекта при помощи новых нодов.
Обмен потоками
Потоки, созданные в Node-RED, сохраняются в JSON-файлы, которые можно без труда экспортировать и импортировать для обмена с другими пользователями.
Кроме того, с помощью онлайн-библиотеки потоков вы можете делиться своими лучшими творениями с миром.
Локальный запуск
На устройстве
В облаке
Руководство пользователя[2]
Использование Node-RED
- Как устроен редактор Node-RED
- Проекты
- Базовые ноды
- Написание функций
- Работа с сообщениями
- Работа с контекстными данными
Запуск Node-RED
Дополнительно
Рецепты для работы с Node-RED[3]
Здесь собрана коллекция рецептов, как использовать Node-RED для решения многих распространенных программных задач. Каждый рецепт решает отдельную проблему и наглядно показывает, как ее можно решить при помощи возможностей платформы.
Сообщения
- Как задать фиксированное значение для свойства сообщения
- Как удалить значение из свойства сообщения
- Как переместить значение из одного сообщения в другое
- Как адаптировать значение из одного числового диапазона к другому
Управление потоком
- Как запускать поток при каждом старте Node-RED
- Как запускать поток через равные периоды времени
- Как запускать поток в строго определенное время
- Как задать маршрут для сообщения исходя из значения в его свойстве
- Как задать маршрут сообщения исходя из контекстного значения
- Как выполнить действие с каждым элементом массива
- Как запустить поток, если сообщение не было получено спустя заданное время
- Как настроить отправку «сообщений-заглушек» вместо потока сообщений
- Как замедлить поток сообщений, идущих через поток
- Как обрабатывать сообщения, приходящие через заданные периоды, игнорируя промежуточные сообщения
- Как игнорировать сообщения, значения которых не поменялись
- Как создать одно сообщение из разных потоков сообщений
Обработка ошибок
- Как запустить поток, если нода выдала ошибку
- Как автоматически повторить действие после получения ошибки
Работа с разными форматам данных
- Как конвертировать значение сообщения в-из формата JSON
- Как конвертировать значение сообщения в-из формата XML
- Как конвертировать значение сообщения в-из формата YAML
- Как сгенерировать CSV-файл
- Как «разобрать» CSV-файл
- Как извлечь данные из HTML-страницы
- Как разбить текст, чтобы сделать его строчки отдельными сообщениями
Конечные точки HTTP
- Как создать конечную HTTP-точку
- Как обработать параметры запроса, переданные конечной HTTP-точке
- Как обрабатывать параметры URL конечной HTTP-точкой
- Как получить доступ к HTTP-заголовкам запроса
- Как добавить в HTTP-ответ данные из другого потока
- Как обработать запрос с помощью JSON-данных
- Как обработать запрос с помощью локального файла
- Как добавить в поток неформатированные данные
- Как добавить в поток форму HTML
- Как добавить в поток JSON-данные
- Как работать с куки
HTTP-запросы
- Как задать URL запроса
- Как задать URL запроса при помощи шаблона
- Как задать строковые параметры в URL запроса
- Как вернуть JSON-ответ в виде JavaScript-объекта
- Как вернуть HTTP-ответ в виде двоичных данных
- Как задать заголовок запроса
MQTT
- Как подключиться к MQTT-брокеру
- Как публиковать сообщения в топик
- Как задать топик для публикуемого сообщения
- Как опубликовать в топик сохраненное (retained) сообщение
- Как подписаться на топик
- Как получить «разобранное» JSON-сообщение
Создание нод [4]
Главный способ расширения возможностей Node-RED – добавление в его «палитру» новых нод.
- Создание первой ноды
- JavaScript-файл
- HTML-файл
- Контекст ноды
- Свойства ноды
- Учетные данные
- Внешний вид ноды
- Статус ноды
- Конфигурационные ноды
- Руководство по созданию текста-справки
- Упаковка
- Локализация
Ниже – несколько общих принципов, которым мы рекомендуем следовать при создании новых нод. Эти отражают подход, который использовался при создании базовых нод, а также помогают сделать ноды такими, чтобы их использование было максимально понятным и логичным.
- У нод должна быть четкая цель. Одна нода, в которой задействованы почти все опции API, потенциально менее полезна, чем несколько нод, служащих каждая своей цели.
- Ноды должны быть такими, чтобы ими было легко пользоваться (независимо от функционала). Спрячьте сложность, старайтесь не загружать пользователя сленгом и специфическими знаниями из разных областей.
- Пускай ноды будут не слишком требовательными к типу данных, хранящихся в свойствах входящих сообщений. Значения в свойствах сообщения могут быть строками, числами, булевыми значениями, буферами, объектами, массивами и значениями «null». Столкнувшись с любым из этих типов данных, нода должна обработать с максимальным удобством для пользователя.
- Ноды должны быть постоянны в том, что они отправляют. Ноды должны документировать, какие свойства они добавляют в сообщения. Кроме того, их поведение должно быть понятным и предсказуемым.
- Нода должна стоять в начале, середине или конце потока – но не всюду сразу.
- Ноды должны уметь ловить ошибки. Если нода выдаст необработанную ошибку, Node-RED остановит работу всего потока, т.к. это ставит под вопрос состояние всей системы. Ноды должны ловить ошибки и регистрировать обработчики ошибок для любых генерируемых ими асинхронных вызовов везде, где это возможно.
Библиотеки
node-red
Ввод
Вывод
Функция
- Function
- Template
- Delay
- Trigger
- Comment
- HTTP request
- TCP request
- Switch
- Change
- Range
- Split
- Join
- Sort
- Batch
- CSV
- HTML
- JSON
- XML
- YAML
Устройство хранения
Дополнительно
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
- Button
- Dropdown
- Switch
- Slider
- Numeric
- Text input
- Date picker
- Colour picker
- Form
- Text
- Gauge
- Chart
- Audio out
- Notification
- UI control
- Template
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
Резерв
См.также
Внешние ссылки
{{#set: |Название=Node-RED |Метки=node-red, NODE-RED, тщвукув, тщву-кув, книга по node-red, справочник по node-red, wiki по node-red|+sep=,
|Описание=
Node-RED – это инструмент визуального программирования для интернета вещей, позволяющий подключать друг к другу устройства, API и онлайн-сервисы. |Полная ссылка на страницу=Node-RED }}