Node-RED: различия между версиями
(Прибил гвоздями версию 3.1.11) |
м (→Описание) |
||
(не показаны 84 промежуточные версии 7 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Wiren Board 6: Node-RED}} | |||
[[Файл:Node-red.PNG|500px|thumb|right| Node-RED на WB6]] | |||
{{DISPLAYTITLE: | [[Файл:Installing node-red-contrib-wirenboard.PNG|500px|thumb|right| Установка WB Nodes на контроллер Wiren Board]] | ||
[[Файл:Node-red.PNG|500px|thumb|right| Node-RED на | |||
== Описание == | == Описание == | ||
Node-RED — это инструмент визуального программирования, основанный на Node.js и который разрабатывается и поддерживается открытым сообществом. | Node-RED — это инструмент визуального программирования, основанный на Node.js и который разрабатывается и поддерживается открытым сообществом. | ||
Подробное описание, инструкции, примеры использования и поддержку можно найти на сайте [https://nodered.org/ nodered.org] или в телеграм-канале [https://t.me/SprutAI_NodeRED Node-RED]. | |||
Подробное описание, инструкции | |||
== Установка == | |||
Для установки Node-RED на Wiren board 6 подключитесь к контроллеру по [[SSH]] и введите в консоль несколько команд. | |||
= | Настройте репозиторий Node JS: | ||
<syntaxhighlight lang="bash"> | |||
curl -sL https://deb.nodesource.com/setup_12.x | bash - | |||
</syntaxhighlight> | |||
Установите необходимые компоненты: | Установите необходимые компоненты: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
apt install -y nodejs git make g++ gcc build-essential | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Запустите установку Node-RED: | Запустите установку Node-RED: | ||
<syntaxhighlight lang="bash"> | |||
npm install -g --unsafe-perm node-red | npm install -g --unsafe-perm node-red | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Создание Сервиса == | |||
== Создание | |||
Для автозапуска Node-RED необходимо настроить сервис. Для этого в папке <code>/etc/systemd/system/</code> создайте файл <code>nodered.service</code>: | Для автозапуска Node-RED необходимо настроить сервис. Для этого в папке <code>/etc/systemd/system/</code> создайте файл <code>nodered.service</code>: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
nano /etc/systemd/system/nodered.service | nano /etc/systemd/system/nodered.service | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Затем вставьте в этот файл строки: | Затем вставьте в этот файл строки: | ||
<pre> | <pre> | ||
Строка 58: | Строка 40: | ||
Wants=network.target | Wants=network.target | ||
[Service] | [Service] | ||
Type=simple | Type=simple | ||
Строка 65: | Строка 46: | ||
WorkingDirectory=/home | WorkingDirectory=/home | ||
Nice=5 | Nice=5 | ||
Environment="NODE_OPTIONS=--max_old_space_size=256" | Environment="NODE_OPTIONS=--max_old_space_size=256" | ||
Строка 73: | Строка 53: | ||
SyslogIdentifier=Node-RED | SyslogIdentifier=Node-RED | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
</pre> | </pre> | ||
Сохраните изменения и закройте файл. Теперь для включения сервиса нужно ввести команду: | |||
Сохраните изменения и закройте файл. Теперь | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
systemctl enable nodered && systemctl start nodered | systemctl enable nodered.service && systemctl start nodered.service | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Запуск == | |||
После создания и настройки сервиса nodered его нужно запустить, для этого выполните команду: | |||
<syntaxhighlight lang="bash"> | |||
service nodered start | |||
== | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Веб-интерфейс Node-RED== | ==Веб-интерфейс Node-RED== | ||
После запуска сервиса откройте браузер и введите адрес своего контроллера в сети и порт 1880. | После запуска сервиса откройте браузер и введите адрес своего контроллера в сети и порт 1880. | ||
Например: http://192.168.42.1:1880 | Например: http://192.168.42.1:1880 | ||
Инструкции по работе c Node-RED можно найти на [https://nodered.org/docs/getting-started/ сайте nodered.org] | Инструкции по работе c Node-RED можно найти на [https://nodered.org/docs/getting-started/ сайте nodered.org] | ||
== WB Nodes == | |||
== WB Nodes | |||
[[Image: nr+wb-settings.png |600px|thumb|right|Настройка соединения с контроллером Wiren Board]] | [[Image: nr+wb-settings.png |600px|thumb|right|Настройка соединения с контроллером Wiren Board]] | ||
Чтобы упростить взаимодействие Node-RED с контроллером Wiren Board, пользователь [https://support.wirenboard.com/t/node-red-contrib-wirenboard/2019 Andrej_Popov] написал модуль <code>node-red-contrib-wirenboard</code>. | Чтобы упростить взаимодействие Node-RED с контроллером Wiren Board, пользователь [https://support.wirenboard.com/t/node-red-contrib-wirenboard/2019 Andrej_Popov] написал модуль <code>node-red-contrib-wirenboard</code>. | ||
=== Установка === | === Установка === | ||
Установим его через веб-интерфейс Node-RED: | Установим его через [[#Веб-интерфейс Node-RED | веб-интерфейс Node-RED]]: | ||
{{Node-RED Installing plugin | {{Node-RED Installing plugin | ||
|search= wirenboard | |search= wirenboard | ||
Строка 197: | Строка 87: | ||
После установки, в левой панели появится секция Wiren Board. | После установки, в левой панели появится секция Wiren Board. | ||
=== Настройка === | |||
=== Настройка === | |||
После того как вы установили WB Nodes, вам нужно настроить соединение с MQTT-брокером контроллера Wiren Board: | После того как вы установили WB Nodes, вам нужно настроить соединение с MQTT-брокером контроллера Wiren Board: | ||
# Добавьте в рабочую область ноду '''WB-input''', которая находится в левой панели, в секции '''Wiren Board'''. | # Добавьте в рабочую область ноду '''WB-input''', которая находится в левой панели, в секции '''Wiren Board'''. | ||
# Дважды кликните на ней, откроется окно '''Edit in node'''. | # Дважды кликните на ней, откроется окно '''Edit in node'''. | ||
# Найдите в нём поле '''Server''' и нажмите на кнопку с карандашом. Откроется окно '''Add new wirenboard-server config node'''. | # Найдите в нём поле '''Server''' и нажмите на кнопку с карандашом. Откроется окно '''Add new wirenboard-server config node'''. | ||
# Заполните поля '''Name''', '''Host''' и '''MQTT Port'''. Если Node-RED установлен на контроллере — в поле Host пропишите <code>localhost</code> | # Заполните поля '''Name''', '''Host''' и '''MQTT Port'''. Если Node-RED установлен на контроллере — в поле Host пропишите <code>localhost</code>. | ||
# Сохраните настройки сервера нажатием на кнопку '''Done'''. | # Сохраните настройки сервера нажатием на кнопку '''Done'''. | ||
# Закройте окно '''Edit in node''' нажатием на ''' | # Закройте окно '''Edit in node''' нажатием на '''Cansel'''. | ||
{{note|info| После настройки подключения, примените настройку сервера нажатием кнопки '''Deploy''' справа вверху. Только после этого будет доступен список каналов контроллера Wiren Board.}} | {{note|info| После настройки подключения, примените настройку сервера нажатием кнопки '''Deploy''' справа вверху. Только после этого будет доступен список каналов контроллера Wiren Board.}} | ||
Вы настроили WB Nodes и можете писать автоматизации с использованием Node-RED. | Вы настроили WB Nodes и можете писать автоматизации с использованием Node-RED. | ||
=== Проверка настроек === | === Проверка настроек === | ||
Чтобы проверить правильность настроек: | Чтобы проверить правильность настроек: | ||
# Добавьте в рабочую область любую ноду из группы Wiren Board, например, '''WB-input'''. | # Добавьте в рабочую область любую ноду из группы Wiren Board, например, '''WB-input'''. | ||
Строка 217: | Строка 105: | ||
# В окне '''Edit in node''' нажмите кнопку '''Refresh Device List'''. | # В окне '''Edit in node''' нажмите кнопку '''Refresh Device List'''. | ||
Если соединение настроено верно, то в выпадающем списке поля '''Cnahhel''' появится список доступных для использования каналов. | |||
Если соединение настроено верно, то в выпадающем списке поля ''' | |||
== | === Пример === | ||
Пример работы с WB-Nodes смотрите в статье [[Node-RED+Telegram | Настройка Telegram-бота]]. | |||
Версия 17:08, 3 сентября 2021
Описание
Node-RED — это инструмент визуального программирования, основанный на Node.js и который разрабатывается и поддерживается открытым сообществом.
Подробное описание, инструкции, примеры использования и поддержку можно найти на сайте nodered.org или в телеграм-канале Node-RED.
Установка
Для установки Node-RED на Wiren board 6 подключитесь к контроллеру по SSH и введите в консоль несколько команд.
Настройте репозиторий Node JS:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Установите необходимые компоненты:
apt install -y nodejs git make g++ gcc build-essential
Запустите установку Node-RED:
npm install -g --unsafe-perm node-red
Создание Сервиса
Для автозапуска Node-RED необходимо настроить сервис. Для этого в папке /etc/systemd/system/
создайте файл nodered.service
:
nano /etc/systemd/system/nodered.service
Затем вставьте в этот файл строки:
[Unit] Description=Node-RED graphical event wiring tool Wants=network.target [Service] Type=simple User=root Group=root WorkingDirectory=/home Nice=5 Environment="NODE_OPTIONS=--max_old_space_size=256" ExecStart=/usr/bin/env node-red $NODE_OPTIONS $NODE_RED_OPTIONS KillSignal=SIGINT Restart=on-failure SyslogIdentifier=Node-RED [Install] WantedBy=multi-user.target
Сохраните изменения и закройте файл. Теперь для включения сервиса нужно ввести команду:
systemctl enable nodered.service && systemctl start nodered.service
Запуск
После создания и настройки сервиса nodered его нужно запустить, для этого выполните команду:
service nodered start
Веб-интерфейс Node-RED
После запуска сервиса откройте браузер и введите адрес своего контроллера в сети и порт 1880. Например: http://192.168.42.1:1880
Инструкции по работе c Node-RED можно найти на сайте nodered.org
WB Nodes
Чтобы упростить взаимодействие Node-RED с контроллером Wiren Board, пользователь Andrej_Popov написал модуль node-red-contrib-wirenboard
.
Установка
Установим его через веб-интерфейс Node-RED:
- Зайдите в веб-интерфейс Node-RED.
- В правом верхнем углу вызовите меню.
- В открывшемся окне выберите вкладку Управление палитрой (Manager palette).
- Перейдите на вкладку Установка (Install), введите в поле поиска wirenboard и нажмите на клавиатуре Enter.
- Установите пакет с названием node-red-contrib-wirenboard.
- Закройте окно с настройками. Установка модуля завершена.
После установки, в левой панели появится секция Wiren Board.
Настройка
После того как вы установили WB Nodes, вам нужно настроить соединение с MQTT-брокером контроллера Wiren Board:
- Добавьте в рабочую область ноду WB-input, которая находится в левой панели, в секции Wiren Board.
- Дважды кликните на ней, откроется окно Edit in node.
- Найдите в нём поле Server и нажмите на кнопку с карандашом. Откроется окно Add new wirenboard-server config node.
- Заполните поля Name, Host и MQTT Port. Если Node-RED установлен на контроллере — в поле Host пропишите
localhost
. - Сохраните настройки сервера нажатием на кнопку Done.
- Закройте окно Edit in node нажатием на Cansel.
После настройки подключения, примените настройку сервера нажатием кнопки Deploy справа вверху. Только после этого будет доступен список каналов контроллера Wiren Board.
Вы настроили WB Nodes и можете писать автоматизации с использованием Node-RED.
Проверка настроек
Чтобы проверить правильность настроек:
- Добавьте в рабочую область любую ноду из группы Wiren Board, например, WB-input.
- Дважды кликните на ноде WB-input, откроется окно Edit in node.
- В окне Edit in node нажмите кнопку Refresh Device List.
Если соединение настроено верно, то в выпадающем списке поля Cnahhel появится список доступных для использования каналов.
Пример
Пример работы с WB-Nodes смотрите в статье Настройка Telegram-бота.