Подключение с использованием собственного драйвера
Система КСИА.Шлюз предоставляет возможность добавлять кастомные драйвера для подключения оборудования с редкими протоколами или интеграции программного обеспечения.
Создание кастомного драйвера происходит в два шага:
- Объявление драйвера. Создать и настроить конфигурационный файл в формате JSON.
- Реализация драйвера (скрипт). Написание скрипта на языке Python или JavaScript.
Объявление драйвера
Создайте JSON-файл с описанием драйвера и поместите его в папку drivers (располагается в папке с установленной программой КСИА.Шлюз).

После этого драйвер отобразится в выпадающем списке Добавить устройство.

Важно: На этом этапе драйвер уже отображается в интерфейсе, но не работает — данные не передаются.
Добавление устройства с кастомным драйвером происходит также как и со встроенным драйвером.
Описание конфигурационного файла
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
Файл JSON должен содержать следующие поля:
- id: string; обязательный параметр; уникальный идентификатор драйвера;
- title: string; обязательный параметр; отображаемое название драйвера в интерфейсе;
- deviceConfig: object; обязательный параметр; описание параметров устройства:
- title: string; обязательный параметр; отображаемое название параметра в интерфейсе;
- type: string; обязательный параметр; тип данных (string, number, boolean);
- default: string; необязательный параметр; значение по умолчанию (опционально).
- pointConfig: object; обязательный параметр; описание параметров точки:
- title: string; обязательный параметр; отображаемое название параметра в интерфейсе;
- type: string; обязательный параметр; тип данных (string, number, boolean);
- default: string; необязательный параметр; значение по умолчанию (опционально).
Реализация драйвера (скрипт на Python)
После объявления драйвера через JSON-конфиг необходимо обеспечить его работоспособность путём реализации скрипта на языке Python.
Важно: Без скрипта драйвер отображается в интерфейсе, но данные от устройств не принимаются.
Порядок работы скрипта:
- КСИА.Шлюз запускает скрипт, передавая ему параметры устройства из
deviceConfigв порядке объявления. - Скрипт устанавливает соединение с оборудованием в соответствии с полученными параметрами.
- Скрипт считывает значения по адресам или топикам, заданным в настройках точек.
- Скрипт выводит результат в стандартный поток вывода (
stdout) в формате JSON. - КСИА.Шлюз принимает вывод скрипта и сохраняет значения в соответствующие точки.
Полный пример скрипта
Ниже представлен пример реализации скрипта на Python. Скрипт выполняет следующие функции:
- Принимает параметры устройства.
- Периодически генерирует и отправляет данные в КСИА.Шлюз.
- Корректно обрабатывает сигналы остановки (SIGTERM, SIGINT).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | |