Для обмена данными по протоколу DLMS используйте драйвер vdrive, см. секцию 3.6.
Ниже дана информация о работе с модулем-драйвером dlms2mqtt
Опция | Описание |
---|
-c | <имя конфигурационного файла> |
| Задает имя конфигурационного файла. По умолчанию vdrive запускается с конфигурационным файлом /etc/vdrive.json. |
| Эта опция позволяет изменить имя конфигурационного файла. Имя файла необходимо задавать полностью. |
| Например: /etc/vd-dlms.json. |
-d | Включает режим вывода в журнал отладчной информации даже если этот режим не задан в конфигурационном файле. |
-h | Включает режим вывода в журнал содержимого передаваемых/отправляемых пакетов. Работает только при влюченном |
| режиме вывода отладочной информации. |
-l | <имя файла журнала> |
| Задает имя файла журнала. По умолчанию vdrive ведет журнал в файле /var/log/vdrive/vdrive.log. |
| Эта опция позволяет изменить имя файла журнала, но папка останется прежней: /var/log/vdrive. |
-v | Включает вывод журнала на консоль. На запись журнала в файл это никак не влияет. |
Конфигурационный файл построен по трёхуровневой схеме:
порты (ports) -> устройства (devices) -> параметры (params).
Если в описании элемента (чаще всего это - устройство) упоминается шаблон,
значит в папке /usr/share/vdrive/templates будет осуществлен поиск файла <значение элемента>.json.
Описатели элемента из шаблона служат основой для описания элемента.
Если в описании атрибута не указано значение по умолчанию, значит атрибут является обязательным.
Принятые сокращения:
ПУ : значение по умолчанию.
Атрибут | Тип | Описание |
---|
mqtt_url | string | URL подключения к MQTT. ПУ: localhost. |
mqtt_port | int | Порт подключения к MQTT. ПУ: 1883. |
log_maxsize | int | Максимальный размер (мегабайт) файла журнала. ПУ: 5. |
log_debug | bool | Признак вывода отладочной информации. ПУ: true. |
ports | array | Массив описателей портов. Должен быть указан хотя бы один порт. |
Атрибут | Тип | Описание |
---|
mqtt | object | URL подключения к MQTT. ПУ: localhost. |
log | object | URL подключения к MQTT. ПУ: localhost. |
ports | array | Массив описателей портов. Должен быть указан хотя бы один порт. |
Объект mqtt
Атрибут | Тип | Описание |
---|
url | string | URL подключения к MQTT. ПУ: 127.0.0.1. |
port | int | Порт подключения к MQTT. ПУ: 1883. |
Объект log
Атрибут | Тип | Описание |
---|
max_size | int | Максимальный размер файла журнала. ПУ: 5. |
is_debug | bool | Необхоимость вывода отладочной информации. ПУ: false. |
Атрибут | Тип | Описание |
---|
name | string | Имя элемента. |
type | string | Тип элемента. |
enabled | bool | Признак разрешения опроса. ПУ: true. |
poll_interval | int | Интервал опроса (сек). ПУ: 60. |
rto | int | Тайм-аут приема (мсек). ПУ: 500. |
sto | int | Тайм-аут передачи (мсек). ПУ: 500. |
Атрибут | Тип | Описание |
---|
display_name | string | Имя отправляемое в событии об отказе устройства. |
Атрибут | Тип | Описание |
---|
value_type | string | Тип значения параметра. |
| | Допустимые значения: |
| | bit - бит |
| | i8 - знаковый байт |
| | u8 - беззнаковый байт |
| | i16 - знаковое целое (16 бит) |
| | u16 - беззнаковое целое (16 бит) |
| | i32 - знаковое целое (32 бит) |
| | u32 - беззнаковое целое (32 бит) |
| | str - строка |
word_order | string | Формат представления параметра. |
| | Допустимые значения: |
| | big_endian (по умолчанию) |
| | little_endian |
| | mid_big_endian |
| | mid_little_endian |
read_only | bool | Только чтение. ПУ: true. |
scale | float | Масштаб. Полученное значение будет вычислено по формуле: |
| | value = value * scale. |
unit | string | Единицы измерения. Полученное значение будет преобразовано к виду: |
| | "value" + " unit". |
Атрибут | Тип | Описание |
---|
name | string | Имя порта. Должно быть уникальным. |
type | string | Тип порта. Возможные значения: dlms.tcp или dlms.rs |
src_dlms | int | Порт источника протокола DLMS. ПУ: 16. |
src_mac | string | MAC-адрес источника протокола DLMS. ПУ: eeeeeeeeeeee. |
poll_delay | int | Задержка между опросами параметров (мсек). ПУ: 20. |
devices | array | Массив устройств. Должно быть задано хотя бы одно устройство |
Атрибут | Тип | Описание |
---|
url | string | URL подключения к МУБ. |
port | int | Порт подключения к МУБ. |
Атрибут | Тип | Описание |
---|
com_port | string | Порт подключения к шине ЛПШ. |
baud_rate | int | Скорость обмена. ПУ: 9600. |
com_options | string | Параметры обмена. |
| | Строка из четырех символов, задающая настройки порта. |
| | Первый символ - цифра. Определяет количество бит в байте. |
| | Возможные значения: 5, 6, 7, 8. |
| | Второй символ - буква. Определяет контроль четности . |
| | Возможные значения: |
| | N - отсутствует |
| | O - odd |
| | E - even |
| | M - mark |
| | S - space |
| | Третий символ - цифра. Определяет количество стоп-бит. |
| | Возможные значения: |
| | 1 - 1 |
| | 2 - 2 |
| | 5 - 1.5 |
| | Четвертый символ - буква. Определяет управление потоком. |
| | Возможные значения: |
| | N - отсутствует. |
| | S - программное. |
| | H - аппаратное. |
empty_counter | int | Максимальное количество пустых ответов от устройства до фиксации ошибки. |
| | ПУ: 10. |
Атрибут | Тип | Описание |
---|
rs | object | Объект настроек rs. |
Объект rs
Атрибут | Тип | Описание |
---|
port | string | Порт подключения к RS. |
baud_rate | int | Скорость обмена. ПУ: 9600. |
opt | string | Параметры обмена. См. выше com_options. |
Атрибут | Тип | Описание |
---|
name | string | Имя устройства. Должно быть уникальным для всего конфигурационного файла. |
sn | string | Фрагмент серийного номера устройства. Используется при определении порта назначения. |
dst_dlms | int | Порт получателя DLMS. |
src_mac | string | MAC-адрес получателя протокола DLMS. |
templ | string | Имя шаблона устройства. |
params | array | Массив параметров. Должен быть указан хотя бы один параметр или указан шаблон. |
Атрибут | Тип | Описание |
---|
name | string | Имя параметра. Должно быть уникальным для параметров устройства. |
class_id | int | Идентификатор класса. Берется из таблицы объектов устройства. |
object_id | string | Идентификатор объекта. Берется из таблицы объектов устройства. |
attr_id | int | Идентификатор атрибута. Берется из таблицы объектов устройства. |
{
"mqtt_url" : "localhost"
, "mqtt_port" : 1883
, "log_maxsize" : 5
, "log_debug" : true
, "ports" :
[
{
"name" : "mimt"
, "type" : "dlms.tcp"
, "url" : "10.6.2.101"
, "port" : 56079
, "src_dlms" : 16
, "src_mac" : "eeeeeeeeeeee"
, "com_port": "/dev/ttyXRUSB0"
, "baud_rate": 115200
, "com_options": "8N1"
, "enabled" : true
, "rto" : 1000
, "sto" : 1000
, "poll_interval" : 10
, "poll_delay" : 20
, "devices" :
[
{
"name" : "mimt_tcp"
, "sn" : "190103050005182"
, "dst_dlms" : 19
, "params:
[
{
"name": "Phase A voltage"
, "class_id": 3
, "object_id": "1.0.32.7.0.255"
, "attr_id": 2
, "scale": 0.1
}
]
}
]
}
]
}