SmartWeb -> MQTT (WB6) через Node-RED
Эта настройка позволяет вытащить показания программ SmartWeb в MQTT шину Wirenboard 6, с возможностью их чтения и изменения.
Это потом позволит использовать SmartWeb во всех автоматизациях, которые работают с Wirenboard 6.
Также, возможно использовать этот вариант для интеграции на другие платформы, где есть Node-RED и MQTT.
Не устанавливайте ничего сверх того, что здесь описано, т.к. Node-RED легко может переполнить небольшое хранилище (980 МБ) на WB6.
1. Устанавливаем Node-RED
(источник) https://wirenboard.com/wiki/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
node-red admin init
Создание Сервиса
Для автозапуска Node-RED необходимо настроить сервис. Для этого зайдите в папку /etc/systemd/system/ и создайте файл nodered.service
nano /etc/systemd/system/nodered.service
Затем скопируйте в этот файл:
- 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
Сохраните изменения Ctrl-O, Enter и закройте файл Ctrl-X.
Теперь для включения сервиса нужно ввести команды:
systemctl enable nodered.service && systemctl start nodered.service service nodered start
2. Устанавливаем node-red-contrib-socketcan
https://flows.nodered.org/node/node-red-contrib-socketcan
Открываем интерфейс Node-RED - ip_WB:1880
Открываем меню Node-RED → Manage Palette → Install → node-red-contrib-socketcan → Install