Установка IntraSCADA на контроллер Wiren Board

From Wiren Board
This is the approved revision of this page, as well as being the most recent.
IntraSCADA

Описание

IntraSCADA — платформа для систем диспетчеризации зданий, мониторинга и автоматизации промышленных объектов и инженерных сооружений (СМИС). Поддерживаются протоколы Modbus, MQTT, OPC UA, SNMP.

Интерфейсы управления:

Если у контроллера Wiren Board с установленной IntraSCADA нет выделенного IP-адреса, то доступ к нему можно получить по P2P.

Установка

Общая информация

Встроенный флеш-накопитель контроллера разбит на разделы и для пользователя отведён самый большой из них, который монтируется в папку /mnt/data. Нужно учесть эту особенность при установке программ, а также при обновлении прошивки контроллера, которое нужно делать только через менеджер пакетов apt.

Копируйте команды из инструкции, вставляйте их в консоль контроллера с помощью клавиш Shift+Insert и запускайте клавишей Enter. В случае ошибок, внимательно читайте вывод, там будут инструкции и подсказки.

Процесс установки

Производитель IntraSCADA учёл особенности контроллеров Wiren Board в скрипте установки, поэтому просто ставим необходимые пакеты, скачиваем скрипт и запускаем его:

  1. Установите sudo:
    apt update && apt install sudo
    
  2. Скачайте и запустите скрипт установки, это делается одной командой:
    curl -sL https://git.io/JYAeq | sudo -E bash -s ru
    

В команде выше ru — это язык устанавливаемого ПО, для английской версии используйте en.

В процессе установки будет показано сообщение, на которое можно не обращать внимание, если вам интересны причины, смотрите статью:

sudo: unable to resolve host wirenboard-AWE7DENS: No such file or directory

Установка занимает порядка 5 минут, в конце будет показано сообщение со ссылками и логином/паролем для входа, сохраните их:

Login: admin 
Password: 202020                                             
Web interface: http://192.168.2.23:8088/admin, http://192.168.42.1:8088/admin
Complete! Thank you.

Вход в систему

Теперь нужно войти в систему, нам понадобятся данные, сохранённые при установке:

  1. Перейдите по ссылке, например, http://192.168.2.23:8088/admin , где 192.168.2.23 — IP-адрес вашего контроллера.
  2. Введите логин и пароль.

Если вы успешно вошли в систему, установка завершена, можно переходить к активации лицензии и настройке.

Активация лицензии

Для работы с реальными каналами нужна лицензия, мы будем использовать бесплатную лицензию на 32 канала:

  1. Получите бесплатный ключ в интернет-магазине IntraSCADA.
  2. Зайдите в веб-интерфейс IntraSCADA на контроллере, откройте вкладку Лицензии и активируйте полученный ключ.

Настройка устройств Wiren Board

Установка MQTT-плагина

IntraSCADA через MQTT может работать с устройствами, которые подключены к контроллеру Wiren Board. Для этого нужно установить MQTT-плагин и настроить получение и отправку данных.

Установите MQTT-плагин:

  1. Перейдите в веб-интерфейсе IntraSCADA на вкладку Плагины.
  2. Нажмите кнопку Проверить обновления.
  3. Найдите в списке плагин mqttclient и нажмите на кнопку Установить.
  4. Через несколько секунд внизу страницы появится сообщение об успешной установке.

Настройка MQTT-клиента

После установки плагина надо создать экземпляр MQTT-клиента и настроить его:

  1. Выберите в левой панели пункт Источники данных.
  2. Разверните в дереве Plugins и выберите MQTTCLIENT.
  3. В контекстном меню выберите пункт Добавить экземпляр mqttclient1.
  4. Если вы не меняли настройки MQTT-брокера в контроллере Wiren Board, то в настройках плагина оставьте значения по умолчанию.
  5. Запустите плагин, для этого выберите в дереве mqttclient1 и в контекстном меню выберите пункт Запустить плагин mqttclient1.

Настройка каналов

Для настройки каналов нам понадобятся имена MQTT-каналов, которые можно найти в стандартном веб-интерфейсе.

Все настройки будут делаться в интерфейсе IntraSCADA, на странице настройки MQTT-клиента.

Для примера настроим два устройства:

  1. Buzzer — его мы привяжем в существующему устройству Вентилятор.
  2. Датчик CPU Temperature — для него мы создадим своё устройство.

