Приложения пользователя в GSM / GPRS модулях ведущих мировых производителей

№ 2’2005
Программные приложения пользователей реализуются в изделиях ведущих производителей модулей GSM/GPRS двумя основными способами. В одном случае используется открытая перепрограммируемая платформа, позволяющая пользователям писать собственные приложения под конкретную задачу и загружать их в модуль. В другом случае применяются готовые стандартные прикладные программы, интегрированные в базовую прошивку и реализуемые с помощью АТ-команд.

Программные приложения пользователей реализуются в изделиях ведущих
производителей модулей GSM/GPRS двумя основными способами. В одном случае
используется открытая перепрограммируемая платформа, позволяющая пользователям
писать собственные приложения под конкретную задачу и загружать их в модуль.
В другом случае применяются готовые стандартные прикладные программы,
интегрированные в базовую прошивку и реализуемые с помощью АТ-команд.

Введениие

Если сравнить технические характеристики моду
лей GSM/GPRS ведущих мировых производителей
Siemens, Sony Ericsson, Enfora, Wavecom, то можно
обнаружить, что эти компании производят продук
цию одного класса с практически одинаковыми ба
зовыми техническими характеристиками [1].

Параметры модулей очень близки — как по стан
дартным характеристикам GSM/GPRS, так и по габа
ритным размерам и весу.

Все GSM-модули можно разбить на три основные
группы:

  • модули для различных дешевых бытовых устройств
    с передачей данных только по GSM-каналу;
  • телеметрические модули GSM/GPRS, предназна
    ченные для автоматизированного обмена инфор
    мацией в режиме GPRS между различными маши
    нами и оборудованием (M2M application);
  • универсальные модули, предназначенные для ис
    пользования в сотовых телефонах последнего по
    коления, PDA и сложных системах охранных сиг
    нализаций с передачей видеоизображений.

Внутри каждой группы модули различных произ
водителей отличаются друг от друга, в основном, до
полнительными сервисными функциями, которые
определяют индивидуальные специфические осо
бенности модулей GSM/GPRS и те специальные за
дачи, для решения которых эти изделия подходят на
илучшим образом.

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

Базовое программное обеспечение регламентиру
ется стандартом EGSM 900/1800 МГц и одинаково
у всех производителей.

Дополнительные сервисные функции у различ
ных производителей реализуются, в основном, дву
мя способами.

В одном случае обеспечивается поддержка откры
той перепрограммируемой платформы, позволяю
щей пользователям писать собственные приложе
ния для конкретных специфических задач. Эта ме
тодика используется в продукции таких известных
мировых производителей, как Siemens, Sony Ericsson,
Wavecom.

В другом случае пользователям предлагается
не тратить время на разработку собственных уни
кальных приложений, а воспользоваться готовыми
стандартными программными блоками, включен
ными в базовую прошивку. Такая идеология, реали
зуется, например, фирмой Enfora. При этом подра
зумевается, что все опции, необходимые для сопря
жения модулей GSM/GPRS с различными счетчиками
и с другой телеметрической аппаратурой, уже есть
в базовой прошивке Enabler-II Enfora.

Использование ресурсов встроенного микрокон
троллера и Flash-памяти модуля GSM/GPRS позво
ляет добиться снижения общей стоимости проекта
за счет отбрасывания внешнего микроконтроллера,
памяти и других дополнительных внешних компо
нентов. Такой подход позволяет существенно умень
шить габаритные размеры и энергопотребление ко
нечного изделия.

Прикладные программы пользователей широко
используется в современных системах GSM-теле
метрии. Например, в автомобильных навигацион
ных системах при аварии система автоматически
сообщает координаты автомобиля в диспетчерский
центр. В стандартном варианте, показанном
на рис. 1, когда не используется встроенное прило
жение, внешний микропроцессор считывает коор
динаты автомобиля из GPS-модуля, а затем фор
мирует и посылает аварийное сообщение SMS че
рез модуль GSM/GPRS.

Стандартная структурная схема системы автомобильной навигации GSM/GPS
Рис. 1. Стандартная структурная схема системы автомобильной навигации GSM/GPS

В схеме с использованием встроенного при
ложения (рис. 2) отпадает необходимость ис
пользования внешнего микроконтроллера.
Специальная программа пользователя управ
ляет процессом считывания координат и по
сылкой аварийного сообщения.

Схема системы автомобильной навигации с использованием встроенного приложения
Рис. 2. Схема системы автомобильной навигации с использованием встроенного приложения

Проектирование и создание систем автомо
бильной навигации на базе программно-ори
ентированных методов позволяет в кратчай
шие сроки создавать новые модели с исполь
зованием последних достижений в GSM/GPRS
и GPS технике.

