После поступления СМС модуль приема СМС направляет ее на обработку парсеру. Задача парсера состоит в том, чтобы разделить входящую СМС на несколько отдельных значений. При приходе СМС она появляется в главном окне программы в виде:
[790477207XX]<CR><LF>
352848024311173@2011.09.02 11:19:06@48.715569@44.522743@85@2@5@N/A@7@0<CR><LF>
[790477207XX] – номер отправителя СМС
<CR><LF> - ASCII символы возврата каретки и перевода строки
Далее следует текст СМС.
<CR><LF> - ASCII символы возврата каретки и перевода строки завершают текст СМС.
Текст СМС имеет формат, который зависит от модели трекера. Для примера возьмем СМС, которая имеет вид:
<imei>@<time>@<fix_lat>@<fix_lon>@<fix_angle>@<fix_speed>@<fix_satellites>@<bat_status>@<alarm_on>@<alarm_off>
В данной СМС все значения в СМС разделены символом “@”.
В качестве парсера можно использовать парсер “ASCII Data Parser”, который входит в пакет установки. Необходимо активировать данный парсер на закладке “Запрос Анализ Фильтрация” (рис. 1).
Рис.1 Выбор парсера
Далее нужно открыть окно настройки парсера (рис. 2) с помощью кнопки “Настроить”.
Рис.2 Настройка парсера
Рвзбивать пакеты по признакам начала/конца – включено.
В поле “Признак конца пакета” указываем #0D#0A, что соответствует шестнадцатеричным кодам ASCII символов <CR> и <LF>.
Рис.3 Настройка парсера
На следующей закладке активируем опцию “Определять идент. клиента”. Эта опция указывает парсеру, что перед СМС передается идентификатор отправителя (номер) и парсер автоматически поместит его в переменную парсера с именем CLIENTID.
При необходимости, можно настроить фильтр, который позволяет отсеивать ненужные СМС. Детальную информацию по этой функции можно прочитать в файле справки.
На закладке “Парсинг данных” (рис. 4) нужно указать какие поля содержит СМС.
Рис.4 Настройка парсера
В дерево переменных парсера нужно добавить описание всех значений, которые вы хотите извлечь из СМС. На рисунке 4 показано одно из значений.
Таким образом добавляем описание всех значений, которые нужно извлечь из СМС. Очередность следования значений в дереве не имеет значения.
Рис.5 Переменные парсера
На закладке “Формат данных” (рис. 6), в поле “Дата и время” нужно задать формат даты и времени значения, которое извлекается из СМС. Используя этот формат строка даты и времени будет преобразовано в значение с типом Datetime. Если формат будет задан неверно, то вы програме будет выводиться сообщение об ошибке. Детальное описания символов, которые можно использовать в формате даты и времени, приведено в файле справки.
Рис.6 Параметры форматирования
После настройки парсера его нужно проверить.
1. Для этого сохраните изменения, кликнув по кнопке “OK”.
2. Активируйте модуль экспорта данных DDE сервер (рис. 7)
Рис.7 Модуль экспорта данных
3. Сохраните изменения, кликнув по кнопке “OK”.
4. Дождитесь прихода новой СМС и появления ее в главном окне программы.
5. Откройте окно настройки параметров и дважды кликните на модуле экспорта данных DDE сервер. В окне настройки DDE сервера перейдите к закладке “Активные переменные” (рис. 8). Данный список должен содержать настроенные переменные парсера и их значения. Здесь вы можете проверить правильность настройки парсера и при необходимости внести изменения в его параметры.
Рис.8 Активные переменные