Установка IntraSCADA на контроллер Wiren Board
Это черновик страницы. Последняя правка сделана 11.05.2022 пользователем A.Degtyarev.
Описание
IntraSCADA — платформа для систем диспетчеризации зданий, мониторинга и автоматизации промышленных объектов и инженерных сооружений (СМИС). Поддерживаются протоколы Modbus, MQTT, OPC UA, SNMP.
Интерфейсы управления:
- Веб-интерфейс, который работает в популярных браузерах, таких как Chrome, Safari.
- Приложение на персональный компьютер.
Если у контроллера Wiren Board с установленной IntraSCADA нет выделенного IP-адреса, то доступ к нему можно получить по P2P.
Установка
Общая информация
Чтобы не потерять установленный софт и его данные, обновляйте ПО контроллера только через менеджер пакетов apt. Подробнее читайте в статье Программное обеспечение Wiren Board.
Встроенный флеш-накопитель контроллера разбит на разделы и для пользователя отведён самый большой из них, который монтируется в папку /mnt/data
. Нужно учесть эту особенность при установке программ, а также при обновлении прошивки контроллера.
Копируйте команды из инструкции, вставляйте их в консоль контроллера с помощью клавиш Shift+Insert и запускайте клавишей Enter. В случае ошибок, внимательно читайте вывод, там будут инструкции и подсказки.
Процесс установки
Производитель IntraSCADA учёл особенности контроллеров Wiren Board в скрипте установки, поэтому просто ставим необходимые пакеты, скачиваем скрипт и запускаем его:
- Установите sudo:
apt update && apt install sudo
- Скачайте и запустите скрипт установки, это делается одной командой:
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.
Вход в систему
Теперь нужно войти в систему, нам понадобятся данные, сохранённые при установке:
- Перейдите по ссылке, например, http://192.168.2.23:8088/admin , где 192.168.2.23 — IP-адрес вашего контроллера.
- Введите логин и пароль.
Если вы успешно вошли в систему, установка завершена, можно переходить к активации лицензии и настройке.
Активация лицензии
Для работы с реальными каналами нужна лицензия, мы будем использовать бесплатную лицензию на 32 канала:
- Получите бесплатный ключ в интернет-магазине IntraSCADA.
- Зайдите в веб-интерфейс IntraSCADA на контроллере, откройте вкладку Лицензии и активируйте полученный ключ.
Настройка устройств Wiren Board
Установка MQTT-плагина
IntraSCADA может работать с устройствами, подключенными к контроллеру Wiren Board через MQTT. Для этого нужно установить MQTT-плагин и настроить получение и отправку данных.
Установите MQTT-плагин:
- Перейдите в веб-интерфейсе IntraSCADA на вкладку Плагины.
- Нажмите кнопку Проверить обновления.
- Найдите в списке плагин mqttclient и нажмите на кнопку Установить.
- Через несколько секунд внизу страницы появится сообщение об успешной установке.
Настройка MQTT-клиента
После установки плагина надо создать экземпляр MQTT-клиента и настроить его:
- Выберите в левой панели пункт Источники данных
- Разверните в дереве Plugins и выберите MQTTCLIENT
- В контекстном меню выберите пункт Добавить экземпляр mqttclient1.
- Если вы не меняли настройки MQTT-брокера в контроллере Wiren Board, то в настройках плагина оставьте значения по умолчанию.
- Запустите плагин, для этого выберите в дереве mqttclient1 и в контекстном меню выберите пункт Запустить плагин mqttclient1.
Настройка каналов
Для настройки каналов нам понадобятся имена MQTT-топиков, которые можно найти в стандартном веб-интерфейсе.
Все настройки будут делаться в интерфейсе IntraSCADA, на странице настройки MQTT-клиента.
Для примера настроим два устройства:
- Buzzer — его мы привяжем в существующему устройству Вентилятор.
- Датчик CPU Temperature — для него мы создадим своё устройство.
Чтобы не вводить MQTT-каналы вручную, воспользуемся сканером каналов:
- Выберите в дереве Plugins → MQTTCLIENT → mqttclient1 и перейдите на вкладку Каналы.
- Выберите ALL и в контекстном меню Сканировать каналы.
- Найдите в списке нужные и добавьте из в таблицу двойным кликом:
/devices/buzzer/controls/enabled
/devices/hwmon/controls/CPU Temperature
- Назначьте каналам свои имена или оставьте значения по умолчанию.
- Нажмите кнопку Добавить каналы.
В результате выбранные каналы будут добавлены в дерево ALL и автоматически настроены на получение сообщений (чтение).
Buzzer привяжем к Вентилятору, который уже есть в демонстрационной конфигурации, поэтому сразу переходим к настройке каналов:
- Привязка к устройcтву — FAN_001, свойство state.
- Канал — buzzer.
- Устанавливаем флажки Чтение и Запись.
- Топик для подписки —
/devices/buzzer/controls/enabled
. - Формула извлечения значения — оставьте пустым.
- Топик для публикации —
/devices/buzzer/controls/enabled/on
. - Сообщение для публикации — value.
- Нажмите кнопку Сохранить.
CPU Temperature. Здесь сперва мы создадим новое устройство, а потом настроим каналы:
- Выберите на меню слева Устройства, потом Группа 1
- В контекстном меню выберите Новое устройство → Универсальные → Датчик аналоговый.
- Перейдите на вкладку Свойства и привяжите свойство value этого устройства к нашему топику mqttclient1.CPU_Temp, который мы добавили на этапе автоматического сканирования.
- Нажмите кнопку Сохранить.
Теперь всё готово, чтобы вывести данные с наших устройств на пользовательский дашборд.
Визуализация
Для визуализации мы воспользуемся встроенным примером дашборда:
- Выберите в панели слева пункт Визуализация.
- Потом в дереве Контейнеры → Для Examples → Примеры устройств 1 и вкладка Редактор.
Вентилятор, который мы привязали к Buzzer здесь уже есть, поэтому добавим наш датчик температуры:
- Нажмите правой кнопкой в свободное место дашборда.
- В контекстном меню Добавить шаблон → Датчики → Датчик температуры.
- Расположите новый элемент в поле редактора
- В правой панели нажмите на кнопку Привязка → три точки напротив value → Привязать.
- Откроется окно с датчиками, выберите там созданный ранее датчик AI_003-Датчик аналоговый, найдите value и нажмите на кнопку ОК.
- Нажмите кнопку Сохранить.
Теперь проверим результат:
- Нажмите вверху страницы кнопку Интерфейс пользователя.
- Перейдите в раздел Примеры.
Теперь нажатие на иконку вентилятора будет включать Buzzer контроллера, а под ним будет отображаться температура процессора.
Удаление
Остановите и отключите сервис:
systemctl stop ih-v5 && systemctl disable ih-v5
Удалите описание сервиса и папки, куда была установлена IntraSCADA:
rm /etc/systemd/system/ih-v5.service && rm -R /mnt/data/opt/ih-v5 && rm -R /mnt/data/var/lib/ih-v5
Полезные ссылки
- Инструкция по установке IntraSCADA на контроллер Wiren Board
- Сайт IntraSCADA
- Бесплатная версия на 32 тега
- Онлайн-демо