Большинство крупных мировых произво
дителей электронного оборудования предпо
читают использовать в своих изделиях стан
дартные телеметрические протоколы, пригод
ные для использования в различных изделиях

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

При использовании программ пользователя,
по желанию заказчика, в модуль могут быть за
гружены необходимые для конкретной модели
специальные телеметрические протоколы.
Современные методы создания управляющих
программных приложений позволяют созда
вать надежные современные GSM/GPRS-изде
лия, пригодные для использования в продук
ции различных мировых производителей.

Программный комплекс
OPEN AT, Wavecom

С помощью программно-отладочных
средств OPEN AT производства фирмы
Wavecom разработчики могут писать про
граммное обеспечение под конкретную зада
чу на языке высокого уровня (С++) и затем
загружать его непосредственно в Flash-память
модуля WISMO. Это позволяет отказаться
от внешнего микроконтроллера, управляю
щего периферийными устройствами (GPS-
приемниками, датчиками, счетчиками, сис
темами сигнализации и т. д.) [2–4].

Для работы с модулями на уровне OPEN AT
нужен отладочный комплект (Starter KIT) и на
бор программно-отладочных средств.

Отладочный комплект предназначен для на
стройки GSM/GPRS-модемов фирмы Wavecom,
отладки программного обеспечения, а также
для разработки и проектирования различных
устройств на основе GSM/GPRS-модемов. Имея
этот отладочный комплект, можно сразу запу
стить бескорпусные модули в работу, контро
лировать сигналы на всех выводах модуля,
а также загружать новое программное обеспе
чение.

В состав программно-отладочных средств
OPEN AT входят:

  • комплект технической документации;
  • демонстрационная версия;
  • отладочные средства (отладочная програм
    ма для конечного устройства, программа ра
    боты с последовательным портом, эмуля
    тор терминала, программы поддержки за
    дач пользователя)
  • ;

  • компилятор GCC (АRM по специальному
    заказу);
  • примеры использования OPEN AT.
    Новая версия Open AT 3.0 поддерживает сле
    дующие дополнительные функции:
  • расширенные возможности хранения дан
    ных и прикладных программ;
  • поддержка WAP (интерфейсы пользовате
    ля для запросов по HTTP);
  • поддержка GPS (интерфейсы пользователя
    для обработки данных модуля GPS Q2501);
    управление дополнительными UART.

Кроме того, существенно расширена биб
лиотека специализированных программ поль
зователей, добавлен новый пакет отладочных
средств. Из дополнительных функций следу
ет отметить: пакет программ для GPRS, стек
TCP/IP (IP, FTP, TCP/20/2123/110,Telnet, POP3,
SMTP, DNS UDP/53), перезагрузку приложе
ний пользователя по сети в режиме GPRS, но
вый способ разработки приложений с исполь
зованием Application Development Kit (ADK),
увеличенные объемы памяти для приложений
пользователя (512 кбайт Flash, 64 кбайт RAM,
128 кбайт E2P).

Демонстрационная версия OPEN AT позво
ляет на стандартных примерах проследить пример разработки приложений и загрузить
в модуль прилагаемые бинарные файлы про
стейших программ пользователя. Однако де
монстрационный вариант OPEN AT может ис
пользоваться только в режиме так называемого
«удаленного приложения» (Remote Application).
Входящие в состав демонстрационной версии
средства отладки (Remote Application Execution
Tool) позволяют на прилагаемых примерах
изучить схему отладки приложения внутри
модема (Embedded Application). С помощью
демонстрационной версии OPEN AT некото
рые простейшие функции можно реализовать
в виде Remote Application. Например, функ
ционалы типа стандартных функций модема
(голосовые звонки, SMS, обработка сигналов
датчиков) могут работать в виде связки
«Remote Application + модем». При этом
Remote Application будет использоваться имен
но как имитатор работы Embedded program.

Более сложные задачи типа работы с запис
ной книжкой в Remote Application реализовать
невозможно, поскольку это не реальная запис
ная книжка внутри модема, а имитация ее
в файлах на диске компьютера.

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

Схема разработки приложений пользовате
ля с помощью OPEN AT приведена на рис. 3.

Структурная схема разработки прикладных программ с помощью OPEN AT
Рис. 3. Структурная схема разработки прикладных программ с помощью OPEN AT

В ядро Wavecom включено программное
обеспечение, ответственное за работу в стан
дартных режимах GSM/GPRS

Программное обеспечение пользователей
состоит из двух основных блоков: ядра поль
зователя и интерфейсов прикладных про
грамм пользователя (Application Programming
Interface — API).

Программа пользовательских приложений
включает в себя обязательные функции, функ
ции инициализации, функции грамматическо
го разбора, библиотечные функции Wavecom.

