Дополнительные JSON-конфигурации ретрансляций
Некоторые протоколы ретрансляции поддерживают дополнительные параметры настройки через поле Json config. С помощью JSON-конфигурации можно изменять состав передаваемых данных, использовать обработанные значения датчиков, переименовывать поля, фильтровать пакеты и настраивать специальные сценарии передачи данных.
Поддерживаемые параметры зависят от выбранного протокола ретрансляции.
JSON-конфигурация указывается в поле Json config при создании или редактировании ретрансляции.
Wialon Retranslator
Передача обработанных значений датчиков
Позволяет передавать в ретрансляцию значения датчиков после обработки в системе PILOT.
Например, можно передавать значение датчика уровня топлива уже после применения тарировки.
Пример
{
"sensors_use": {
"fuel_1": 135785,
"NameSensor": 228
}
}
|
-
sensors_use — список датчиков, значения которых необходимо брать из настроенных датчиков объекта
-
fuel_1 — имя параметра, который будет передаваться в ретрансляцию
-
135785 — ID датчика объекта в системе
ID датчика можно посмотреть в настройках датчиков объекта.
Особенности:
-
Для корректной работы датчиков уровня топлива должна быть настроена тарировка.
-
Значения, которые не попадают в диапазон тарировки, передаются в исходном виде.
-
Например, вместо литров может быть передано сырое значение 65530.
Фильтрация и обработка датчиков
Пример
{
"sensors_use": {
"temp_1": 1370805,
"temp_2": 1370806
},
"tags_rewrite": {
"temp_2": "temp2",
"temp_01": "temp1"
},
"sensors_filter": {
"temp_1": {
"max": 130,
"min": 1,
"type": "int"
},
"temp_2": {
"max": 100,
"min": 1,
"type": "int"
}
},
"sensors_notuse": {
"temp_1": 1,
"temp_2": 1
}
}
|
-
sensors_use — позволяет использовать значения указанных датчиков объекта.
-
tags_rewrite — позволяет переименовывать параметры перед отправкой.
Пример:
{
"tags_rewrite": {
"temp_2": "temp2"
}
}
|
В этом случае параметр temp_2 будет отправлен как temp2.
-
sensors_filter — позволяет отфильтровывать значения датчиков.
Поддерживаемые параметры:
|
Параметр
|
Описание
|
|
type
|
Тип данных. В настоящее время поддерживается int
|
|
min
|
Минимально допустимое значение
|
|
max
|
Максимально допустимое значение
|
Пример:
{
"sensors_filter": {
"temp_1": {
"min": 1,
"max": 130,
"type": "int"
}
}
}
|
Фильтрация работает для датчиков, передающих целочисленные значения.
-
sensors_notuse — позволяет исключить датчики из передачи.
Пример:
{
"sensors_notuse": {
"temp_1": 1,
"temp_2": 1
}
}
|
Такой конфиг исключит указанные датчики из отправляемых данных.
Настройки датчиков, выполненные в системе PILOT, не влияют на ретрансляцию через данный механизм. Все параметры передачи необходимо задавать в Json config.
|
Фильтрация пакетов
Позволяет не отправлять пакеты, соответствующие определенным условиям.
Пример
{
"packet_filter": {
"Valid": "0"
},
"keys_to_skip": [
"HardVersion"
]
}
|
-
packet_filter — не отправляет пакет, если указанный параметр имеет заданное значение.
Пример:
{
"packet_filter": {
"Valid": "0"
}
}
|
Если параметр Valid равен 0, пакет не будет отправлен.
Можно указать несколько условий.
-
keys_to_skip — не отправляет пакет, если в нем присутствует указанный ключ.
Пример:
{
"keys_to_skip": [
"HardVersion"
]
}
|
Если пакет содержит поле HardVersion, он будет пропущен.
Можно указать несколько ключей.
Wialon IPS и Wialon IPS v2
Переименование параметров
Позволяет заменить имя параметра перед отправкой.
Пример
{
"params": {
"Vsourse": {
"name": "pwr_ext",
"type": "int"
}
}
}
|
В данном примере параметр Vsourse будет отправлен как pwr_ext.
Передача IButton в теле пакета
Пример
{
"params": {
"IButton": {
"type": "tcp_box"
}
}
}
|
Принцип работы
Если для параметра IButton указан тип tcp_box, значение идентификатора будет передано в теле пакета. Если параметр отсутствует, IButton не будет добавлен в пакет и будет передано пустое значение.
Данная настройка используется для передачи идентификатора водителя вне стандартного блока параметров.
Блок inputs
Позволяет формировать дополнительные входы на основании значений датчиков.
Пример
{
"inputs": {
"DIN1": {
"max": 1,
"min": 1,
"value": false,
"myval": false
}
},
"params": {
"DIN1": {
"name": "DIN1",
"type": "int"
}
}
}
|
Параметры блока inputs
|
Параметр
|
Описание
|
|
min
|
Минимально допустимое значение
|
|
max
|
Максимально допустимое значение
|
|
value
|
Если указано true, в пакет будет передаваться фактическое значение датчика. Если параметр отсутствует или указан false, используется стандартная логика формирования пакета
|
|
myval
|
Позволяет подставить собственное значение вместо значения датчика при выполнении условия
|
Пример упрощенной настройки
{
"inputs": {
"DIN1": {
"max": 1,
"min": 1
}
},
"params": {
"DIN1": {
"name": "DIN1",
"type": "int"
}
}
}
|
Если значение датчика попадает в диапазон от 1 до 1, в пакет будет передано значение 1.
Механизм используется для дублирования состояния датчиков в битовом виде.
Например, для передачи состояния дверей через блок inputs.
Wialon Retranslator, Galileo и EGTS
Переименование полей
Пример
{
"tags_rewrite": {
"temperature": "galileo_temp_0",
"digital": "galileo_in_2"
}
}
|
Позволяет заменить названия полей перед отправкой.
Например:
-
temperature → galileo_temp_0
-
digital → galileo_in_2
Сохранение логов ретрансляции
Пример
{
"save_data_for_report": "1"
}
|
Включает сохранение данных ретрансляции для последующего формирования отчетов и диагностики
Генерация температурных данных
Пример
{
"temperature_data_generator": {
"DOS": "galileo_in_2",
"closed_value": 0,
"temperature_sensors": [
"galileo_temp_0"
]
}
}
|
Настройка используется для специальных сценариев.
При выполнении заданного условия система может автоматически формировать значения температурных датчиков.
Параметры
|
Параметр
|
Описание
|
|
DOS
|
Контролируемый датчик
|
|
closed_value
|
Значение, при котором выполняется условие
|
|
temperature_sensors
|
Список температурных датчиков
|
Функциональность реализована для специальных интеграционных сценариев и используется только при наличии соответствующих требований со стороны принимающей системы.
