Спутниковый контроль транспорта
Драйвер спутникового контроля транспорта (Satellite vehicle tracker driver) используется для мониторинга и контроля различных контроллеров GPS/GLONASS при помощи общего независимого от поставщика подхода. Драйвер позволяет применять гибкие правила для парсинга сообщений трекера.
Информация о драйвере
ID плагина драйвера: | com.tibbo.linkserver.plugin.device.tracker |
Общие настройки
Общая конфигурация драйвера включает в себя таблицу Конфигурация взаимодействия с трекерами и обработки данных:
Поле | Описание | |
Тип | Идентификатор типа трекера может содержать только английские буквы, цифры и нижние подчеркивания. Тип выбирается для каждого устройства в настройках аккаунта. | |
Описание | Удобное для восприятия описание типа трекера. Тип выбирается для каждого устройства в настройках аккаунта. | |
Протокол | Протокол(-ы), который использует трекеры данного типа для взаимодействия с сервером: TCP, UDP или оба. | |
Порт подключения TCP | Порт для прослушивания входящих TCP подключений от трекеров данного типа. | |
Порт подключения UDP | Порт для прослушивания входящих UDP подключений от трекеров данного типа. | |
Разделитель сообщения | Символ или строка, которая разделяет сообщения трекера в TCP потоке. В UDP потоке каждое сообщение обычно посылается в отдельных дейтаграммах. Однако, несколько сообщений на одну дейтаграммму тоже поддерживаются. | |
Правила парсинга | Правила, использованные для парсинга строки сообщения трекера в таблицу данных. Таблица, определяющая последовательный набор правил, которые должны иметь результатом таблицу. Выражения набора правил должны посылать Итоговая таблица, возвращенная набором правил, должна содержать сырые значения для идентификатора устройства (обычно номер IMEI), тип сообщения трекера и параметры сообщения (напр. широта и долгота). | |
Выражение идентификатора устройства | Выражение, которое должно вернуть идентификатор устройства, уникально в инсталяции SberMobile Server. Обычно IMEI номер трекера используется в качестве идентификатора. Этот ID будет использован для нахождения соответствующего аккаунта устройства, который имеет такой же ID, определенный в его свойствах. Все оставшиеся данные сообщений будут сопоставлены с аккаунтом этого устройства. | |
Среда вычисления выражения ID устройства | ||
---|---|---|
Отсутствует. | ||
Таблица, возвращенная правилами парсинга. | ||
0 | ||
Только стандартные переменные. | ||
Выражение имени переменной | Выражение, которое должно вернуть имя переменной настроек устройства, содержащее сообщения данного трекера. Оно обычно отсылает тип сообщения трекера. | |
Среда вычисления выражения имени переменной | ||
Контекст устройства трекера. | ||
Таблица, возвращенная правилами парсинга. | ||
0 | ||
Только стандартные переменные. | ||
Переменные устройства | Таблица, определяющая переменные настроек устройства, которые будут добавлены к каждому аккаунту устройства при помощи типа трекета. Каждая переменная определена:
Если определенный формат не описывает ни одно поле, он принимается за динамический, и любая таблица данных, возвращенная правилами парсинга будет использована как валидное значение переменной. | |
Выражение широты | Как только тип аккаунта устройства трекера определен или изменен, это выражение вписывается в поле выражение широты таблицы свойств типовых устройств. В дальнейшем оно используется для оценки широты устройства, поэтому обычно оно ссылается на одну из переменных устройств. | |
Выражение долготы | Аналогично вышесказанному, повторно определяется выражение долготы аккаунта устройства, как только тип трекера изменен. |
Настройки уровня пользователя
Не определены.
Свойства device
Тип. Один из типов трекера, определенных в таблице общих конфигураций Конфигурация взаимодействия с трекерами и обработки данных.
ID устройства. Уникальный идентификатор трекера, обычно это IMEI номер. Этот ID должен быть получен в каждой команде трекера.
Интервал статуса оффлайн. Если от трекера не было получено сообщений дольше, чем заданное время, аккаунт устройства трекера будет переключен в режим оффлайн.
Активы device
Драйвер не поддерживает активы.
Настройки device
Аккаунт спутникового трекера предоставит одну переменную для каждой записи подтаблицы переменных устройств, содержащейся в таблице Конфигурация взаимодействия с трекерами и обработки данных, соответствующей выбраному типу трекера.
Имена, описания и форматы переменных определены в таблице переменные устройств.
Операции device
Драйвер не предоставляет операций.
События device
Драйвер не предоставляет событий.
Подключение
Драйвер переводит устройство в режим онлайн, если какое-либо сообщение получено и успешно сопоставлено с аккаунтом данного трекера, т.е. одна переменная устройства была успешно обновлена.
Драйвер переключается обратно на режим оффлайн, если не было получено сопоставленных сообщений дольше, чем интервал статуса оффлайн.
Синхронизация
Драйвер не производит синхронизацию. Вместо этого, он следует следующей схеме:
Драйвер прослушивает каждый порт, определенный в таблице Конфигурация взаимодействия с трекерами и обработки данных.
Как только принято TCP подключение или получена UDP дейтаграмма, драйвер разделяет входящие данные на сообщения, используя разделитель сообщения.
Как только получено полное сообщение, драйвер обрабатывает правила парсинга для формирования таблицы команд. Если обработка правила прерывается, ошибка регистрируется внутри контекста общей конфигурации драйвера спутникового контроля транспорта.
Таблица комманд оценивается выражением идентификатора устройства.
Драйвер пытается найти аккаунт устройства, чей ID устройства соответствует ID, которое вернуло предыдущее выражение. Если драйверу это не удается, регистрируется ошибка внутри контекста общей конфигурации драйвера спутникового контроля транспорта, и обработка сообщения прерывается.
Драйвер оценивает выражение имени переменной для выявления того, что переменная настроек устройств должна быть использована при помощи таблицы комманд. Если это выражение возвращает null или некорректное имя, обработка прерывается и ошибка регистрируется внутри контекста аккаунта устройсва.
Таблица команд используется как новое значение для переменной, т.е. вписанной в аккаунт устройства трекера.