Блог / Как Wialon работает с данными

Как Wialon работает с данными

9 апреля, 2021
Александра Макаревич

На первый взгляд кажется, что нашим партнерам не так важно, как именно Wialon работает с сообщениями. Они устанавливают трекеры и датчики на транспорт своих клиентов, подключают их к Wialon, устройства передают информацию, наша платформа ее отображает – все работает!

На практике неизбежны вопросы от пользователя. «Весь месяц я отслеживал данные в мобильном приложении, а сегодня сформировал отчет – и результаты другие!», «Датчики прислали новую информацию – почему в отчете это не отражено?». 

Мы считаем, что понимание алгоритмов нашей платформы сильно облегчает работу с ней и конечным пользователем. 

Именно поэтому, к примеру, Олег Жарковский, лидер команды по обучению Wialon, и Мария Поклонская, бизнес-аналитик Gurtam, провели митап на тему «3 метода обработки данных в Wialon». 

А в этой статье мы собрали и структурировали самую важную и полезную информацию на основе митапа.

О каких данных идет речь

Начнем с терминов: что в данном случае мы имеем в виду под «‎данными»?

Данные – это сообщения, которые сохраняет и передает устройство, установленное на объекте. Такие сообщения включают в себя:

  • время;
  • информацию от GPS-модуля: координаты, скорость, высоту, количество спутников;
  • параметры от внешних и внутренних датчиков: уровень топлива от ДУТ, количество оборотов колеса от одометра и так далее.

Wialon принимает эти данные, в случае необходимости вносит в них изменения и обрабатывает.

Виды данных и способы обработки

Данные в Wialon и способы их обработки

Расскажем подробно о каждом этапе работы с данными.

Время в Wialon

Для Wialon время – это исключительно важная информация, так как именно по времени происходит сортировка сообщений. 

Как это работает: трекер формирует сообщение, используя формат Unix-времени (количество секунд, прошедших с полуночи 1 января 1970 года) и отправляет на сервер Wialon.

Как время влияет на данные

  • Wialon обрезает время до секунды, а миллисекунды не указывает. При этом популярные трекеры вроде Teltonika, Ruptela, Galileosky могут генерировать более одного сообщения в секунду. При большом потоке сообщений это может привести к путанице, поскольку у Wialon нет другого критерия сортировки сообщений, кроме времени. 

Команда разработчиков Wialon рассматривает возможность увеличения размера поля для времени на три символа. Но реализация и тестирование этой доработки – дело небыстрое, так как обработка данных по секундам и миллисекундам должна быть максимально надежной.

  • Время сохранения сообщения трекером меньше либо равно времени его отправки трекером из своей памяти, и все это меньше либо равно времени прихода на сервер. 

Выглядит это так:

Сравнение времени сохранения данных с другими параметрамиПравило Wialon для времени сохранения сообщения

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

  • Конфигурация устройства. Если в трекере не установлен часовой пояс UTC+0, то трекер может отправить сообщение на сервер с неправильной меткой времени. В итоге Wialon может получить сообщение с временной меткой «из будущего» и будет вынужден изменить ее. Решение простое – настроить время трекера по UTC+0.  
  • Синхронизация времени. Ситуация характерна для Wialon Local: когда не настроена синхронизация, возможны отклонения по времени у сервера на секунды и даже минуты. Это приводит к нарушению упомянутого выше неравенства. Чтобы этого избежать, администратор сервера должен настроить периодическую синхронизацию времени по NTP (протоколу сетевого времени).

Параметры датчиков

Параметры – это значения в сообщениях, которые описывают состояние отслеживаемого объекта и установленного на него оборудования. 

Что осложняет работу с параметрами 

  • Нечитабельность данных. Информация, которую Wialon получает, не всегда понятна пользователю. 

Когда пользователь видит значение temperature13, он понимает: речь идет о температуре. Но температуре чего: двигателя, топлива или воздуха? В градусах по Цельсию или Фаренгейту? 

И таких вопросов может быть очень много по любому параметру. Каждый производитель трекеров имеет свое представление о том, как нужно записывать значения.

Wialon со своей стороны унифицирует общие для всех трекеров параметры. Например, параметр speed – это всегда скорость, lat, lon – координаты и так далее. 

  • Отсутствие единого стандарта отображения данных. Wialon работает с 2 300 моделями оборудования, и их число растет. Подобная гибкость имеет свои минусы: невозможно автоматически стандартизировать значения параметров при таком количестве оборудования и случаев его использования. 

Чтобы расшифровать сообщения от трекеров, вы можете зайти в специальный раздел «‎GPS/ГЛОНАСС оборудование» на вкладке «‎Оборудование».

  • В строке «‎Поиск оборудования» введите интересующую модель.
  • Далее выберите вкладку «‎Параметры».
  • Вы получите список параметров, их описание и единицы измерения (если это актуально).

Если вы не смогли найти нужную информацию, то напишите в отдел по работе с оборудованием Gurtam на hw@gurtam.com, и наши специалисты обязательно помогут.

