Настройка парсера, для GPS трекера, использующего текстовый формат данных
Задача:
Стоит задача обработать пакеты данных от автомобильного трекера (GPS трекера). При отправке данных трекер использует простой ASCII формат и не требует подтверждения приема данных сервером. Пример информационной посылки:
&REPORT,000577,140909,092601,2018.6667,N,02425.4444,E,0,0,181,17,513,00,00.03,00.03,3,04,04
Трекер передает данные в виде одной строки, без переносов. В документации производителя есть информация о формате информационной посылки:
&REPORT,DEVICE_ID,DATE,TIME,LATITUDE,N/S,LONGITUDE,E/W,
SPEED,COURSE, ALTITUDE,ODOMETER,IO_STATUS,EVENT_ID,
AIN1,AIN2,FIX_MODE,GLONASS_SAT_NO,GPS_SAT_NO
Требования:
- GPS Tracker Data Logger Professional или пробная версия;
- Модуль "ASCII data parser and query" для Data Logger;
- Модуль "DDE server" для логгера (опционально, для тестирования).
Подразумевается что:
Вы настроили параметры связи с устройством, например, активировали режим TCP/IP сервера.
Решение:
На рисунке выше видно, что данные имеют простой формат. Каждая запись имеет фиксированный набор значений, разделенных запятой. Данные не содержат непечатных символов в начале и конце строки, но содержит постоянные символы, которые добавляются в начале пакета данных. Очевидно, что каждый пакет данных (один в строке) начинается с "&REPORT". Необходимо определить символы окончания пакета данных (если они есть), по которым программа сможет выделять пакет данных из общего потока. Пожалуйста, включите вывод на экран непечатных символов, у которых код символа меньше 0x20h. Для этого установите опции с рисунка ниже.
Рис. 1. Настройка вида данных
Затем кликните по кнопке "OK" и подождите прихода данных от GPS трекера. Принятые данные будут иметь вид, как на рисунке ниже.
Рис. 2. GPS трекер. Принятые данные.
Это другой вид принятых данных. Все непечатные символы были заменены на их код вида #0D. Теперь видно, что пакет данных заканчивается на #0D#0A.
Теперь мы готовы к настройке модулей. Сначала, пожалуйста, выберите модуль "ASCII data parser and query" (рис. 3, поз. 1) из выпадающего списка. Затем, включите анализ и экспорт для принимаемых данных. Модуль "DDE server" (рис. 4) поможет нам проверить, что парсер правильно разбирает пакет данных. После окончания настройки его можно будет отключить для экономии ресурсов. Также вы можете активировать любой модуль экспорта данных, например, для записи данных от трекера в базу данных.
Рис. 3. GPS трекер. Активация парсера.
Рис. 4. GPS трекер. Выбор модулей экспорта данных.
Теперь откройте окно настройки модуля "ASCII parser and query". Для этого кликните на кнопке "Настроить" рядом с выпадающим списком (рис. 3, поз. 2). Окно настройки появится на экране (рис. 5).
Рис. 5. GPS трекер. Окно настройки парсера.
В появившемся окне необходимо указать признаки начала и окончания пакета данных. Вы должны ввести данные в том же виде, что и в главном окне программы. В поле "Признак начала пакета данных" необходимо ввести "&REPORT,", а в поле "Признак конца пакета данных" нужно указать "#0D#0A" (без кавычек). В поле "Таймаут" (рис. 5) необходимо указать значение интервала, в течении которого парсер будет ожидать окончания пакета. Это необходимо для исключения зависания парсера в случаях, когда был принят признак начала пакета данных, а признак окончания не был получен.
Следующая закладка является очень важной частью конфигурации (рис.6). Нам известен формат пакета данных. Теперь нужно указать парсеру, как разделять пакет данных на отдельные значения (переменные). Далее эти переменные будут использоваться в модулях фильтрации и экспорта данных.
Рис.6. GPS трекер. Переменные парсера.
Необходимо добавить все необходимые переменные, кликнув по кнопке "Добавить" (рис.6, поз.7). Перед добавлением переменной программа попросит ввести описание переменной. Вы можете ввести любое описание, которое поможет вам запомнить содержимое этой переменной. Мы добавили все переменные с соответствующими описаниями на рис.6
Каждая переменная парсера имеет несколько свойств:
- Имя переменной - это имя будет связано с колонкой в модуле экспорта данных. Это имя должно состоять только из латинских букв и цифр;
- Тип обработки данных - это метод, который программа будет использовать для выделения данных из пакета данных. В нашем случае, когда все значения располагаются в пакете данных через разделитель, мы можем использовать метод "Через разделитель".
- Тип данных - тип данных переменной. В нашем примере будут использоваться типы данных FLOAT, DATE, TIME, INTEGER и STRING. Модуль позволяет определить некоторые опции, которые будут использоваться для преобразования (см. закладку "Формат данных");
- Значение по умолчанию - это значение будет использоваться, когда данные не могут быть извлечены из указанной позиции и преобразованы в указанный тип данных;
- Разделитель полей - символ-разделитель между значениями в пакете данных. В данном примере это запятая;
- Номер по порядку - это позиция значения в пакете данных. Поскольку часть пакета "&REPORT," используется как идентификатор пакета данных и опция "Разбор всего пакета" на рис. 5 отключена, то данная часть отбрасывается и не участвует в последующей обработке. Поэтому нумерация в этом примере начинается с 1.
На следующей закладке (рис.7) вы можете определить основные опции форматирования и преобразования значений. Поскольку мы определили тип данных "String" для некоторых переменных, поэтому первые две опции позволяют удалять пробелы в начале и конце значения. В этом примере у нас есть переменная с типом "DATE" и "TIME". Поэтому вторая опция позволяет определить маску, по которой строковое значение даты или времени будет преобразовано в переменную с соответствующим типом данных. Для более подробного описания символов, которые могут использоваться в маске, пожалуйста, обратитесь к файлу справки.
Рис.7. GPS трекер. Форматирование переменных.
Пожалуйста, кликните на кнопке "OK" в окне настройки парсера и затем на кнопке "OK" в окне настройки конфигурации, чтобы программа активировала все настроенные модули.
Теперь наш парсер настроен и пришло время проверить его. Подождите момента, когда GPS трекер передаст информационную посылку. Если парсер был верно настроен, то в окне DDE сервера будут отображены наши переменные и их значения (рис.8).
Рис.8. GPS трекер. Окно DDE сервера.
Теперь все переменные парсера готовы для экспорта. Для этого вы можете использовать любой модуль экспорта данных.
Сопутствующие статьи:
Установка
Настройка