Node-RED:Содержание
Добро пожаловать в раздел Node-RED |
|
|
|
|
Содержание
- 1 Введение[1]
- 2 Руководство пользователя[2]
- 3 Рецепты для работы с Node-RED[3]
- 4 Создание нод [4]
- 5 Библиотеки
- 5.1 node-red
- 5.2 node-red-node-serialport
- 5.3 node-red-node-rbe
- 5.4 node-red-node-email
- 5.5 node-red-node-twitter
- 5.6 node-red-node-tail
- 5.7 node-red-node-sentiment
- 5.8 node-red-node-feedparser
- 5.9 node-red-contrib-acepro
- 5.10 node-red-contrib-knx-easy
- 5.11 node-red-contrib-nefit-easy2
- 5.12 node-red-dashboard
- 5.13 node-red-node-twilio
- 5.14 node-red-node-random
- 5.15 node-red-contrib-play-audio
- 5.16 node-red-contrib-pythonshell
- 5.17 node-red-contrib-mongodb
- 5.18 node-red-contrib-aws
- 6 См.также
- 7 Внешние ссылки
Введение[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
Резерв
См.также
Ссылки на полезные ресурсы
- AliExpress — глобальная виртуальная (в Интернете) торговая площадка, предоставляющая возможность покупать товары производителей из КНР;
- computeruniverse.net - Интернет-магазин компьютеров(Промо код 5 Евро на первую покупку:FWWC3ZKQ);
- DigitalOcean - американский провайдер облачных инфраструктур, с главным офисом в Нью-Йорке и с центрами обработки данных по всему миру;
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
Внешние ссылки