Обязательный интерфейс прикладных про
грамм пользователя (API) обеспечивается про
граммами, поддерживаемыми встроенным
приложением. Программный интерфейс для
АТ-команд реализует работу с АТ-командами.
Операционная среда для API содержит про
граммы, предоставляющие доступ к операци
онной среде.

Стандартный API предназначен для работы
со стандартными программами (стандартный
вариант Си).

Для равномерного распределения нагрузки
по всем сегментам используется API регулиро
вания потока данных через маршрутизаторы.

Процесс создания приложений пользовате
ля состоит из следующих основных этапов:

  • компиляция Си-файлов приложения (C , C утилиты);
  • привязка к библиотеке Wavecom (LINKLIB
  • <имя файла дескриптора>, LINKBIN );
  • загрузка полученного бинарного файла
    в модуль через Xmodem (специальная AT-
    команда);

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

В удаленном режиме разработка проводит
ся с отмеченными выше ограничениями.
В этом случае возможна реализация стадий
работы с Visual CИ++, создание проекта и про
смотр выполнения приложения.

Структурная схема средств разработки при
ведена на рис. 4.

Структурная схема средств разработки приложений пользователя
Рис. 4. Структурная схема средств разработки приложений пользователя

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

Входящая в комплект программа Serial Link
Manager предназначена для переключения по
следовательного порта ПК (COM1) на различ
ные устройства Wavecom. Второй последова
тельный порт (COM2) может быть использо
ван для соединения с другим ПК.

Программа Target Monitoring Tool представ
ляет собой набор утилит для контроля рабо
ты и диагностики режимов модулей Wavecom.
Использование этих утилит позволяет про
сматривать сообщения трассировщика при от
ладке приложений пользователя в целевом
и в удаленном режимах. Программы Target
Monitoring Tool и Serial Link Manager исполь
зуются совместно и конфигурируются на ра
боту с тем портом, к которому физически под
соединен модем.

Программа Terminal Emulator — это отла
дочное средство для работы с АТ-командами.
Данная программа, преобразующая стандарт
ный поток данных в отладочные коды, исполь
зуется для приема и передачи командных строк
в целевом или в удаленном режимах. Програм
ма может работать как в нормальном режиме,
при открытом окне АТ-команд, так и в отла
дочном режиме. При подключении целевого
устройства через последовательный порт раз
рабатываемое приложение может быть про
смотрено на ПК с помощью средств Visual C++.

Схема отладки приложений пользователя
приведена на рис. 5.

Структурная схема отладки приложений пользователя
Рис. 5. Структурная схема отладки приложений пользователя

Удаленный режим (Remote process), вклю
чающий разработку, компиляцию, линковку
с библиотекой и отработку, выполняется в сре
де Visual C++. Приложение пользователя, раз
рабатываемое для конкретной задачи, может
быть запущено на ПК с использованием «Ядра
работы ОС в реальном времени» (RTK —
Windows). В этом случае задача пользователя
дезактивируется в целевом устройстве. Таким
образом, без изменения кодов можно из ре
жима отладки разрабатываемого встроенного
приложения перейти в удаленный режим.

Программно-аппаратный комплекс
M2mPower Sony Ericsson

Для написания и отладки встроенного при
ложения в модулях Sony Ericsson служит специ
альная среда разработки M2mpower IDE [5–7].

В качестве отладочного комплекта могут
быть использованы либо «Универсальный на
бор разработчика», либо «Отладочный ком
плект на базе GT47».

Набор программного обеспечения «M2mpower
package CD» включает в себя интегрирован
ную среду разработки «M2mpower IDE». ре
дактор, интерпретатор, примеры скриптов,
техническую документацию.

Алгоритм работы встраиваемого приложе
ния описывается на «Си-образном» языке с по
мощью специального редактора. При этом для
приложения недоступны прерывания, и машина состояний строится на основе анализа фла
гов, чтения данных с портов и т. д. В модуль за
гружается именно скрипт, а не выполняемый
командный файл. В модуле находится интер
претатор скрипта, взаимодействующий с вну
тренним менеджером памяти и библиотекой
функций, работающей непосредственно с ба
зовым ПО. В результате конечное приложение
пользователя выглядит в виде Си-подобного
скрипта интерпретируемого МК модуля.

Язык программирования построен на фун
даменте ANSI C. Необходимо отметить ряд ог
раничений синтаксиса скрипта. Во-первых,
поддерживается только два целочисленных
типа данных: char (8 bit) и int (32 bit). Во-вто
рых, нет оператора выбора switch. В-третьих,
функция может возвращать только перемен
ную типа int. Во всем остальном это хорошо
известный в среде разработчиков язык Си.

