GPS сервис ViaLatM — язык сценариев

В этой серии публикаций будет описан интегрированный в сервис ViaLatM язык сценариев.

37307ed9f06e4f85ae8deedecb101982.jpg

Язык сценариев ViaLatM позволяет:

  • Создавать новые параметры на основе сообщений, приходящих от устройств
  • Осуществлять логическую обработку событий, возникающих в устройствах
  • Формировать новые системные события
  • Посылать команды на устройства
  • Осуществлять ретрансляцию сообщений устройств во внешние системы


Сценарий может применяться как к отдельному устройству (уже доступно в сервисе), так и к учетной записи со всеми ее ресурсами: трекеры, геозоны, … (в процессе тестирования).

Использование языка сценариев позволяет упростить и разгрузить интерфейс приложения и настроить его на конкретные варианты использования сервисов персонального мониторинга и мониторинга транспорта.

Основные элементы языка сценариев: переменные, функции, операторы, команды, события.

Переменные


Переменные используются при работе с сообщениями устройств. На основании данных из поступающих сообщений и применяя к ним формулы, можно создавать новые переменные, которые будут доступны для отображения в приложении и использования в языке сценариев.

Примеры:
Показания датчика топлива: X1;
Топливо в баке: FUEL = LINEAR (X1,0,0,1000,40);
Дистанция: DIST = DISTANCE (L, UNIT.L);

В случае, если после идентификатора переменной следует знак »;» (нет операции присваивания), это означает что она соответствует параметру сообщения, пришедшему от устройства (X1 — аналоговый датчик подключенный к топливному баку).

Список переменных, присылаемых конкретным устройством, зависит от типа устройства и его настроек. Информация по идентификаторам переменных, присылаемая различными типами устройств, находится в секции «Переменные».

Функции


Помимо стандартных математических функций, в языке есть встроенные функции для работы с телематическими данными. Например:

Вычисление расстояния между двумя точками местоположений — DISTANCE.

Преобразование аргумента по линейной функции — LINEAR. В простейших случаях может применяться как калибровочная функция для расчета топлива в баке по датчикам.

Список доступных функций в секции — Функции .

Список будет значительно расширен, особенно в плане работы с телематическими данными. К примеру, среди кандидатов на внедрение функция TIME_OF_DAY, позволяющая получить время суток с учетом текущего местоположения события.

Пример использования


Далеко не все устройства дают данные по ускорению или общему пробегу. Для таких устройств можно восполнить это с помощью языка сценариев ViaLatM. В панели «Настройка переменных и сценария» добавляются строки:

Ускорение: ACCELERATION = (V-UNIT.V)/(DT-UNIT.DT);
Пробег: ODOM = VARDEF (UNIT.ODOM,0)+DISTANCE (L, UNIT.L);

В результате в панели устройства «Органайзер окна подсказки» появляются два дополнительных атрибута «Ускорение» и «Пробег», при их выборе, они будут отображаться в окне подсказки (при клике на иконку устройства). Также они становятся доступны в отчетах «График по параметрам» и можно получать по ним графики.

5367f155535c4abf8056b18fb8c82e5d.jpg

В следующих публикациях будет продолжено описание языка сценариев ViaLatM

© Habrahabr.ru