За редакцією Олександра Пупени
![pic](/NodeREDGuidUKR/media/node-red-icon.png)
Про репозиторій
Репозиторій створений з метою спрощення вивчення Node-RED спільнотою українських розробників, науковців та студентів.
Для розвитку спільноти Node-RED створені групи, де Ви можете задати свої питання або пропозиції:
Ця сторінка зроблена на базі репозиторію GitHub, тому ви можете також зробити коментар, створивши Issue в репозиторії (звичайно, якщо Ви зареєстровані на GitHub).
Курси
Вашій увазі пропонуються також відкриті курси з використанням 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)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/inject.png) |
Inject для ініціювання потоку (відправки повідомлення) користувачем, автоматично при запуску, періодично або за розкладом. |
07.2020 |
![](/NodeREDGuidUKR/media/debug.png) |
Debug використовуватися для відображення повідомлень на бічній панелі Debug у редакторі. |
07.2020 |
![](/NodeREDGuidUKR/media/complete.png) |
Complete запускає потік, коли інший вузол завершує оброблення повідомлення. |
07.2020 |
![](/NodeREDGuidUKR/media/catch.png) |
Catch ловить помилки виконання інших вузлів у тому самому потоці (вкладці) і формує повідомлення з інформацією про них. |
07.2020 |
![](/NodeREDGuidUKR/media/status.png) |
Status показує стан (status message) вказаних або усіх вузлів в потоці. |
07.2020 |
![](/NodeREDGuidUKR/media/link-in.png) |
Link in вхідне з’єднання з іншого потоку |
07.2020 |
![](/NodeREDGuidUKR/media/link-out.png) |
Link out вихідне з’єднання до іншого потоку |
07.2020 |
![](/NodeREDGuidUKR/media/comment.png) |
Comment для добавлення коментарів в потік. |
07.2020 |
![](/NodeREDGuidUKR/media/unknown.png) |
Unknown вузол невідомого типу для встановленого Node-RED |
07.2020 |
Функціональні (function)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/function.png) |
Function дозволяє виконувати код JavaScript для обробки повідомлень, що передаються через нього. |
07.2020 |
![](/NodeREDGuidUKR/media/switch.png) |
Switch дозволяє передавати повідомлення до різних гілок потоку, оцінюючи набір правил для кожного повідомлення |
07.2020 |
![](/NodeREDGuidUKR/media/change.png) |
Change для зміни властивостей повідомлення та контекстів (потоку і глобального) без необхідності вдаватися до вузла Function |
07.2020 |
![](/NodeREDGuidUKR/media/range.png) |
Range масштабує числові значення відповідно до вказаних вхідних та вихідних діапазонів |
07.2020 |
![](/NodeREDGuidUKR/media/template.png) |
Template використовується для створення тексту з властивостей повідомлення з використанням означеного шаблону Mustache |
07.2020 |
![](/NodeREDGuidUKR/media/delay.png) |
Delay робить затримку для кожного повідомлення, що проходить через вузол, або обмежує швидкість, з якою вони можуть пройти. |
07.2020 |
![](/NodeREDGuidUKR/media/trigger.png) |
Trigger відправляє повідомлення з вказаним інтервалом |
07.2020 |
![](/NodeREDGuidUKR/media/exec.png) |
Exec запускає системну команду. |
07.2020 |
![](/NodeREDGuidUKR/media/rbe.png) |
Rbe пропускає повідомлення лише у випадку зміни корисного навантаження |
07.2020 |
Мережні (network)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/mqtt-in.png) |
Mqtt in - підключається до брокера MQTT та підписується на повідомлення з зазначеної теми |
2019 |
![](/NodeREDGuidUKR/media/mqtt-out.png) |
Mqtt out підключається до брокера MQTT та публікує повідомлення |
2019 |
![](/NodeREDGuidUKR/media/mqtt-broker.png) |
Mqtt-broker конфігураційний вузол для Mqtt-broker |
2019 |
![](/NodeREDGuidUKR/media/http-in.png) |
Http-in HTTP-сервер - обробка вхідного повідомлення |
2019 |
![](/NodeREDGuidUKR/media/http-response.png) |
Http response HTTP-сервер - формування вихідного повідомлення |
2019 |
![](/NodeREDGuidUKR/media/http-request.png) |
Http request робота з клієнтськими запитами до HTTP-серверів |
07.2020 |
![](/NodeREDGuidUKR/media/http-proxy.png) |
Http proxy параметри конфігурації для HTTP-проксі |
07.2020 |
![](/NodeREDGuidUKR/media/tls-config.png) |
Tls-config конфігураційні опції для TLS підключень |
07.2020 |
![](/NodeREDGuidUKR/media/websocket-in.png) |
Websocket in вхідний вузол WebSocket |
2019 |
![](/NodeREDGuidUKR/media/websocket-out.png) |
Websocket out вихідний вузол WebSocket |
2019 |
![](/NodeREDGuidUKR/media/websocket-listener.png) |
Websocket-listener для налаштування серверного ресурсу WebSocket |
2019 |
![](/NodeREDGuidUKR/media/websocket-client.png) |
Websocket-client для налаштування з’єднання клієнтського вузлу WebSocket |
2019 |
![](/NodeREDGuidUKR/media/tcp-in.png) |
TCP in забезпечує отримання вхідних даних з порта TCP |
07.2020 |
![](/NodeREDGuidUKR/media/tcp-out.png) |
TCP out забезпечує відправлення вихідного повідомлення на TCP-порт. |
07.2020 |
![](/NodeREDGuidUKR/media/tcp-request.png) |
TCP request для відправки клієнтського запиту TCP та очікування відповіді |
07.2020 |
![](/NodeREDGuidUKR/media/udp-in.png) |
UDP in для отримання повідомлень по UDP |
07.2020 |
![](/NodeREDGuidUKR/media/udp-out.png) |
UPD out для відправки повідомлень по UDP |
07.2020 |
Послідовності (sequence)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/split.png) |
Split розділює одне повідомлення в послідовність повідомлень. |
07.2020 |
![](/NodeREDGuidUKR/media/join.png) |
Join об’єднує послідовність повідомлень у єдине повідомлення |
07.2020 |
![](/NodeREDGuidUKR/media/sort.png) |
Sort сортує масив або послідовність повідомлень на основі значення властивості або результату вираження JSONata |
07.2020 |
![](/NodeREDGuidUKR/media/batch.png) |
Batch створює нові послідовності згрупованих повідомлень з отриманих. |
07.2020 |
Парсери (parser)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/csv.png) |
CSV перетворює рядки, відформатовані CSV в об’єкти JavaScript та навпаки |
07.2020 |
![](/NodeREDGuidUKR/media/html.png) |
HTML витягує елементи з HTML-документа, що міститься у вказаній властивості msg за допомогою селекторів CSS |
07.2020 |
![](/NodeREDGuidUKR/media/json.png) |
JSON перетворює рядки JSON в об’єкти JavaScript та в зворотному напрямку |
07.2020 |
![](/NodeREDGuidUKR/media/xml.png) |
XML перетворює рядок XML в об’єкт JavaScript та в зворотному напрямку напрямку. |
07.2020 |
![](/NodeREDGuidUKR/media/yaml.png) |
YAML перетворює рядок, відформатований в форматі YAML у об’єкт JavaScript та в зворотному напрямку |
07.2020 |
Сховища (storage)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/file.png) |
File записує дані у файл, додавши його до кінця або замінюючи існуючий вміст |
07.2020 |
![](/NodeREDGuidUKR/media/file-in.png) |
File in читає вміст файлу у вигляді рядку або бінарного буферу |
07.2020 |
![](/NodeREDGuidUKR/media/watch.png) |
Watch відслідковує зміни в каталозі або у файлі. |
07.2020 |
![](/NodeREDGuidUKR/media/tail.png) |
Tail стежить за тим, що було додано у вказаний файл |
07.2020 |
Dashboard
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/ui_button.png) |
Button додає до інтерфейсу користувача кнопку |
2019 |
![](/NodeREDGuidUKR/media/ui_dropdown.png) |
Dropdown додає до інтерфейсу користувача спадне меню вибору |
2019 |
![](/NodeREDGuidUKR/media/ui_switch.png) |
Switch додає до інтерфейсу користувача перемикач. |
2019 |
![](/NodeREDGuidUKR/media/ui_slider.png) |
Slider додає до інтерфейсу користувача віджет повзунка. |
2019 |
![](/NodeREDGuidUKR/media/ui_numeric.png) |
Numeric додає до інтерфейсу користувача віджет зміни числового значення кнопками «більше» та «менше». |
2019 |
![](/NodeREDGuidUKR/media/ui_text_input.png) |
Text input додає до інтерфейсу користувача поле введення тексту, електронної пошти або вибору кольорів. |
2019 |
![](/NodeREDGuidUKR/media/ui_date_picker.png) |
Date picker додає до інтерфейсу користувача віджет вибору дати. |
2019 |
![](/NodeREDGuidUKR/media/ui_color_picker.png) |
Color picker додає до інтерфейсу користувача панель вибору кольору. |
2019 |
![](/NodeREDGuidUKR/media/ui_form.png) |
Form додає до інтерфейсу користувача форму (кілька полів введення). |
2019 |
![](/NodeREDGuidUKR/media/ui_text.png) |
Text додає до інтерфейсу користувача поле для виведення тексту. |
2019 |
![](/NodeREDGuidUKR/media/ui_gauge.png) |
Gauge додає до інтерфейсу користувача віджет приладового показчика |
2019 |
![](/NodeREDGuidUKR/media/ui_chart.png) |
Chart додає до інтерфейсу користувача діаграму з відображенням значень, що надходять на вхід у вигляді різного типу діаграм |
2019 |
![](/NodeREDGuidUKR/media/ui_audio.png) |
Audio відтворює аудіо або текст в мову (text to speech TTS). |
2019 |
![](/NodeREDGuidUKR/media/ui_toast.png) |
Notification показує msg.payload як спливаюче сповіщення або діалогове повідомлення з кнопками OK/Cancel |
2019 |
![](/NodeREDGuidUKR/media/ui_ui_control.png) |
Ui control дозволяє динамічно керувати Dashboard. |
2019 |
![](/NodeREDGuidUKR/media/ui_template.png) |
Template шаблонний віджет (template widget) може містити будь-які дійсні директиви html та Angular/Angular-Material. |
2019 |
![](/NodeREDGuidUKR/media/ui_link.png) |
Link |
to do |
![](/NodeREDGuidUKR/media/ui_spacer.png) |
Spacer |
to do |
![](/NodeREDGuidUKR/media/ui_tab.png) |
Tab |
to do |
![](/NodeREDGuidUKR/media/ui_base.png) |
Base |
to do |
![](/NodeREDGuidUKR/media/ui_group.png) |
Group |
to do |
Додаткові вузли:
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/svg-graphics.png) |
SVG graphics для розміщення графіки SVG на сторінках Node-RED dashboard |
05.2021 |
|
Table UI widget node for Node-RED Dashboard |
05.2021 |
|
|
|
Альтернатива:
Базові операції з файлами: бібліотека fs-ops
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/fs-ops-access.png) |
Access перевірка наявності та доступності файлу або каталогу |
to do |
![](/NodeREDGuidUKR/media/fs-ops-copy.png) |
Copy копіювання або посилання на файли |
to do |
![](/NodeREDGuidUKR/media/fs-ops-delete.png) |
Delete видалення файлів або каталогів |
to do |
![](/NodeREDGuidUKR/media/fs-ops-dir.png) |
Dir показує список файлів в каталозі файлової системи хоста. |
2019 |
![](/NodeREDGuidUKR/media/fs-ops-mkdir.png) |
Mkdir створює новий каталог |
to do |
![](/NodeREDGuidUKR/media/fs-ops-mktmpdir.png) |
Mktmpdir створює новий каталог із випадковим унікальним ім'ям |
to do |
![](/NodeREDGuidUKR/media/fs-ops-move.png) |
Move переміщує або перейменовує файли в локальній файловій системі |
2019 |
![](/NodeREDGuidUKR/media/fs-ops-size.png) |
Size отримання розміру файлу або каталогу в байтах |
to do |
![](/NodeREDGuidUKR/media/fs-ops-stats.png) |
Stats повертає статистику файлу в хостовій файловій системі |
to do |
![](/NodeREDGuidUKR/media/fs-ops-type.png) |
Type визначає тип файлу - звичайний, каталог, символ або спеціальний |
to do |
![](/NodeREDGuidUKR/media/fs-ops-link.png) |
Link визначає, чи є файл посиланням і повертає файл, на який він посилається. |
to do |
Dashboard 2.0
Про Dashboard2.0
Робота з ОС
Operating Systems (node-red-contrib-os)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/os.png) |
OS отримання інформації про операційну систему |
2019 |
![](/NodeREDGuidUKR/media/drives.png) |
Drives інформація про жорсткі диски |
2019 |
![](/NodeREDGuidUKR/media/uptime.png) |
Uptime повертає системний час роботи в секундах |
2019 |
![](/NodeREDGuidUKR/media/cpus.png) |
CPUs повертає масив об’єктів, що містить інформацію про кожен встановлений процесор/ядро |
2019 |
![](/NodeREDGuidUKR/media/loadavg.png) |
Loadavg повертає масив, що містить середнє значення для завантаження |
2019 |
![](/NodeREDGuidUKR/media/memory.png) |
Memory дає інформацію про пам’ять |
2019 |
![](/NodeREDGuidUKR/media/networkinf.png) |
NetworkIntf дає список мережних інтерфейсів у системі |
2019 |
Моніторинг використання ресурсів CPU (node-red-contrib-cpu)
Промислові та комп’ютерні мережі
Modbus
node-red-contrib-modbustcp
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/modbustcp-read.png) |
Read підключається до Modbus TCP server для зчитування змінних з вказаною періодичністю |
2019 |
![](/NodeREDGuidUKR/media/modbustcp-write.png) |
Write підключається до TCP server для запису msg.payload в coil або register |
2019 |
![](/NodeREDGuidUKR/media/modbustcp-server.png) |
Server для вказівки серверу, з якого буде відбуватися читання/запис |
2019 |
Інтегрування з хмарними сервісами та застосунками
Storage IBM Cloudant (node-red-node-cf-cloudant)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/cloudant.png) |
Cloudant config для налаштування серверу та бази даних |
to do |
![](/NodeREDGuidUKR/media/cloudant-in.png) |
Cloudant in дає отримати документи з IBM Cloudant |
2019 |
![](/NodeREDGuidUKR/media/cloudant-out.png) |
Cloudant out дає можливість зберегти в документ IBM Cloudant |
2019 |
Storage IBM COS (node-red-contrib-cos)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/cos-config.png) |
Cos config конфігурування сховища IBM COS |
2019 |
![](/NodeREDGuidUKR/media/cos-get.png) |
Cos get отримати об’єкт з IBM COS |
2019 |
![](/NodeREDGuidUKR/media/cos-put.png) |
Cos put зберегти об’єкт в IBM COS |
2019 |
![](/NodeREDGuidUKR/media/cos-del.png) |
Cos del видалення об’єкту з COS |
2019 |
![](/NodeREDGuidUKR/media/cos-qry.png) |
Cos qry запит на отримання списку об’єктів COS |
2019 |
IBM Watson IoT Device/Gateway (node-red-contrib-ibm-watson-iot)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/wiotp-credentials.png) |
Wiotp credentionals конфігураційний вузол означення повноважень доступу |
2019 |
![](/NodeREDGuidUKR/media/wiotp-in.png) |
Wiotp in вхід команди для IoT |
2019 |
![](/NodeREDGuidUKR/media/wiotp-out.png) |
Wiotp out вихід повідомлення від IoT |
2019 |
IBM IoT APP (node-red-contrib-scx-ibmiotapp)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/ibmiot.png) |
Ibmiot config точка доступу до API |
2019 |
![](/NodeREDGuidUKR/media/ibmiot-in.png) |
Ibmiot in отримання подій від Watson IoT Platform |
2019 |
![](/NodeREDGuidUKR/media/ibmiot-out.png) |
Ibmiot out надсилання команд на Watson IoT Platform |
2019 |
Читання та запис Google Sheet (node-red-contrib-google-sheets)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/gauth.png) |
Gauth для налаштування доступу до Google sheets |
2020 |
![](/NodeREDGuidUKR/media/gsheet.png) |
GSheet |
2020 |
Вузол для роботи з Google API (node-red-contrib-google)
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/google-conn.png) |
Google conn вузол конфігурації, створений для підтримки зв’язку з сервісами Google API |
To do |
![](/NodeREDGuidUKR/media/google.png) |
Google забезпечує можливість виклику будь-якого методу будь-якого API, відкритого через офіційний клієнт Node.js Google |
To do |
Бібліотека для роботи з Telegram-ботом (node-red-contrib-telegrambot)
Вузол |
Призначення |
Примітка |
![image-20221012001643695](/NodeREDGuidUKR/media/image-20221012001643695.png) |
Phoenix Device для роботи з Profi Cloud |
2022 |
|
|
|
|
|
|
Робота з поштою
Сервіси погоди
Платформи IoT
Ббліотека |
Призначення |
Примітка |
blynkiot |
blynkiot |
2023 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Бібліотеки OPC UA
node-red-contrib-opcua
Вузол |
Призначення |
Примітка |
![](/NodeREDGuidUKR/media/opcua-endpoint.png) |
OPCUA Endpoint налаштовується кінцева точка (Endpoint) до серверу OPC UA |
2020 |
![](/NodeREDGuidUKR/media/opcua-item.png) |
OPCUA Item означує OPC UA item, тип і значення у зручному вигляді |
2020 |
![](/NodeREDGuidUKR/media/opcua-client.png) |
OPCUA Client призначений для взаємодії з Server, з’єднаним з вказаною кінцевою точкою |
2020 |
![](/NodeREDGuidUKR/media/opcua-browser.png) |
OPCUA Browser |
To Do |
![](/NodeREDGuidUKR/media/opcua-server.png) |
OPCUA Server створює OPC UA server зі своїми змінними, структурами об’єктів і методами |
2020 |
![](/NodeREDGuidUKR/media/opcua-event.png) |
OPCUA Event означує події OPC UA, які будуть підписані з сервера. |
2020 |
node-red-contrib-iiot-opcua
Вузол |
Призначення |
Примітка |
|
|
2022 |
Робота з Базами даних SQL
Робота з Базами даних SQL
Робота з базами даних NoSQL
Утиліти роботи з редактором
Робота з Web-браузером
Робота з зображенням та відео
Бібліотеки для автентифікації та кіберзахисту
Бібліотеки для ідентифікації речей