Фильтрация данных

Wialon удаляет те данные, которые попадают в категорию неточных согласно настройкам валидности. Все настройки осуществляет пользователь, без них Wialon ничего не удаляет. 

Коротко напомним, как работает фильтрация валидности:

  • Зайдите на вкладку «‎Дополнительно» у объекта.
  • Включите раздел «‎Фильтрация валидности сообщений».
  • Выберите условия фильтрации. Например, по скорости (наиболее распространенный критерий для фильтрации) или минимальному количеству спутников. 
  • Для трекеров, которые сами могут определить, считается ли сообщение невалидным, воспользуйтесь опцией «‎Пропускать невалидные сообщения».

Фильтрация валидности сообщенийФильтрация валидности сообщений

Датчики

Несмотря на то, что датчики тоже работают с параметрами, они сильно упрощают их отображение для пользователя: 

  • Датчики определяют логику обработки параметра. Каждый из типов датчиков имеет связанные с ним алгоритмы в Wialon. Например, в отчетах для температуры и веса есть отдельные колонки, которые Wialon заполняет, опираясь на тип датчика.
  • Датчики улучшают доступный функционал. Частый пример от наших партнеров – подключение относительного одометра или датчика пробега, чтобы конечный пользователь получил более точные данные по пробегу и поездкам, чем на основе GPS.
  • Датчики дают доступ к новому функционалу. Примеров множество: ДУТопределяет сливы, датчик зажигания считает моточасы, а датчик пассажиров назначает пассажиров. Без создания этих датчиков подобный функционал не доступен.

Как датчики обрабатывают данные

  • Выражение данных через математические формулы. В строке, где указан параметр, пользователь может задать формулу. Например, это может быть простая формула, переводящая метры в километры с помощью коэффициента. Более сложные варианты также доступны: если пользователь хочет увидеть ускорение, он вводит формулу, по которой Wialon делит разность скорости между двумя сообщениями на разность времени между ними. 
  • Таблица расчета. Она позволяет отобразить упрощённые зависимости, используя лишь некоторые из точек, которые интегратор определяет на практике.

Например, тарировка бака при использовании датчика уровня топлива помогает определить соответствие уровня топлива в баке объему этого топлива.

Также с помощью таблицы расчета можно сопоставить значение датчика с диапазоном исходного параметра.

Например, если напряжение больше 23, то датчик зажигания включен, то есть равен 1, а если меньше, то датчик выключен и выдает 0.

  • Валидация. С помощью валидации можно связать значения нескольких датчиков между собой. Для этого используются не только математические, но и логические операции. Например, проверка на неравенство нулю.

3 основных вида обработки данных

Разобравшись с тем, что такое данные в Wialon и где есть «‎узкие» места с их предобработкой, переходим к финальной обработке этих данных.

Есть три ключевых метода обработки данных в Wialon, с которыми чаще всего встречаются пользователи. Два из них – онлайн и аналитика – хорошо известны. Третий – события – появился относительно недавно. 

Сразу стоит отметить, что в качестве исходные данных эти методы берут одни и те же сообщения.

Онлайн

Алгоритм работы метода обработки данных онлайн – самый простой и прозрачный: он обрабатывает каждое новое сообщение в режиме реального времени. 

  • Вкладка «Мониторинг». На ней рядом со списком объектов есть множество колонок с разными индикаторами. Пользователь также может кликнуть на иконку объекта и получить расширенные данные, например, значения ДУТ. Данные датчиков уровня топлива изменились – Wialon обновил информацию. 
  • «Дашборд». Информация, например, геозона с объектами или состояние движения, представлены в виде диаграмм с онлайн-данными.  
  • Уведомления. Они также относятся к методу обработки данных онлайн. С их помощью можно рассчитывать длительность состояния объекта. 

Онлайн на первый взгляд кажется достаточно понятным и прозрачным методом обработки данных. На практике все может оказаться не так просто, подробнее мы рассмотрели пример в митапе.

Аналитика: сообщения, треки и отчеты

В некотором смысле аналитику можно противопоставить онлайну: онлайн обрабатывает каждое приходящее сообщение здесь и сейчас, а аналитика работает с законченным периодом.

Например, если пользователь построил отчет за последний час, а потом трекер прислал какие-то данные из «‎черного ящика» за этот час после формирования отчета, то отчет их не будет видеть до тех пор, пока пользователь не сформирует его еще раз. 

Инструменты аналитики

  • Вкладка «‎Сообщения»: здесь не только отображаются полученные данные, но также рассчитываются пробег и длительность поездки.

  • Вкладка «‎Треки» учитывает детектор поездок и отображает заправки и прочие маркеры.

  • Отчеты: представляют собой гибкий инструмент для отображения широкого спектра информации.

Как работает аналитика

Wialon выгружает набор данных за указанный период, а затем работает с ними по заранее известной логике. При этом логика для каждого инструмента аналитики будет разной.