Чтобы не вводить MQTT-каналы вручную, воспользуемся сканером каналов:

  1. Выберите в дереве Plugins → MQTTCLIENT → mqttclient1 и перейдите на вкладку Каналы.
  2. Выберите ALL и в контекстном меню Сканировать каналы.
  3. В открывшемся окне нажмите кнопку Сканировать.
  4. Найдите в списке нужные каналы и добавьте их в таблицу двойным кликом:
    /devices/buzzer/controls/enabled
    /devices/hwmon/controls/CPU Temperature
  5. В поле Channel задайте имена выбранным каналам, например, Buzzer и CPU_Temperature.
  6. Нажмите кнопку Добавить каналы.

В результате выбранные каналы будут добавлены в дерево ALL и автоматически настроены на получение сообщений (чтение).

Buzzer привяжем к Вентилятору, который уже есть в демонстрационной конфигурации, поэтому сразу переходим к настройке каналов. Разверните дерево ALL, выберите канал Buzzer и заполните поля:

  • Привязка к устройcтву — FAN_001, свойство state.
  • Канал — Buzzer.
  • Устанавливаем флажки Чтение и Запись.
  • Топик для подписки — /devices/buzzer/controls/enabled.
  • Формула извлечения значения — оставьте пустым.
  • Топик для публикации, такой же как для подписки, только с /on на конце — /devices/buzzer/controls/enabled/on.
  • Сообщение для публикации — value.
  • Нажмите кнопку Сохранить.

CPU Temperature. Здесь сперва мы создадим новое устройство, а потом настроим каналы:

  1. Выберите в панели слева Устройства.
  2. Разверните в дереве элемент Устройства и выделите элемент Группа 1.
  3. В контекстном меню выберите Новое устройство → Универсальные → Датчик аналоговый.
  4. Перейдите на вкладку Свойства и привяжите в столбце Канал свойство value к нашему топику mqttclient1.CPU_Temp, который мы добавили на этапе автоматического сканирования.
  5. Нажмите кнопку Сохранить.

Теперь всё готово, чтобы вывести данные с наших устройств на пользовательский дашборд.

Визуализация

Для визуализации мы воспользуемся встроенным примером дашборда:

  1. Выберите в панели слева пункт Визуализация.
  2. Потом в дереве Контейнеры → Для Examples → Примеры устройств 1 и вкладка Редактор.

Вентилятор, который мы привязали к Buzzer здесь уже есть, поэтому добавим наш датчик температуры:

  1. Нажмите правой кнопкой в свободное место дашборда.
  2. В контекстном меню Добавить шаблон → Датчики → Датчик температуры.
  3. Расположите новый элемент в поле редактора.
  4. В правой панели нажмите на кнопку Привязка → три точки напротив value → Привязать.
  5. Откроется окно с датчиками, выберите там созданный ранее датчик AI_003-Датчик аналоговый, найдите value и нажмите на кнопку ОК.
  6. Нажмите кнопку Сохранить.

Теперь проверим результат:

  1. Нажмите вверху страницы кнопку Интерфейс пользователя.
  2. Перейдите в раздел Примеры.

Теперь нажатие на иконку вентилятора будет включать Buzzer контроллера, а под ним будет отображаться температура процессора.

Удаление

Деактивируйте ключ, чтобы иметь возможность использовать его потом:

  1. Зайдите в веб-интерфейс IntraSCADA на контроллере.
  2. Откройте вкладку Лицензии и найдите в таблице свой ключ.
  3. Сохраните ключ к себе на компьютер и нажмите кнопку Деактивировать.

Остановите сервис и отключите его автозапуск:

systemctl stop ih-v5 && systemctl disable ih-v5

Удалите файл описания сервиса:

rm /etc/systemd/system/ih-v5.service

Удалите папки, куда была установлена IntraSCADA:

rm -R /mnt/data/opt/ih-v5 && rm -R /mnt/data/var/lib/ih-v5

Полезные ссылки


