библиотека bacnet-stack-0.5.7
Для запроса справки необходимо добавить ключ -help
Для запуска режима отладки необходимо добавить ключ\пару ключ и значение.
Ключ | Описание | Тип значения |
---|
-dcollector | Собирает данные по устройствам | - |
-timeout | Временной промежуток для запроса данных | uint32_t (миллисекунды) |
-id | Идентификатор устройства | uint32_t |
-t | Тип значения | uint32_t |
-p | Свойство | uint32_t |
-i | Индекс | uint32_t |
-help | Справка по программе | - |
Примечание
В режиме отладки отправка сообщений по mqtt отключена. В режиме отладки только -dcollector
не нуждается в значении.
- Есть ТРИ сценария работы программы, для них определены необходимые ключи. Задержка играет роль, только в сценарии сбора данных по всем устройствам. В других случаях, эта задержка определит только продолжительность запроса данных в случае их долгого ответа.
№ | Сценарий | Необходимые ключи |
---|
1 | Сбор данных по одному устройству | -dcollector -id |
1 | Сбор данных по одному устройству c задержкой | -dcollector -id -timeout |
2 | Сбор данных по всем устройствам | -dcollector |
2 | Сбор данных по всем устройствам c задержкой | -dcollector -timeout |
3 | Сбор данных по параметру | -id -t -p -i |
3 | Сбор данных по параметру с задержкой | -id -t -p -i -timeout |
- Примеры использования сценариев:
dcollector -id 260001
dcollector -id 260001 -timeout 100`
dcollector
dcollector -timeout 200
-i -1 -t 8 -p 76 -id 260001
-i -1 -t 8 -p 76 -id 260001 -timeout 300
- Таблица допустимых типов: Type
- Таблица допустимых свойств: Property
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
is_debug | bool | Параметр для вывода дополнительного логирования, принимает значения false или true | не обязателен | false |
max_size | - | - | - | - |
"log":
{
"is_debug": false,
"max_size": 2
}
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
port | unsigned int | Значение порта | не обязателен | 1883 |
url | string | ip для подключения | не обязателен | "localhost" |
username | string | логин | обязателен для защищенного режима | - |
password | string | пароль | обязателен для защищенного режима | - |
"mqtt":
{
"port": 1883,
"url": "localhost",
"username": "ivan",
"password": "123"
}
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
connection | - | параметры соединения | обязателен | - |
devices | array | список устройств | обязателен | - |
parameters | array | список параметров по устройствам | обязателен | - |
"ports":
[
{
"connection":{},
"devices":[],
"parameters":[]
}
]
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
enabled | bool | блокировка соединения | обязателен | - |
poll_interval | unsigned int | задержка опроса параметров | обязателен | - |
timeout | unsigned int | время ожидания для запроса/записи | обязателен | - |
delay | unsigned int | временное окно для запроса/записи данных | обязателен | - |
type | string | тип модуля | обязателен | - |
bacnet_iface | string | интерфейс подключения по bacnet | не обязателен | eth0 |
db_update | bool | обновить базу даыых | не обязателен | true |
"connection":
{
"enabled": true,
"poll_interval": 5000,
"timeout": 500,
"delay": 300,
"type": "bacnet",
"bacnet_iface": "eth0",
"db_update": true
}
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
name | string | имя устройства | обязателен | - |
sid | unsigned int | номер устройства | обязателен | - |
cname | string | группа параметров для устройства | обязателен | - |
"devices":
[
{
"name": "server_1",
"sid": 260001,
"cname": "iss"
}
]
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
config | - | параметры | обязателен | - |
cname | string | название группы параметров для устройства | обязателен | - |
"parameters":
[
{
"config":{},
"cname": "iss"
}
]
Атрибут | Тип | Описание | Статус | Значение по умолчанию |
---|
name | string | имя параметра | обязателен | - |
object_number | unsigned int | номер параметра | обязателен | - |
scale | float | - | обязателен | - |
value_type | string | тип параметра | обязателен | - |
tag | string | тэг для изменения параметра | обязателен | - |
read_only | bool | устаовка чтения или записи для параметра | не обязателен | true |
"channels":
[
{
"name": "Param_1",
"object_number": 1,
"scale": 1.0,
"value_type": "binary-lighting-output",
"tag": "real",
"read_only": false
}
]
{
"log":
{
"is_debug": false,
"max_size": 2
},
"mqtt":
{
"port": 1883,
"url": "localhost",
"username": "ivan",
"password": "123"
},
"ports": [
{
"connection":
{
"enabled": true,
"poll_interval": 5000,
"timeout": 500,
"delay": 300,
"type": "bacnet",
"bacnet_iface": "eth0",
"db_update": true
},
"devices": [
{
"name": "server_1",
"sid": 260001,
"cname": "iss"
},
{
"name": "server_2",
"sid": 260002,
"cname": "inspark"
}
],
"parameters": [
{
"config":
{
"channels": [
{
"name": "Param_1",
"object_number": 1,
"scale": 1.0,
"value_type": "lighting-output",
"tag": "real"
},
{
"name": "Param_2",
"object_number": 0,
"scale": 1.0,
"value_type": "accumulator",
"tag": "real"
}
]
},
"cname": "iss"
},
{
"config":
{
"channels": [
{
"name": "Param_1",
"object_number": 10,
"scale": 1.0,
"value_type": "accumulator"
},
{
"name": "Param_2",
"object_number": 11,
"scale": 3.01,
"value_type": "accumulator"
}
]
},
"cname": "inspark"
}
]
}
]
}
Инфо
Если в поле tag находится значение отличное от имеющихся значений, то автоматически выставляется значение "null". Если в названии стоит прочерк, то это означает, что параметр не реализован!
Тэг | Значение | Название |
---|
BACNET_APPLICATION_TAG_NULL | 0 | null |
BACNET_APPLICATION_TAG_BOOLEAN | 1 | bool |
BACNET_APPLICATION_TAG_UNSIGNED_INT | 2 | uint |
BACNET_APPLICATION_TAG_SIGNED_INT | 3 | sint |
BACNET_APPLICATION_TAG_REAL | 4 | real |
BACNET_APPLICATION_TAG_DOUBLE | 5 | double |
BACNET_APPLICATION_TAG_OCTET_STRING | 6 | o_str |
BACNET_APPLICATION_TAG_CHARACTER_STRING | 7 | c_str |
BACNET_APPLICATION_TAG_BIT_STRING | 8 | b_str |
BACNET_APPLICATION_TAG_ENUMERATED | 9 | enumerated |
BACNET_APPLICATION_TAG_DATE | 10 | date |
BACNET_APPLICATION_TAG_TIME | 11 | time |
BACNET_APPLICATION_TAG_OBJECT_ID | 12 | object_id |
BACNET_APPLICATION_TAG_RESERVE1 | 13 | reserve_1 |
BACNET_APPLICATION_TAG_RESERVE2 | 14 | reserve_2 |
BACNET_APPLICATION_TAG_RESERVE3 | 15 | reserve_3 |
MAX_BACNET_APPLICATION_TAG | 16 | - |
BACNET_APPLICATION_TAG_EMPTYLIST | 17 | - |
BACNET_APPLICATION_TAG_WEEKNDAY | 18 | - |
BACNET_APPLICATION_TAG_DATERANGE | 19 | - |
BACNET_APPLICATION_TAG_DATETIME | 20 | - |
BACNET_APPLICATION_TAG_TIMESTAMP | 21 | - |
BACNET_APPLICATION_TAG_ERROR | 22 | - |
BACNET_APPLICATION_TAG_DEVICE_OBJECT_PROPERTY_REFERENCE | 23 | - |
BACNET_APPLICATION_TAG_DEVICE_OBJECT_REFERENCE | 24 | - |
BACNET_APPLICATION_TAG_OBJECT_PROPERTY_REFERENCE | 25 | - |
BACNET_APPLICATION_TAG_DESTINATION | 26 | - |
BACNET_APPLICATION_TAG_RECIPIENT | 27 | - |
BACNET_APPLICATION_TAG_COV_SUBSCRIPTION | 28 | - |
BACNET_APPLICATION_TAG_CALENDAR_ENTRY | 29 | - |
BACNET_APPLICATION_TAG_WEEKLY_SCHEDULE | 30 | - |
BACNET_APPLICATION_TAG_SPECIAL_EVENT | 31 | - |
BACNET_APPLICATION_TAG_READ_ACCESS_SPECIFICATION | 32 | - |
BACNET_APPLICATION_TAG_LIGHTING_COMMAND | 33 | - |
BACNET_APPLICATION_TAG_HOST_N_PORT | 34 | - |
BACNET_APPLICATION_TAG_XY_COLOR | 35 | - |
BACNET_APPLICATION_TAG_COLOR_COMMAND | 36 | - |