Node-RED: различия между версиями
(Была зависимость от nodejs, устанавливали nodred3. Теперь можно 4) |
|||
(не показаны 93 промежуточные версии 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 — это инструмент визуального программирования | |||
Более подробное описание, инструкции и примеры использования можно найти на сайте [https://nodered.org/ nodered.org] | |||
== Установка == | |||
Для установки 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 enable 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 | ||
Строка 196: | Строка 86: | ||
}} | }} | ||
=== Настройка === | |||
=== Настройка === | |||
После того как вы установили 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''' нажмите кнопку '''Refresh Device List'''. Если соединение настроено верно, то в выпадающем списке поля Cnahhel появится список доступных для использования каналов. | |||
# Закройте окно '''Edit in node''' нажатием на '''Cancel'''. | # Закройте окно '''Edit in node''' нажатием на '''Cancel'''. | ||
Вы настроили WB Nodes и можете писать автоматизации с использованием Node-RED. | |||
== | === Пример === | ||
Пример работы с WB-Nodes смотрите в статье [[Node-RED+Telegram | Настройка Telegram-бота]]. | |||
Версия 10:13, 4 августа 2021
Описание
Node-RED — это инструмент визуального программирования. Работает на платформе Node.js.
Более подробное описание, инструкции и примеры использования можно найти на сайте nodered.org
Установка
Для установки 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
Запуск
После создания и настройки сервиса 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.
- Закройте окно с настройками. Установка модуля завершена.
Настройка
После того как вы установили 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 нажмите кнопку Refresh Device List. Если соединение настроено верно, то в выпадающем списке поля Cnahhel появится список доступных для использования каналов.
- Закройте окно Edit in node нажатием на Cancel.
Вы настроили WB Nodes и можете писать автоматизации с использованием Node-RED.
Пример
Пример работы с WB-Nodes смотрите в статье Настройка Telegram-бота.