Максимальная длина скрипта определяется
условием 350 блоков z 128 байт = 44800 байт.
Этот объем памяти распределяется между дву
мя приложениями пользователя. Таким обра
зом, одновременно можно хранить в модуле
два приложения. Однако активным может
быть только одно из них. Это позволяет уда
ленно произвести обновление или замену при
ложения пользователя, сохранив работоспо
собность устройства. Помимо памяти для хра
нения программ модуль имеет также память
для временных или глобальных данных объ
емом 50000 байт. Из них 20400 байт отводит
ся под динамический стек.

Загрузка скрипта в модуль осуществляется
с помощью IDE M2mpower двумя АТ-коман
дами (AT*E2APC и AT*E2APD) по протоколу
обмена XModem.

Приложение пользователя имеет самый низ
кий приоритет по отношению к основному
GSM-приложению и обрабатывается только
в то время, когда основное GSM-приложение
неактивно. Язык не поддерживает прерыва
ния, поэтому триггеры состояний должны оп
рашиваться по требованию.

На рис. 6 представлена структурная схема
работы программного обеспечения модуля
GR47 Sony Ericsson.

Структурная схема ПО модуля GR47 Sony Ericsson
Рис. 6. Структурная схема ПО модуля GR47 Sony Ericsson

Доступ к каналам связи и внутренним драй
верам осуществляется с помощью встроенной
библиотеки функций IFL (Intrinsic Function
Library), которая имеет 3 уровня.

Нижний уровень Level 1 содержит следую
щие библиотеки:

  • отладка;
  • преобразование данных;
  • работа со строками и памятью;
  • управление встроенными драйверами;
  • управление базами данных;
  • работа с TCP/UDP/IP;
  • клиент XML и MQTT;
  • управление модулем.

Второй уровень Level 2 содержит только
библиотеку для работы с AT-командами. Тре
тий уровень Level 3 содержит библиотеки для
работы с SMS, телефонной книгой и библио
теку управления GPS-приемником. Низко
уровневые функции напрямую используют
аппаратные и программные возможности мо
дуля, позволяя эффективно и быстро отраба
тывать команды.

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

Библиотеки регулярно пополняются, рас
ширяя возможности модуля. Целесообразно
отметить некоторые особенности библиотеки
TCP/UDP/IP-стека модулей GR47 Sony Ericsson.

В модулях Sony Ericsson могут быть реали
зованы следующие функции:

  • открытие-закрытие IP-соединения, при этом
    модулю выделяется динамический IP-адрес;
  • отправка-прием TCP-пакета;
  • отправка-прием UDP-пакета;
  • преобразование URL в IP-адрес;
  • получение текущей IP-информации.

Это позволяет реализовать такие приложе
ния, как клиенты FTP и E-Mail. При подклю
чении к модулю клавиатуры и ЖКИ можно
также реализовывать веб-браузер.

Открытая перепрограммируемая платфор
ма M2mpower Sony Ericsson менее мощная
и более простая, чем OPEN AT Wavecom.
Она предназначена для написания более про
стых коротких прикладных программ поль
зователя, не требующих решения сложных,
ресурсоемких задач. Модуль в первую оче
редь обеспечивает работу GSM/GPRS-ядра.
При этом программа пользователя выполня
ется с минимальным приоритетом, поэтому
потери производительности при работе ин
терпретатора не должны быть критичными
для данного класса задач.

Можно также отметить, что необходимость
использования отладочного комплекта для на
писания и загрузки программ пользователя
в модули Sony Ericsson повышает надежность
и конфиденциальность доступа к ПО.

Открытая перепрограммируемая
платформа JAVA в модулях TC-45
производства Siemens

Модуль TC45 Siemens программируется
на языке Java с использованием платформы
Java-TM — J2ME (Java 2 Micro Edition).

Благодаря широкому распространению Java-TM
теперь появилась возможность использовать
существующие и создавать новые приложе
ния в сегменте устройств, предназначенных
для передачи видеоизображений, и системах
с поддержкой WAP и MMS [8, 9].

Java — это непосредственно язык програм
мирования и операционная среда (так назы
ваемая виртуальная Java-машина), в которой
работают программы, написанные на Java.
Синтаксис Java напоминает синтаксис C++.

Основное отличие состоит в том, что при
написании приложений пользователя с ис
пользованием C++ необходимо компилиро
вать исходный код специально для каждого
конкретного устройства. Такой подход реали
зован в рассмотренной выше продукции
Wavecom и Sony Ericsson.

