Перенаправление данных 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 трекера, которые понимает и обрабатывает парсер. Например, если трекер посылает несколько типов пакетов, а парсер обрабатывает только один из них, то перенаправить можно будет только один этот пакет.

Рис.1. GPS трекер. Настройка модуля перенаправления данных.
Написание скрипта
Модуль "Script Execute" позволяет написать скрипт на нескольких скриптовых языках. В данном примере будет приведен скрипт на языке Pascal (рис. 2).

Рис.2. GPS трекер. Скрипт.
Полный текст скрипта:
Данный скрипт с помощью функций GetVariable получает значения переменных, которые подготовил парсер, форматирует их и формирует новый пакет данных. Сформированный новый пакет данных в формате ASCII, готовый для перенаправления, добавляется к имеющимся переменным парсера с помощью функции SetVariable под именем ASCII_DATA_PACKET. Значения, которые отсутствуют в переменных парсера, заменяются значениями по умолчанию. Если в переменных парсера отсутствуют значения идентификатора устройства или даты, то данный пакет данных игнорируется.
Легко заметить, что с помощью переменных скрипта вида sDate_Name:string = 'TIMESTAMP_UTC'; задается имя переменной парсера, которое затем будет использоваться в теле скрипта.
Перенаправление данных
Для настройки модуля перенаправления (рис.3) данных выберите его в списке и кликните по кнопке "Настроить" под списком.

Рис.3. GPS tracker. Настройка модуля перенаправления данных.
- Указываем имя переменной парсера, данные из которой будут перенаправляться;
- Указываем IP адрес и порт назначения в той форме, как этого отображается в главном окне программы.
Теперь необходимо сохранить все изменения. Для этого закройте все диалоговые окна, кликнув на кнопке "OK".
После приема данных от GPS трекера вы увидите в логе сообщений программы информацию о том, что данные перенаправляются (рис. 3).

Рис.3. GPS трекер. Сообщение о перенаправлении данных.
Если в главном окне программы переключиться на конфигурацию TCP клиента (рис. 4), то можно увидеть перенаправляемые данные.

Рис.4. GPS трекер. Перенаправляемые данные.
Сопутствующие статьи:
Установка
Настройка