Skip to content

Latest commit

 

History

History
452 lines (326 loc) · 40.9 KB

README.md

File metadata and controls

452 lines (326 loc) · 40.9 KB

За редакцією Олександра Пупени

pic

Про репозиторій

Репозиторій створений з метою спрощення вивчення Node-RED спільнотою українських розробників, науковців та студентів.

Для розвитку спільноти Node-RED створені групи, де Ви можете задати свої питання або пропозиції:

Ця сторінка зроблена на базі репозиторію GitHub, тому ви можете також зробити коментар, створивши Issue в репозиторії (звичайно, якщо Ви зареєстровані на GitHub).

Курси

Вашій увазі пропонуються також відкриті курси з використанням Node-RED, в яких Ви можете познайомитися з різноманітними технологіями, які використовуються разом з Node-RED для вирішення різноманітних задач:

Також є платні (онлайн та офлайн) та безкоштовні (онлайн) курси за різними програмами.

Про організацію проведення курсів можете почитати за цим посиланням .

Додаткові матеріали

  • Node-RED краще не вивчати а одразу використовувати для вирішення конкретної задачі. У розділі Збірник задач з використанням Node-RED Ви можете знайти перелік задач та розв'язків з використанням Node-RED.

  • У розділі готові рішення можна знайти певні готові рішення якихось кейсів з описом їх роботи.

  • У розділі статті можна знайти перекладені або авторські статті в тему використання Node-RED

Довідник з Node-RED

Зміст

  1. Загальні основи користування Node-RED та основні компоненти

  2. Розширення

  3. Dashboard (node-red-dashboard) та сумісні з ним вузли

  4. Вбудовані вузли для роботи з файлами

  5. Базові операції з файлами: бібліотека fs-ops

  6. Бібліотека MODBUS

  7. Бібліотека MQTT

  8. Бібліотека HTTP

  9. Бібліотека WebSocket

  10. Бібліотека PARSING

  11. Робота з JSONata

  12. Бібліотека Storage Cloudant

  13. Бібліотека Storage COS (node-red-contrib-cos)

  14. Робота з Watson IoT Device/Gateway (node-red-contrib-ibm-watson-iot)

  15. Бібліотека IBM IoT APP (node-red-contrib-scx-ibmiotapp)

  16. Бібліотека OPC UA (node-red-contrib-opcua)

  17. Робота з Базами даних SQL

  18. Робота з ОС

  19. Взаємодія з сервісами Google

  20. Боти

  21. TCP та UDP

  22. Протоколи S7

  23. InfluxDB

  24. uibuilder - альтернатива Dashboard

  25. 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

Альтернатива:

Вузол Призначення Примітка
uibuilder - альтернатива Dashboard

Базові операції з файлами: бібліотека 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)

Вузол Призначення Примітка
CPU моніторить використання CPU, базується на Node.js OS Library. 2019

Промислові та комп'ютерні мережі

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)

Вузол Призначення Примітка
Telegram bot вузол конфігурації, який спілкується з сервером Telegram 2020
Telegram receiver отримує всі повідомлення з чату. 2020
Telegram command для ініціювання передачі message при отриманні заданої команди 2020
Telegram event отримує події від бота 2020
Telegram sender відправляє повідомлення в чат 2020
Telegram reply чекає відповіді на вказане повідомлення 2020

Інтеграція з Proficloud від Phoenix Contact

Вузол Призначення Примітка
image-20221012001643695 Phoenix Device для роботи з Profi Cloud 2022

Робота з поштою

Вузол Призначення Примітка
node-red-node-email 2023

Сервіси погоди

Вузол Призначення Примітка
node-red-node-openweathermap 2023

Платформи 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

Вузол Призначення Примітка
node-red-contrib-sqldbs 2020
node-red-contrib-mysql 2020
node-red-contrib-stackhero-mysql 2023

Робота з базами даних NoSQL

Вузол Призначення Примітка
node-red-node-mongodb для роботи з MongoDB 2023
node-red-contrib-mongodb4 для роботи з MongoDB 2023
Бібліотека node-red-contrib-influxdb для роботи з Influx

Утиліти роботи з редактором

Вузол Призначення Примітка
image-20230405152348486 Камера node-red-contrib-browser-utils Браузер робить знімок камерою за замовчуванням, коли натискається кнопка поруч із вузлом. Вузол виводить його як буфер PNG. 2023
image-20230405152341525 Мікрофон node-red-contrib-browser-utils Браузер починає запис після натискання кнопки поруч із вузлом і припиняє його, коли кнопку натискає знову. Вузол виводить його як буфер WAV. 2023
image-20230405152332516 Вибір файлу через браузер node-red-contrib-browser-utils 2023

Робота з Web-браузером

Вузол Призначення Примітка
node-red-contrib-simple-webdriver 2023
node-red-contrib-simple-webdriver 2023
node-red-contrib-simple-webdriver 2023

Робота з зображенням та відео

Вузол Призначення Примітка
node-red-contrib-image-tools 2023
2023
2023

Бібліотеки для автентифікації та кіберзахисту

Вузол Призначення Примітка
node-red-contrib-oauth2 2023
2023
2023

Бібліотеки для ідентифікації речей

Вузол Призначення Примітка
загальна 2023
image-20230405152332516 node-red-contrib-qrcode-generator 2023
2023