В случае использования Java код интерпре
тируется непосредственно самим устройством
при помощи виртуальной Java-машины (Java
Virtual Machine). Это позволяет использовать
Java-приложение на любых устройствах с ана
логичной Java-платформой. Именно поэтому
одно и то же приложение пользователя, напи
санное на Java, можно использовать и в охран
ных устройствах, и в телефонах, и в телемет
рических системах, если они снабжены под
держкой Java Virtual Machine.

Особенностями Java являются: объектная
ориентированность, многопоточность, плат
формонезависимость, богатые возможности
для написания приложений, ориентирован
ных на технологии «клиент-сервер». Эти осо
бенности обусловлены тем, что в Java поддер
живаются механизмы создания и одновремен
ного выполнения веток кода внутри одного
процесса. «Cкомпилированное» приложение
на Java представляет собой так называемый
байт-код, готовый к выполнению внутри вир
туальной Java-машины на конкретной аппа
ратно-программной платформе.

К достоинствам языка Java, безусловно,
можно отнести объемную библиотеку клас
сов, не в последнюю очередь ориентирован
ную на сокращение времени разработки сете
вых приложений (например, построенной
по технологии «клиент-сервер»). Как правило, это приложения рассчитаны на использо
вание в сети Интернет. На Java, например, до
статочно просто написать небольшой сервер,
ожидающий соединение на определенном пор
ту TCP/IP и обрабатывающий поток данных
от клиентов. Именно так и реализуется рабо
та с Интернет через TCP/IP на удаленных тер
миналах, построенных на базе модулей TC-45
Siemens. Такой подход является альтернатив
ным идеологии, используемой фирмами
Wavecom и Sony Ericsson для модулей со встро
енным TCP/IP-стеком. Поддержка GPRS
в ТС-45 также выполнена на базе Java.

Существует довольно много возможностей
оптимизации выполнения Java-приложения,
таких, например, как технология JIT (Just In
Time compilation — компиляция байт-кода
«на лету») или HotSpot (компиляция «на лету»
критических участков байт-кода).

В России, как и во всем мире, Java-приложе
ния пользуются большой популярностью.
При этом платформа Java может быть исполь
зована также и для специальных технических
приложений мобильной связи. Так, например,
МТС в Новосибирске еще в 2001 году внедри
ла популярный сервис ICQ, реализованный
на базе Java-программы.

В комплект поставки ТС-45 входит компакт
диск со средствами разработки.

Программное обеспечение включает биб
лиотеку Java-классов с примерами функций
для работы с GSM/GPRS-соединениями, эму
лятор рабочей программной среды модуля для
ПК и отладчик программ.

Диск с ПО содержит также описание клас
сов, предназначенных специально для сото
вых терминалов.

Порядок установки и работы с ПО отлича
ется чрезвычайной простотой.

Для начала работы выполняются следую
щие действия. Устанавливаются средства раз
работки Java, а именно компилятор, отладчик,
виртуальная Java-машина, классы и их исход
ные тексты. Как правило, имя файла для уста
новки: j2sdk-1_4_2_**-windows-i586-p.exe.
Это оригинальный дистрибутив от Sun. Затем
устанавливается мобильная версия Java, кото
рая является добавлением к основной, содер
жащей классы и примеры для работы с сото
выми терминалами.

Для загрузки приложений в модуль необ
ходимо установить драйвер, для чего доста
точно кликнуть на файле Winmux2k.inf пра
вой кнопкой мыши и выбрать «Установить».
После установки этого драйвера модуль будет
виден в системе как Flash-Drive. Копировать
файлы на него можно перетаскиванием мыш
кой файлов из рабочей папки в папку под на
званием «Module», что находится в корне
«Мой компьютер» (рис. 7).

Рабочее окно средства разработки Java для TC45
Рис. 7. Рабочее окно средства разработки Java для TC45

Модуль TC45-Java имеет два последователь
ных порта для загрузки приложений и пода
чи AT-команд. При этом при загрузке прило
жений они оба должны быть свободны. В TC45
имеется 300 Кбайт памяти под приложения
и данные пользователя.

В состав пакета входят примеры на Java.
Небольшое приложение, которое решает при
митивную задачу — отправку навигационных
сообщений SMS через заданные промежуткивремени, — можно собрать как из конструк
тора, используя примеры smsclipinfo, alarm,
rs232demo. Все примеры можно найти в ком
плекте поставляемого ПО.

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

В качестве иллюстрации можно загрузить
приложение, собранное из приведенных при
меров, которое осуществляет отправку нави
гационной информации через заданные про
межутки времени на диспетчерский пункт.
Взять его можно на сайте по ссылке http://
www.viterra.narod.ru/files/smssender.rar.

