За редакцією Олександра Пупени
Про репозиторій
Репозиторій створений з метою спрощення вивчення Node-RED спільнотою українських розробників, науковців та студентів.
Для розвитку спільноти Node-RED створені групи, де Ви можете задати свої питання або пропозиції:
Ця сторінка зроблена на базі репозиторію GitHub, тому ви можете також зробити коментар, створивши Issue в репозиторії (звичайно, якщо Ви зареєстровані на GitHub).
Курси
Вашій увазі пропонуються також відкриті курси з використанням Node-RED, в яких Ви можете познайомитися з різноманітними технологіями, які використовуються разом з Node-RED для вирішення різноманітних задач:
Також є платні (онлайн та офлайн) та безкоштовні (онлайн) курси за різними програмами.
Про організацію проведення курсів можете почитати за цим посиланням .
Додаткові матеріали
-
Node-RED краще не вивчати а одразу використовувати для вирішення конкретної задачі. У розділі Збірник задач з використанням Node-RED Ви можете знайти перелік задач та розв'язків з використанням Node-RED.
-
У розділі готові рішення можна знайти певні готові рішення якихось кейсів з описом їх роботи.
-
У розділі статті можна знайти перекладені або авторські статті в тему використання Node-RED
Довідник з Node-RED
Зміст
-
Загальні основи користування Node-RED та основні компоненти
-
Розширення
-
Dashboard (node-red-dashboard) та сумісні з ним вузли
-
Вбудовані вузли для роботи з файлами
-
Базові операції з файлами: бібліотека fs-ops
-
Бібліотека MODBUS
-
Бібліотека MQTT
-
Бібліотека HTTP
-
Бібліотека WebSocket
-
Бібліотека PARSING
-
Робота з JSONata
-
Бібліотека Storage Cloudant
-
Бібліотека Storage COS (node-red-contrib-cos)
-
Робота з Watson IoT Device/Gateway (node-red-contrib-ibm-watson-iot)
-
Бібліотека IBM IoT APP (node-red-contrib-scx-ibmiotapp)
-
Бібліотека OPC UA (node-red-contrib-opcua)
-
Робота з Базами даних SQL
-
Робота з ОС
-
Взаємодія з сервісами Google
-
Боти
-
TCP та UDP
-
Протоколи S7
-
InfluxDB
-
uibuilder - альтернатива Dashboard
-
FTP
У полі примітка вказується дата останньої редакції розділу довідника, або "to do" - для відсутнього опису.
Стандартна комплектація
Загальні (common)
Вузол |
Призначення |
Примітка |
|
Inject для ініціювання потоку (відправки повідомлення) користувачем, автоматично при запуску, періодично або за розкладом. |
07.2020 |
|
Debug використовуватися для відображення повідомлень на бічній панелі Debug у редакторі. |
07.2020 |
|
Complete запускає потік, коли інший вузол завершує оброблення повідомлення. |
07.2020 |
|
Catch ловить помилки виконання інших вузлів у тому самому потоці (вкладці) і формує повідомлення з інформацією про них. |
07.2020 |
|
Status показує стан (status message) вказаних або усіх вузлів в потоці. |
07.2020 |
|
Link in вхідне з'єднання з іншого потоку |
07.2020 |
|
Link out вихідне з'єднання до іншого потоку |
07.2020 |
|
Comment для добавлення коментарів в потік. |
07.2020 |
|
Unknown вузол невідомого типу для встановленого Node-RED |
07.2020 |
Функціональні (function)
Вузол |
Призначення |
Примітка |
|
Function дозволяє виконувати код JavaScript для обробки повідомлень, що передаються через нього. |
07.2020 |
|
Switch дозволяє передавати повідомлення до різних гілок потоку, оцінюючи набір правил для кожного повідомлення |
07.2020 |
|
Change для зміни властивостей повідомлення та контекстів (потоку і глобального) без необхідності вдаватися до вузла Function |
07.2020 |
|
Range масштабує числові значення відповідно до вказаних вхідних та вихідних діапазонів |
07.2020 |
|
Template використовується для створення тексту з властивостей повідомлення з використанням означеного шаблону Mustache |
07.2020 |
|
Delay робить затримку для кожного повідомлення, що проходить через вузол, або обмежує швидкість, з якою вони можуть пройти. |
07.2020 |
|
Trigger відправляє повідомлення з вказаним інтервалом |
07.2020 |
|
Exec запускає системну команду. |
07.2020 |
|
Rbe пропускає повідомлення лише у випадку зміни корисного навантаження |
07.2020 |
Мережні (network)
Вузол |
Призначення |
Примітка |
|
Mqtt in - підключається до брокера MQTT та підписується на повідомлення з зазначеної теми |
2019 |
|
Mqtt out підключається до брокера MQTT та публікує повідомлення |
2019 |
|
Mqtt-broker конфігураційний вузол для Mqtt-broker |
2019 |
|
Http-in HTTP-сервер - обробка вхідного повідомлення |
2019 |
|
Http response HTTP-сервер - формування вихідного повідомлення |
2019 |
|
Http request робота з клієнтськими запитами до HTTP-серверів |
07.2020 |
|
Http proxy параметри конфігурації для HTTP-проксі |
07.2020 |
|
Tls-config конфігураційні опції для TLS підключень |
07.2020 |
|
Websocket in вхідний вузол WebSocket |
2019 |
|
Websocket out вихідний вузол WebSocket |
2019 |
|
Websocket-listener для налаштування серверного ресурсу WebSocket |
2019 |
|
Websocket-client для налаштування з’єднання клієнтського вузлу WebSocket |
2019 |
|
TCP in забезпечує отримання вхідних даних з порта TCP |
07.2020 |
|
TCP out забезпечує відправлення вихідного повідомлення на TCP-порт. |
07.2020 |
|
TCP request для відправки клієнтського запиту TCP та очікування відповіді |
07.2020 |
|
UDP in для отримання повідомлень по UDP |
07.2020 |
|
UPD out для відправки повідомлень по UDP |
07.2020 |
Послідовності (sequence)
Вузол |
Призначення |
Примітка |
|
Split розділює одне повідомлення в послідовність повідомлень. |
07.2020 |
|
Join об'єднує послідовність повідомлень у єдине повідомлення |
07.2020 |
|
Sort сортує масив або послідовність повідомлень на основі значення властивості або результату вираження JSONata |
07.2020 |
|
Batch створює нові послідовності згрупованих повідомлень з отриманих. |
07.2020 |
Парсери (parser)
Вузол |
Призначення |
Примітка |
|
CSV перетворює рядки, відформатовані CSV в об’єкти JavaScript та навпаки |
07.2020 |
|
HTML витягує елементи з HTML-документа, що міститься у вказаній властивості msg за допомогою селекторів CSS |
07.2020 |
|
JSON перетворює рядки JSON в об’єкти JavaScript та в зворотному напрямку |
07.2020 |
|
XML перетворює рядок XML в об’єкт JavaScript та в зворотному напрямку напрямку. |
07.2020 |
|
YAML перетворює рядок, відформатований в форматі YAML у об'єкт JavaScript та в зворотному напрямку |
07.2020 |
Сховища (storage)
Вузол |
Призначення |
Примітка |
|
File записує дані у файл, додавши його до кінця або замінюючи існуючий вміст |
07.2020 |
|
File in читає вміст файлу у вигляді рядку або бінарного буферу |
07.2020 |
|
Watch відслідковує зміни в каталозі або у файлі. |
07.2020 |
|
Tail стежить за тим, що було додано у вказаний файл |
07.2020 |
Dashboard
Вузол |
Призначення |
Примітка |
|
Button додає до інтерфейсу користувача кнопку |
2019 |
|
Dropdown додає до інтерфейсу користувача спадне меню вибору |
2019 |
|
Switch додає до інтерфейсу користувача перемикач. |
2019 |
|
Slider додає до інтерфейсу користувача віджет повзунка. |
2019 |
|
Numeric додає до інтерфейсу користувача віджет зміни числового значення кнопками «більше» та «менше». |
2019 |
|
Text input додає до інтерфейсу користувача поле введення тексту, електронної пошти або вибору кольорів. |
2019 |
|
Date picker додає до інтерфейсу користувача віджет вибору дати. |
2019 |
|
Color picker додає до інтерфейсу користувача панель вибору кольору. |
2019 |
|
Form додає до інтерфейсу користувача форму (кілька полів введення). |
2019 |
|
Text додає до інтерфейсу користувача поле для виведення тексту. |
2019 |
|
Gauge додає до інтерфейсу користувача віджет приладового показчика |
2019 |
|
Chart додає до інтерфейсу користувача діаграму з відображенням значень, що надходять на вхід у вигляді різного типу діаграм |
2019 |
|
Audio відтворює аудіо або текст в мову (text to speech TTS). |
2019 |
|
Notification показує msg.payload як спливаюче сповіщення або діалогове повідомлення з кнопками OK/Cancel |
2019 |
|
Ui control дозволяє динамічно керувати Dashboard. |
2019 |
|
Template шаблонний віджет (template widget) може містити будь-які дійсні директиви html та Angular/Angular-Material. |
2019 |
|
Link |
to do |
|
Spacer |
to do |
|
Tab |
to do |
|
Base |
to do |
|
Group |
to do |
Додаткові вузли:
Вузол |
Призначення |
Примітка |
|
SVG graphics для розміщення графіки SVG на сторінках Node-RED dashboard |
05.2021 |
|
Table UI widget node for Node-RED Dashboard |
05.2021 |
|
|
|
Альтернатива:
Базові операції з файлами: бібліотека fs-ops
Вузол |
Призначення |
Примітка |
|
Access перевірка наявності та доступності файлу або каталогу |
to do |
|
Copy копіювання або посилання на файли |
to do |
|
Delete видалення файлів або каталогів |
to do |
|
Dir показує список файлів в каталозі файлової системи хоста. |
2019 |
|
Mkdir створює новий каталог |
to do |
|
Mktmpdir створює новий каталог із випадковим унікальним ім\'ям |
to do |
|
Move переміщує або перейменовує файли в локальній файловій системі |
2019 |
|
Size отримання розміру файлу або каталогу в байтах |
to do |
|
Stats повертає статистику файлу в хостовій файловій системі |
to do |
|
Type визначає тип файлу - звичайний, каталог, символ або спеціальний |
to do |
|
Link визначає, чи є файл посиланням і повертає файл, на який він посилається. |
to do |
Dashboard 2.0
Про Dashboard2.0
Робота з ОС
Operating Systems (node-red-contrib-os)
Вузол |
Призначення |
Примітка |
|
OS отримання інформації про операційну систему |
2019 |
|
Drives інформація про жорсткі диски |
2019 |
|
Uptime повертає системний час роботи в секундах |
2019 |
|
CPUs повертає масив об'єктів, що містить інформацію про кожен встановлений процесор/ядро |
2019 |
|
Loadavg повертає масив, що містить середнє значення для завантаження |
2019 |
|
Memory дає інформацію про пам'ять |
2019 |
|
NetworkIntf дає список мережних інтерфейсів у системі |
2019 |
Моніторинг використання ресурсів CPU (node-red-contrib-cpu)
Промислові та комп'ютерні мережі
Modbus
node-red-contrib-modbustcp
Вузол |
Призначення |
Примітка |
|
Read підключається до Modbus TCP server для зчитування змінних з вказаною періодичністю |
2019 |
|
Write підключається до TCP server для запису msg.payload в coil або register |
2019 |
|
Server для вказівки серверу, з якого буде відбуватися читання/запис |
2019 |
Інтегрування з хмарними сервісами та застосунками
Storage IBM Cloudant (node-red-node-cf-cloudant)
Вузол |
Призначення |
Примітка |
|
Cloudant config для налаштування серверу та бази даних |
to do |
|
Cloudant in дає отримати документи з IBM Cloudant |
2019 |
|
Cloudant out дає можливість зберегти в документ IBM Cloudant |
2019 |
Storage IBM COS (node-red-contrib-cos)
Вузол |
Призначення |
Примітка |
|
Cos config конфігурування сховища IBM COS |
2019 |
|
Cos get отримати об’єкт з IBM COS |
2019 |
|
Cos put зберегти об’єкт в IBM COS |
2019 |
|
Cos del видалення об’єкту з COS |
2019 |
|
Cos qry запит на отримання списку об’єктів COS |
2019 |
IBM Watson IoT Device/Gateway (node-red-contrib-ibm-watson-iot)
Вузол |
Призначення |
Примітка |
|
Wiotp credentionals конфігураційний вузол означення повноважень доступу |
2019 |
|
Wiotp in вхід команди для IoT |
2019 |
|
Wiotp out вихід повідомлення від IoT |
2019 |
IBM IoT APP (node-red-contrib-scx-ibmiotapp)
Вузол |
Призначення |
Примітка |
|
Ibmiot config точка доступу до API |
2019 |
|
Ibmiot in отримання подій від Watson IoT Platform |
2019 |
|
Ibmiot out надсилання команд на Watson IoT Platform |
2019 |
Читання та запис Google Sheet (node-red-contrib-google-sheets)
Вузол |
Призначення |
Примітка |
|
Gauth для налаштування доступу до Google sheets |
2020 |
|
GSheet |
2020 |
Вузол для роботи з Google API (node-red-contrib-google)
Вузол |
Призначення |
Примітка |
|
Google conn вузол конфігурації, створений для підтримки зв’язку з сервісами Google API |
To do |
|
Google забезпечує можливість виклику будь-якого методу будь-якого API, відкритого через офіційний клієнт Node.js Google |
To do |
Бібліотека для роботи з Telegram-ботом (node-red-contrib-telegrambot)
Інтеграція з Proficloud від Phoenix Contact
Вузол |
Призначення |
Примітка |
|
Phoenix Device для роботи з Profi Cloud |
2022 |
|
|
|
|
|
|
Робота з поштою
Сервіси погоди
Платформи IoT
Ббліотека |
Призначення |
Примітка |
blynkiot |
blynkiot |
2023 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Бібліотеки OPC UA
node-red-contrib-opcua
Вузол |
Призначення |
Примітка |
|
OPCUA Endpoint налаштовується кінцева точка (Endpoint) до серверу OPC UA |
2020 |
|
OPCUA Item означує OPC UA item, тип і значення у зручному вигляді |
2020 |
|
OPCUA Client призначений для взаємодії з Server, з’єднаним з вказаною кінцевою точкою |
2020 |
|
OPCUA Browser |
To Do |
|
OPCUA Server створює OPC UA server зі своїми змінними, структурами об’єктів і методами |
2020 |
|
OPCUA Event означує події OPC UA, які будуть підписані з сервера. |
2020 |
node-red-contrib-iiot-opcua
Вузол |
Призначення |
Примітка |
|
|
2022 |
Робота з Базами даних SQL
Робота з Базами даних SQL
Робота з базами даних NoSQL
Утиліти роботи з редактором
Робота з Web-браузером
Робота з зображенням та відео
Бібліотеки для автентифікації та кіберзахисту
Бібліотеки для ідентифікації речей