16 433
правки
Matveevrj (обсуждение | вклад) |
(Прибил гвоздями версию 3.1.11) |
||
(не показаны 22 промежуточные версии 4 участников) | |||
Строка 18: | Строка 18: | ||
== Установка == <!--T:23--> | == Установка == <!--T:23--> | ||
{{Wbincludes:Installing Software In Console Catalog And Update}} | |||
{{Wbincludes:Installing Software In Console}} | |||
<!--T:24--> | <!--T:24--> | ||
Строка 28: | Строка 31: | ||
<!--T:25--> | <!--T:25--> | ||
Запустите установку Node-RED: | Запустите установку Node-RED: | ||
<syntaxhighlight lang="bash"> | :<syntaxhighlight lang="bash"> | ||
npm install -g --unsafe-perm node-red@ | npm install -g --unsafe-perm node-red@3.1.11 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<!--T:26--> | <!--T:26--> | ||
Если потребуется обновить версию Node-RED, выполните команду установки ещё раз. | Если потребуется обновить версию Node-RED, выполните команду установки ещё раз. | ||
В релизах wb-2207 и старее устаревшая версия NodeJS, поэтому свежий Node-RED можно поставить только в docker — [[Node-RED_docker|инструкция по установке Node-RED в docker]]. | |||
Также в docker следует устанавливать если требуется версия более новая чем из пакетов. | |||
== Создание сервиса == <!--T:27--> | == Создание сервиса == <!--T:27--> | ||
Строка 42: | Строка 48: | ||
<!--T:29--> | <!--T:29--> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
nano /etc/systemd/system/nodered.service | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 126: | Строка 132: | ||
Инструкции по работе c Node-RED можно найти на [https://nodered.org/docs/getting-started/ сайте nodered.org] | Инструкции по работе c Node-RED можно найти на [https://nodered.org/docs/getting-started/ сайте nodered.org] | ||
== | == Ноды ''mqtt in'' и ''mqtt out'' (рекомендуется) == <!--T:49--> | ||
=== Настройка подключения === | === Настройка подключения === | ||
[[Image: NodeRed_mqtt_nodes.jpg |300px|thumb|right| Ноды MQTT в Node-Red ]] | [[Image: NodeRed_mqtt_nodes.jpg |300px|thumb|right| Ноды MQTT в Node-Red ]] | ||
Для работы по MQTT используются ноды '''mqtt in''' и '''mqtt out'''. Также вам понадобятся адреса топиков, взять их можно в веб-интерфейсе контроллера на странице [[Wiren Board Web Interface#mqtt-channels |MQTT-каналы]]. | |||
<!--T:50--> | <!--T:50--> | ||
Строка 219: | Строка 182: | ||
Image: NodeRed_mqtt5.jpg | Пример управления с помощью Алисы | Image: NodeRed_mqtt5.jpg | Пример управления с помощью Алисы | ||
</gallery> | </gallery> | ||
== WB Nodes (решение сообщества) == <!--T:42--> | |||
[[Файл:Installing node-red-contrib-wirenboard.PNG|500px|thumb|right| Установка WB Nodes на контроллер 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>. | |||
=== Установка === <!--T:43--> | |||
Установим его через веб-интерфейс Node-RED: | |||
{{Node-RED Installing plugin | |||
|search= wirenboard | |||
|name= node-red-contrib-wirenboard | |||
}} | |||
После установки, в левой панели появится секция Wiren Board. | |||
=== Настройка === <!--T:44--> | |||
После того как вы установили 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 пропишите <code>localhost</code>. В поле '''Name''' укажите произвольное имя, а в поле '''MQTT Port''' — 1883. | |||
# Сохраните настройки сервера нажатием на кнопку '''Done'''. | |||
# Закройте окно '''Edit in node''' нажатием на '''Cancel'''. | |||
{{note|info| После настройки подключения, примените настройку сервера нажатием кнопки '''Deploy''' справа вверху. Только после этого будет доступен список каналов контроллера Wiren Board.}} | |||
<!--T:45--> | |||
Вы настроили WB Nodes и можете писать автоматизации с использованием Node-RED. | |||
=== Проверка настроек === <!--T:46--> | |||
Чтобы проверить правильность настроек: | |||
# Добавьте в рабочую область любую ноду из группы Wiren Board, например, '''WB-input'''. | |||
# Дважды кликните на ноде '''WB-input''', откроется окно '''Edit in node'''. | |||
# В окне '''Edit in node''' нажмите кнопку '''Refresh Device List'''. | |||
<!--T:47--> | |||
Если соединение настроено верно, то в выпадающем списке поля '''Сhannel''' появится список доступных для использования каналов. | |||
=== Примеры === <!--T:48--> | |||
В комплекте с WB-Nodes есть примеры для [[Node-RED Apple HomeKit | Apple HomeKit]] и Яндекс.Алисы, найти их можно в '''Menu''' → '''Import''' → '''Examples'''. | |||
<gallery mode="packed" heights="200px" caption="Примеры из комплекта WB-Nodes"> | |||
Image: WB-Nodes Examples 1.png | Список примеров | |||
Image: WB-Nodes Examples 2.png | Пример в рабочей области | |||
</gallery> | |||
=== Решение проблем === | |||
Иногда, если во флоу есть ошибка, то веб-интерфейс Node-RED может перестать загружаться, в этом случае нужно проверить логи сервиса nodered. | |||
Если в логах будет видна ошибка во флоу, то: | |||
# Подключиться к контроллеру по [[SSH]]. | |||
# Остановить службу, если она запущена: | |||
#: <syntaxhighlight lang="bash"> | |||
systemctl stop nodered | |||
</syntaxhighlight> | |||
# Запустить Node-RED в безопасном режиме: | |||
#: <syntaxhighlight lang="bash"> | |||
node-red --safe | |||
</syntaxhighlight> | |||
# Установить проблему и остановить запущенный в безопасном режиме Node-RED. | |||
# Снова запустить сервис: | |||
#: <syntaxhighlight lang="bash"> | |||
systemctl start nodered | |||
</syntaxhighlight> | |||
Если вы ставили Node-RED в docker, воспользуйтесь инструкцией на странице [[Node-RED_docker|Установка Node-RED в docker]]. | |||
== Примеры использования == <!--T:55--> | == Примеры использования == <!--T:55--> | ||
Строка 228: | Строка 256: | ||
* [https://youtu.be/cKQmU4LZo4c Видео от нашего партнёра: Wiren Board + Node-RED] | * [https://youtu.be/cKQmU4LZo4c Видео от нашего партнёра: Wiren Board + Node-RED] | ||
</translate> | </translate> | ||
* [https://habr.com/ru/company/wirenboard/blog/689098/ Умный дом на Wiren Board и Node-RED: четыре полезных сценария без программирования] | |||
* [https://habr.com/ru/company/wirenboard/blog/689826/ Умный дом на Wiren Board и Node-RED: ещё три полезных сценария без программирования] | |||
* [https://habr.com/ru/company/wirenboard/blog/713274/ Работаем с Zigbee-устройствами через Zigbee2mqtt и Node-RED] |