После запуска файла build.bat получается упа
кованный файл с классами smssender.jar, со
бранный специально для загрузки в терминал
TC-45. Этот файл smssender.jar просто перета
скивается мышкой в папку Module (рис. 7) и за
пускается командой «at^sjra=a:/smssender.jar»
через подключенную на первый порт термина
ла программу HyperTerminal (a: — внутренний
логический диск модуля TC-45).

Этого достаточно для создания реальной ра
бочей прикладной программы. Приложение
сразу становится активным и начинает отсы
лать навигационную информацию раз в 5 ми
нут на выбранный адрес.

Стандартные прикладные программы,
интегрированные в базовую
прошивку модулей GSM/GPRS
компании Enfora

В отличие от Wavecom, Sony Ericsson
и Siemens, в модулях Enfora Enabler не преду
смотрено создание собственного ПО для при
ложений пользователей.

Идеология модулей Enabler построена
на том, что основные случаи пользовательских
приложений уже зашиты в базовое программ
ное обеспечение и реализуются с помощью
АТ-команд. Таким образом, в модулях Enabler
пользователю предоставляется возможность
сопряжения с традиционными схемами счет
чиков, охранных систем и тому подобной ап
паратуры. Фирма Enfora предлагает разработ
чикам не тратить время на написание собст
венных уникальных приложений, а вместо
этого воспользоваться готовыми стандартны
ми программными блоками, включенными
в базовую прошивку [10, 11].

Семейство продуктов Enabler представляет
собой целостную платформу с большим на
бором разнообразных функций, упрощаю
щих разработку и интеграцию сложных встра
иваемых приложений M2M.

Модули Enfora Enabler позволяют обойтись
базовыми настройками для реализации мно
гих стандартных задач, которые при исполь
зовании продукции других фирм требуют раз
работки сложного ПО и аппаратного обеспе
чения. Кроме того, модули Enabler имеют
мощный IP-ориентированный программный
блок, интегрированный в базовое программ
ное обеспечение. Многие разработчики зна
комы с протоколами IP в силу популярности
сети Интернет и соответствующих приложе
ний. Нужно отметить, что с IP-протоколами
в GPRS-модулях связан ряд архитектурных
нюансов.

Известно, что одна из серьезных проблем
возникает при эксплуатации беспроводных
телеметрических систем в сети GPRS (рис. 8).

Схема IP
Рис. 8. Схема IP»адресации при работе в режиме GPRS

Подсистема GPRS представляет собой струк
туру, «параллельную» классической GSM.
При работе в режиме GPRS абонент выступа
ет как внешний (по отношению к GSM) поль
зователь сети передачи данных.

IP (Internet Protocol) — это стандартный
Интернет-протокол сетевого уровня, предназ
наченный для пересылки пакетов данных по се
тям связи без установления логического соеди
нения. При этом каждый пакет маршрутизиру
ется индивидуально с помощью IP-адресов
получателя.

В этой сети абоненту присваивается стати
ческий или динамический адрес, по которому
идет обмен внешними информационными па
кетами.

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

В стандартном варианте оператор сотовой
связи предоставляет пользователю динамичес
кий адрес для передачи данных в режиме GPRS.

Сейчас некоторые операторы начали выде
лять статические IP-адреса для GPRS-уст
ройств. Однако такие статические IP-адреса
являются дополнительной и достаточно доро
гой платной услугой.

При работе с динамическим адресом возни
кает ряд сложностей, когда требуется передать
информацию по IP-сети GPRS-устройству, ад
рес которого заранее неизвестен. Более того,
адрес устройства, видимый во внешней IP-се
ти, может меняться уже после подключения
к сети GPRS.

Модули Enfora Enabler могут быть настро
ены таким образом, чтобы автоматически осу
ществлялась посылка сообщения на один или
несколько серверов. Это позволяет своевре
менно оповещать наружные серверы управ
ления. При этом принятое сервером сообще
ние очевидным образом содержит актуальный
IP-адрес устройства, а внутри сообщения со
держится определенная информация, позволяющая идентифицировать конкретного от
правителя. Еще одной полезной особеннос
тью Enabler является возможность работы с ус
тройством через последовательный порт по IP
протоколу с использованием отдельного
статического IP-адреса. Большинство продук
тов других производителей позволяют рабо
тать с устройством по IP-протоколу через
«внутренний» последовательный интерфейс
при использовании «внешнего» IP-адреса,
и только после того, как установлено внешнее
GPRS-соединение с оператором. Таким обра
зом, при потере соединения с GPRS-сетью или
при изменении внешнего IP-адреса теряется
связь с беспроводным устройством по IP-про
токолу через «внутренний» последовательный
интерфейс. Этого можно избежать благодаря
упомянутой особенности продуктов Enfora
Enabler. Подобный функционал в сочетании
с доступной в Enfora Enabler возможностью
трансляции IP-адресов позволяет реализовать
более гибкие схемы использования модулей
Enabler.

