Интеграция SmartWeb и Wirenboard 6

  1. Откройте веб-интерфейс, переключите порт RS-485/CAN в режим CAN: На вкладке Hardware Modules Configuration выберите настройки RS485-2/CAN interface config, выберите Module type CAN interface и нажмите кнопку Save.
  2. (Вариант 1): В веб-интерфейсе - Settings - Configs - Hardware interfaces configuration
  3. (Вариант 2):
    vim /etc/network/interfaces


    Добавить в конец файла следующие строки, если их нет:

    auto can0
    iface can0 inet manual
    pre-up ip link set can0 type can bitrate 20000
    up ifconfig can0 up

Этот пакет нужен для того, чтобы любые датчики, доступные в MQTT на Wirenboard, представить в виде сенсоров виртуального контроллера на CAN-шине, которые можно использовать в работе реальных контроллеров SmartWeb.

  1. Выполнить следующие команды:
    1. apt update
    2. apt install wb-mqtt-smartweb
  2. Открываем Configs, там
    /etc/wb-mqtt-smartweb.conf

    (SmartWeb Driver Configuration)

  3. «SmartWeb Controller ID» ставим любой свободный ID контроллера на шине CAN, можно оставить по-умолчанию 204
  4. Если нет мэппинга, добавляем, если есть - изменяем. Device Id/Control Id пишем [Device]/[Control], где [Device] и [Control] брать из полей со страницы Settings → MQTT Channels, напр. «noolite_rx_0x6276/temperature» или «hwmon/CPU Temperature»
  5. Sensor - ставим по-порядку, начиная с 1
  6. SmartWeb output mapping point - ставим по-порядку, начиная с 0
  7. Value timeout (minutes) - время отсутствия новых значений показания датчика, после которого в SmartWeb будет отправляться показание «обрыв датчика». Полезно при работе с радиоканальными датчиками, которые шлют значения раз в час, тогда надо поставить 120 мин, т.е. даем штатно «пропасть» одному значению.
  8. Не забываем нажать Save!
  9. В сети SmartWeb этот контроллер появляется как контроллер SmartWeb X1 с ID который мы указали в настройках, см. выше. Используйте встроенный в веб-интерфейс SmartWeb "Конфигуратор", чтобы привязать датчики Wirenboard 6 к входам программ на SmartWeb. Заводить программы на Wirenboard - нельзя.
  10. В конце концов сделать тест на перезагрузку - выключить и включить питание WB6 и SmartWeb и дождаться когда датчики появятся снова.

Эта настройка позволяет вытащить показания программ SmartWeb в MQTT шину Wirenboard 6, с возможностью их чтения и изменения.

Это потом позволит использовать SmartWeb во всех автоматизациях, которые работают с Wirenboard 6.

Внимание!

Не устанавливайте ничего сверх того, что здесь описано, т.к. Node-RED легко может переполнить небольшое хранилище (980 МБ) на WB6.

Установка

Для установки Node-RED на Wiren board 6 подключитесь к контроллеру по SSH и введите в консоль несколько команд:

Настраиваем репозиторий Node JS

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Устанавливаем необходимые компоненты

apt-get 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

Затем скопируйте в этот файл:

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
service nodered start

https://flows.nodered.org/node/node-red-contrib-socketcan

Открываем интерфейс Node-RED - ip_WB:1880

Открываем меню Node-RED → Manage Palette → Install → node-red-contrib-socketcan → Install

  • каталог/автоматика/управление/smartweb/wirenboard_6.txt
  • Последние изменения: 2021/01/30 00:14
  • admin