Например, таблица «‎Поездки» ориентируется на детектор поездок, таблица «‎Заправки» – на свойства из датчика уровня топлива, а таблица «‎Хронология» может отобразить поездки и заправки одновременно.

События

К онлайну и аналитике мы добавили события, в каком-то смысле объединив ключевые плюсы двух других методов. 

От онлайна взяли оперативность: события учитывают все новые сообщения, обрабатывая их в фоне. 

От аналитики – работу с объемом сообщений: события учитывают ранее накопленные сообщения и обрабатывают их еще раз при необходимости. В отличие от онлайна, событие отображает информацию при временном отсутствии данных. Это значит, что если в последнем сообщении нет информации по какому-то параметру, то событие возьмет эту информации из последнего известного сообщения. Онлайн не смотрит так далеко и просто ставит прочерк.

Что получаем в итоге: в тот момент, когда пользователь запросит информацию, данные уже обработаны и могут быть сразу же отображены.

На данный момент такой алгоритм применяется для показаний 6 видов:

  • поездки;
  • датчики;
  • зажигание;
  • превышение скорости;
  • счетчики;
  • топливо.

Где используются события

  • Мобильное приложение Wialon. События наиболее популярны на смартфонах, так как обеспечивают быстрый доступ к наиболее актуальным данным в любой момент времени. 
  • Уведомления о сливах и заправках. Эти уведомления стали возможны именно благодаря событиям.
  • «Дашборд». Здесь события используются для отображения части карточек: состояние подключения (подключены/не подключены), состояние движения (стоят/движутся, т.д.).
  • Таблица по превышениям скорости в отчетах. Хотя отчеты относятся к инструментам аналитики, эта таблица работает именно на событиях. 
  • Всплывающие подсказки и расширенная информация. При соответствующих настройках события помогают отобразить последние известные данные по датчикам. Таким образом Wialon может работать с трекерами, которые отчитываются о состоянии только в момент изменения, вместо того, чтобы постоянно отправлять однообразные сообщения.

Например, во время движения транспортного средства трекер может отправлять сообщение «‎двигатель работает» снова и снова. Но гораздо экономичнее прислать сообщение «‎двигатель работает» один раз, когда его включили, а затем – сообщение «‎двигатель не работает», когда состояние изменилось и двигатель выключили. Так события позволяют по одному сообщению «‎двигатель работает» или «‎двигатель не работает» судить о том, что было в промежутке.

Расхождения между типами обработки данных

В идеале расхождений между событиями и аналитикой не должно быть. Но в реальности они встречаются. Чаще всего это связано с различием в алгоритмах. Но в этом случае мы видим скорее разную скорость отображения результата, а не разные результаты. 

Если говорить о расхождениях значений, это возможно по нескольким причинам.

  • Большой объем данных. Алгоритм событий, который обрабатывает данные только в хронологическом порядке, сначала рассортировывает все сообщения, а затем начинает обрабатывать их с того места, где появились новые данные. 

В случае серьезной разницы, которая не исчезает через какое-то время, пользователь всегда может обратиться в техподдержку. У таких задач высокий приоритет, и команда быстро и тщательно работает над каждым случаем расхождения. 

Как избежать проблемы: настроить выдачу сообщений из трекера в хронологическом порядке: это позволит быстрее обрабатывать данные, так как событиям не придется пересчитывать старые данные несколько раз. 

  • Изменения настроек. Представим, что весь месяц пользователь отслеживал данные в формате событий в мобильном приложении и каждый день видел одни значения. Затем 31 числа изменил настройки, например, датчиков топлива, и построил отчет за месяц. Данные в отчете могут отличаться от тех, что он видел до этого в событиях. Так происходит потому, что отчет показывает данные с учетом обновленных настроек за весь месяц, а события автоматически пересчитались только за последние 24 часа. 

Как избежать проблемы: запросить перерасчет событий за все время через техподдержку support@gurtam.com.  

Итого

Мы надеемся, что благодаря нашей статье вы смогли лучше разобраться в обработке данных и работе Wialon. Это позволит лучше понимать возможные различия в результатах и точнее подбирать настройки для ваших клиентов.

На нашем YouTube-канале регулярно выходят полезные и нужные видео – подписывайтесь, смотрите митапы и вебинары и присылайте комментарии, мы учитываем ваши предложения и отзывы в своей работе. Также не забывайте следить за блогом на gurtam.com, чтобы оставаться в курсе наших обновлений, аналитических материалов и подробных инструкций по использованию Wialon. И не забывайте про справочный центр Wialon – там мы собираем самую полезную информацию.

Александра Макаревич
Александра Макаревич
Александра – контент-маркетолог в Gurtam. Более 3 лет работала в издательствах и IT-компаниях. Теперь она пишет о телематике и IoT так, чтобы сообществу Wialon и пользователям других продуктов Gurtam было интересно следить за новостями.

Поделиться

Читайте также