Из отличительных черт платформы Enabler
необходимо отметить расширенный набор
специфических АТ-команд, предназначенных
для разработки сложных телеметрических
GSM/GPRS-систем.

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

В качестве примера можно привести схему
реализации с помощью АТ команд уведомле
ния серверов о получении модемом нового
IP-адреса.

Команда «AT$FRIEND=,,» позволяет задать список сер
веров, которым нужно присылать уведомле
ния. При этом одновременно определяется
список IP-адресов, с которых можно осуще
ствлять удаленное управление модулем.

В команде AT$FRIEND задаются значения:

  • friend #— номер изменяемого ip-адреса сер
    вера в списке (от 1 до 10);
  • server indication: 1— IP адрес принадлежит
    серверу, 0— IP-адрес используется для уп
    равления;
  • IP — это IP-адрес в формате 0-255.0-255.0-
    255.0-255.

Команда «AT$MDMID=»
определяет уникальный идентификатор мо
дема. Здесь «modem identifier» это 20-символь
ная строка идентификатора.

Проблема трансляции адресов в сети опе
ратора в модулях Enfora Enabler решается
с помощью так называемого механизма
«wakeup/keep alive», который позволяет моду
лю автоматически посылать серверу IP-пакет,
содержащий сообщение — уведомление в спе
циальном формате.

Такое сообщение содержит уникальный
идентификатор модема (at$mdmid), а заго
ловок IP-пакета несет информацию о новом
IP-адресе модема. В случае, если оператор ис
пользует трансляцию IP-адресов, полученное
сервером сообщение также несет информацию
об активном, видимом «снаружи», IP-адресе
модема. Механизм автоматических уведомле
ний гарантирует серверу наличие актуальной
информации об устройстве (уникальный иден
тификатор + IP-адрес в заголовке пакета).

Команда «AT$WAKEUP = ,
<re-try period>» позволяет задать параметры
«wakeup/keep alive» сообщений.

Для «wakeup mode» возможны следующие
значения:

  • 0— wakeup-сообщения не отсылаются;
  • 1 — посылать wakeup-сообщения при получении нового IP-адреса и через каждые
    <retry> period> минут;
  • 2— посылать сообщение при получении нового IP-адреса, используя параметры at$acktm,
    и через каждые <retry period> минут.

Интервал времени для «keep alive retry period
» может принимать значения от 0 до 3600.

Команда «AT$ACKTM=, » определяет временные параметры посылки сообщений. Максимальное количество
wakeup-сообщений, которое модем посылает
каждому из серверов (см. at$friend) при получении нового IP-адреса или по истечении интервала «keep alive», задается с помощью «max retry».

Еще одна значительная проблема, которая
хорошо знакома разработчикам, связана с управлением модемом по PPP-соединению.

Программное обеспечение Enabler позволяет осуществлять управление модулем посредством UDP API даже в том случае, если модем
не зарегистрирован в GPRS-сети (не назначен
внешний динамический IP-адрес).

Сопряжение с устройствами, не поддерживающими IP-протокол, реализуется с помощью команды «AT$HOSTIF=».

Для типа сопряжения возможны следующие значения;

  • 0 — подключенное устройство использует
    PPP;
  • 1 — включить UDP PAD (сборка-разборка
    пакетов);
  • 2— включить TCP PAD;
  • 3— локальное PPP-соединение без подключения к GRPS-сети;
  • 4 — используется для автоматического
    включения функции сборки-разборки пакетов.

В число наиболее значимых функций Enabler
входит возможность прозрачного подключения традиционных устройств типа счетчиков,
сенсоров охранных систем и разного рода измерительных модулей к GPRS (и далее, к IP)
сети. Как правило, подобные устройства подключаются к компьютеру через последовательный интерфейс, а функции управления (считывание-запись информации, передача в эфир)
возложены на ПО компьютера или внешнего
МК. Наличие в Enabler функции сборки-разборки пакетов (Packet Assembler/DisassemblerPAD) позволяет подключить модули Enfora напрямую к счетчику (сенсору и т. п.) и осуществлять сбор информации со счетчика и передачу по GRPS-сети без какой-либо дополнительной доработки измерительной схемы или
написания дополнительного внешнего ПО.
При этом модуль может быть сконфигурирован таким образом, чтобы при включении питания автоматически активировалась функция PAD, устройство регистрировалось в сети и на-
чинался сбор и передача информации с подключенного к модулю внешнего устройства.

