Перенаправление данных GPS трекера на другой сервер c изменением формата на ASCII
Задача:
Стоит задача принять пакеты данных от автомобильного GPS трекера (GPS трекера) и переслать их для последующей обработки на другой сервер. При этом другой сервер (другое программное обеспечение) понимает только один формат данных, и нет возможности подключить другие трекеры к нему напрямую. Т.е. в этом случае GPS Tracker Data Logger будет работать как конвертер. Другой сервер может принимать информационные посылки в формате ASCII и не требует авторизации. Пример информационной посылки:
IMEI,ггггммддччммсс,0дд.дддддд,шш.шшшшшш,скор,нап,000высота,сп,RID,вхд,вы,A1.вхд,A2.вхд<ВК><ПС>
- IMEI - идентификатор устройства;
- Год месяц дата часы минуты секунды;
- Долгота и широта в градусах и их долях десятичных;
- Скорость (км/ч);
- Направление (градусы);
- Высота (м);
- Количество спутников;
- Неизвестный параметр RID;
- Цифровые входы в битах типа 1+2+4+8;
- Цифровые выходы;
- Два аналоговых входа (напряжения в вольтах);
- Завершается это всё возвратом каретки и переводом строки.
Требования:
- GPS Tracker Data Logger Professional или пробная версия;
- Парсер для любого трекера;
- Модуль "Script Execute" для Data Logger;
- Модуль перенаправления данных для логгера;
- Модуль "DDE server" для логгера (опционально, для тестирования).
Подразумевается что:
- Вы настроили параметры связи с устройством и парсер для автомобильного GPS трекера так, как это сделать было описано в другой статье;
- Настроили TCP/IP соединение с другим сервером как описано в этой статье.
Решение:
После настройки и опробования парсера с помощью DDE можно приступать к настройке.
1. Необходимо сформировать новый пакет данных для перенаправления. Это можно сделать с помощью модуля-фильтра "Script Execute". Данный модуль позволяет задать скрипт, который будет вызываться для каждого пакета данных, который выделил и обработал парсер. В этом примере используется парсер для трекеров "Телтоника". Данный парсер имеет ряд переменных, на которые он разбивает пакет данных. Эти переменные будут использоваться в скрипте.
2. Активировать модуль перенаправления данных "Data redirecting". При этом модуль "Data redirecting" должен располагаться в списке ниже модуля "Script execute" (рис. 1).
Замечание: Программа может перенаправить только те данные GPS трекера, которые понимает и обрабатывает парсер. Например, если трекер посылает несколько типов пакетов, а парсер обрабатывает только один из них, то перенаправить можно будет только один этот пакет.
![GPS трекер. Выбор модулей фильтрации данных.](/gps-tracker-data-logger/tutorials/gps-tracker-ascii-redirect/data-logger-plugins-setup.png)
Рис.1. GPS трекер. Настройка модуля перенаправления данных.
Написание скрипта
Модуль "Script Execute" позволяет написать скрипт на нескольких скриптовых языках. В данном примере будет приведен скрипт на языке Pascal (рис. 2).
![GPS tracker. Скрипт.](/gps-tracker-data-logger/tutorials/gps-tracker-ascii-redirect/gps-tracker-script-s.png)
Рис.2. GPS трекер. Скрипт.
Полный текст скрипта:
Данный скрипт с помощью функций GetVariable получает значения переменных, которые подготовил парсер, форматирует их и формирует новый пакет данных. Сформированный новый пакет данных в формате ASCII, готовый для перенаправления, добавляется к имеющимся переменным парсера с помощью функции SetVariable под именем ASCII_DATA_PACKET. Значения, которые отсутствуют в переменных парсера, заменяются значениями по умолчанию. Если в переменных парсера отсутствуют значения идентификатора устройства или даты, то данный пакет данных игнорируется.
Легко заметить, что с помощью переменных скрипта вида sDate_Name:string = 'TIMESTAMP_UTC'; задается имя переменной парсера, которое затем будет использоваться в теле скрипта.
Перенаправление данных
Для настройки модуля перенаправления (рис.3) данных выберите его в списке и кликните по кнопке "Настроить" под списком.
![Спутниковый трекер. Настройка модуля перенаправления данных.](/gps-tracker-data-logger/tutorials/gps-tracker-ascii-redirect/data-logger-redirect-setup.png)
Рис.3. GPS tracker. Настройка модуля перенаправления данных.
- Указываем имя переменной парсера, данные из которой будут перенаправляться;
- Указываем IP адрес и порт назначения в той форме, как этого отображается в главном окне программы.
Теперь необходимо сохранить все изменения. Для этого закройте все диалоговые окна, кликнув на кнопке "OK".
После приема данных от GPS трекера вы увидите в логе сообщений программы информацию о том, что данные перенаправляются (рис. 3).
![GPS трекер. Сообщение о перенаправлении данных.](/gps-tracker-data-logger/tutorials/gps-tracker-ascii-redirect/data-logger-redirect-log.png)
Рис.3. GPS трекер. Сообщение о перенаправлении данных.
Если в главном окне программы переключиться на конфигурацию TCP клиента (рис. 4), то можно увидеть перенаправляемые данные.
![GPS трекер. Перенаправляемые данные.](/gps-tracker-data-logger/tutorials/gps-tracker-ascii-redirect/data-logger-redirect-data.png)
Рис.4. GPS трекер. Перенаправляемые данные.
Сопутствующие статьи:
Установка
Настройка