Поддерживаемые контроллером Wiren Board протоколы, устройства и системы верхнего уровня
Поддерживаемые протоколы
Опрос датчиков и работа с устройствами (в базовой комплектации) 1-WireDLMS/COSEM Modbus RTU/TCP Master ГОСТ МЭК 61107 СПОДЭС (ГОСТ Р 58940-2020)
Опрос датчиков и работа с устройствами (с помощью модулей расширения) KNXeBUSOpenThermZ-WaveZigbee
Системы верхнего уровня KNX Modbus RTU/TCP SlaveMQTTOPC UASNMPZabbix МЭК 104SmartWeb
ПО верхнего уровня GrafanaHome Assistant IntraHouse IntraSCADA IRidium ServerMasterSCADANagiosRapid SCADASAYMONZabbix
Голосовые ассистенты и облачные решения Сири и Apple HomeKit Салют от SberDevices Яндекс Алиса
Протестированные устройства сторонних производителей
Датчики климата DS18B20 и клоныKvadro 1WIRE-RS485 RLDA NL-3DPAS-M RLDA NL-1S111Wellpro WP3066ADAMДаджет MT8057/MT8057SРД MSU21РД MSU24РД MSU34+TLPРД MSU34+THLPЭксис ИВТМ-7 М 3
Датчики уровня ЭСКОРТ ДБ-2
Диммеры Шлюз DALI GW2 Philio PAD07-RU Uniel UCH-M131RC/0808 Uniel UCH-M141RC/0808 РД DDL04R РД DDL24 РД DDL84R-V РД DDM845R
Конвекторы Varmann QTherm
Кондиционеры Haier YCJ-A002 Z-Wave ИК-передатчик PAR01-RU
Контроллеры вентиляции и климата Mautomatics JL204C5 (Breezart 550 Lux) GTC (General Thermo Controllers) Syberia 5.0 SystemAir VR 300
Контроллеры холодильного оборудования Carel BASIC(PYEZ)/EASY(PJEZ) Danfoss EKC 204A1 / AK-CC 210 Danfoss EKC 202B Danfoss EKC 202D Danfoss ERC 211/ERC 213/ERC 214 Eliwell IDPlus 974
Метеостанции Netatmo Urban Weather Station
Модули ввода-вывода Wellpro WP8026ADAM Wellpro WP8027ADAM Wellpro WP8028ADAM Wellpro WP9038ADAM
Модули реле РД DRB88 Rubetek TZ78 ICP DAS tM-P3R3 ICP DAS LC-103 Uniel UCH-M111RX/0808 Uniel UCH-M121RX/0808
Моторы для штор/Электрокарнизы Akko AM82 Dooya DT82 WinDeco Somfy SDN SunFlower KT82TV Somfy RS485 RTS transmitter
Преобразователи частоты Vacon/Danfoss 10 Danfoss VLT Microdrive FC51 T13-400W-12-H
Счётчики воды Пульсар Пульсар-М Элехант СВД-15 Элехант СВД-20 Счётчики с импульсным выходом
Счётчики тепла Пульсар
Счётчики электроэнергии CSQ PD561Z-9SY Peacefair PZEM-016 Eastron SDM120M Eastron SDM220M Меркурий 200 Меркурий 201 Меркурий 203.2T Меркурий 204 Меркурий 206 Меркурий 208 Меркурий 230 Меркурий 231 Меркурий 234 Меркурий 236 Меркурий 238 Милур 104 Милур 105 Милур 107 Милур 305 Милур 307 Нева МТ 113 Нева МТ 123 Нева МТ 124 Нева МТ 323 Нева МТ 324 Энергомера CE301 Энергомера CE102M Энергомера CE303 Энергомера CE308
Термостаты BAC-6000 Series BHT-6000 Series Cityron ПУ-3 (Modbus) Heatit Z-TEMP2 Hessway Siemens RDF302
Увлажнители CAREL Humisonic
Прочее DIYShelly UNITasmotaESPHome
Устройства с аналоговым или цифровым выходом
Низковольтная нагрузка Реле с управляющим напряжением 12–24 В Светодиоды Низковольтные вентиляторы Низковольтные сигнальные лампы
Датчики с аналоговым выходом Датчики температуры, давления и другие, имеющие на выходе ток или напряжение
Счётчики с импульсным выходом Счётчики электроэнергии, воды, тепла и другие с импульсным выходом
Устройства с выходом «открытый коллектор» Устройства с выходом «открытый коллектор»
Устройства с питанием 220 В Лампы Контакторы Другое оборудование, питающееся от 220 В