Модуль Enabler позволяет отслеживать внешние события, такие, как, например, регистрация в сети, и вызывать определенного рода
стандартные отклики, такие, как, например, изменение состояния выходного интерфейса, посылка SMS-сообщения и др. Подобные функции обработки событий не требуют внешнего
контроллера и доступны через AT-команды.
Примером прикладного использования функционала обработки событий может быть часть
решения по контролю доступа в помещение,
когда сигнал, поступающий на I/O-интерфейс
модуля, вызывает автоматическую посылку
SMS-сообщения (или UDP-пакета по IP-сети).
В качестве другого примера можно привести
процедуру установления телефонного соединения на заданный номер и включение камеры слежения. Подобного рода действия могут
быть запрограммированы посредством использования AT-команд, а в дальнейшем при необходимости перепрограммированы, как на месте, так и удаленно, с доступом к модему
по GSM/GRPS-сети. Для конфигурирования
пользовательских I/O используется программный отладочный комплект Enfora Event Tools.
Никакого дополнительного оборудования для
этого не требуется. Перепрограммирование может быть выполнено на любом ПК с использованием стандартных программ ProCom Hyper
Terminal.

Заключение

Одним из наиболее весомых аргументов
в маркетинговом споре ведущих мировых
производителей модулей GSM/GPRS является тезис о прикладном программном обеспечении. Приведенный в данной статье обзор
показывает, что предлагаемые сегодня на мировом рынке модули с приложениями пользователя отличаются друг от друга в первую
очередь сложностью и детализацией.

Наиболее сложную оболочку для разработки приложений пользователя Open AT предлагает фирма Wavecom. Этот продукт предоставляет пользователям действительно неограниченные возможности для творчества.

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

Понятно, что средства для разработки приложений пользователя — это не более чем инструмент в руках разработчика. Поэтому конечный продукт зависит как от инструмента,
так и от «мастера».

Следует особо подчеркнуть, что в реклам-
ных компаниях фирм, предлагающих открытые платформы для создания собственных управляющих программ, ни слова не говорится
о надежности работы модулей с различными
видами приложений. Конечно, ни одна из рассмотренных выше фирм не несет никакой ответственности за работу модулей с программным обеспечением, разработанным самим
пользователем. Про какую-либо ответственность дистрибьюторов говорить вообще
не приходится. Поэтому вся ответственность
за надежность работы модулей с прикладным
ПО перекладывается на плечи самого разработчика конечного продукта.

Практика показывает, что разговоры с производителями модулей GSM/GPRS о гарантиях и надежности сводятся к требованиям заплатить дополнительные суммы за тестирование и поддержку подобного «самодельного»
программного обеспечения. Размеры таких
платежей определяются десятками тысяч долларов. Естественно, что такие расходы под силу только очень крупным производителям конечных изделий. Соответственно, чем сложнее «самодельная» программа, тем дороже
тестовые испытания, и наоборот.

Таким образом, открытые перепрограммируемые платформы являются своего рода
фильтром, позволяющим производителям и дистрибьюторам модулей GSM/GPRS выделить из числа своих клиентов наиболее крупных заказчиков и продолжать адресную дополнительную работу по отладке и обкатке
оборудования за дополнительные деньги.

Вывод отсюда напрашивается очень простой— объемы выпуска конечного продукта
будут определять выбор приложений пользователя. Если объемы производства оцениваются десятками тысяч, то окупится самая дорогая и сложная среда разработки прикладного программного обеспечения. Если объемы
производства небольшие, то и средства разработки рекомендуется выбирать соответствующие.

Литература

  1. В. Алексеев. GSM/GPRS-терминалы ведущих мировых производителей // Компоненты и Технологии. 2005. № 1.
  2. MUSE Platform, Getting Started with Open AT,
    Rev.003, WM_CUS_OAT_CI_001, 2003
  3. MUSE Platform, Tools Manual, Rev. 002.
    WM_TOO_OUT_UGD_001, 2003
  4. MUSE Platform, Tutorial, Rev.002.
    WM_sW_OAT_UGO_001, 2003
  5. M2mpower Application Guide, LZT 123 7588
    R2C,
  6. Sony Ericsson M2M POWER, M2M)
    Communications Simple Language Parser (SLP)
    Editor.
  7. GT47/GT48, Technical Description, Sony
    Ericsson Mobile Communications International,
    2003, Publication number: LZT 123 7607 R1A.
  8. TC45 JAVA User’s Guide, Siemens Cellular
    Engine, Version: 03, DocID
  9. В. Алексеев. Новый модуль TC-45 производства Siemens с открытой перепрограммируемой платформой на базе JAVA // Компоненты и технологии. 2004. № 7.
  10. GSM0000AN11, PAD Configuration and use,
    Rev. 1.04.
  11. GSM0000PB003MAN, Enfora Event Tools,
    Rev.1.00,User Manual.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *