Функция «Сборка-разборка пакетов Packet Assembler / Disassembler – PAD» в GSM / GPRS модулях фирмы ENFORA

№ 2’2008
PDF версия
В число наиболее важных опций Enabler входит функция сборки-разборки UDP/TCP пакетов (Packet Assembler/Disassembler, PAD), которая позволяет конвертировать, упаковывать и передавать данные с обычного последовательного интерфейса без специального протокола, необходимого внешнему устройству.

Основные принципы работы PAD

Функция сборки-разборки пакетов дает возможность прозрачного подключения внешних устройств типа счетчиков, сенсоров, датчиков и разного рода измерительных модулей к сети GPRS, а соответственно и к IP. Как правило, подобные устройства подключаются к компьютеру (контроллеру) через последовательный интерфейс. При этом функции управления, считывания, записи и передачи возложены на программное обеспечение (ПО) компьютера [1].

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

Таким образом, PAD — это способ передачи данных от устройства «за модемом» через сеть IP/GPRS/GSM и далее до получателя. Впервые в таком виде этот способ был реализован именно фирмой Enfora.

Существует два варианта связи между объектами и диспетчерским пунктом (ДП).

Первый вариант — это получение от оператора сотовой связи статических IP-адресов для всех объектов и ДП и осуществление связи в соответствии с этой адресацией.

Второй вариант не требует получения статических IP-адресов. В этом случае связь осуществляется через назначенные почтовые ящики в Интернете, для доступа к которым достаточно иметь временный (динамический) IP-адрес [2].

Почтовых ящиков при двухсторонней связи может быть два или более. Один почтовый ящик необходим для того, чтобы объекты «оставляли» в нем сообщения (отчеты), а ДП с заданным периодом эти отчеты из них «забирал». Второй почтовый ящик нужен для того, чтобы ДП «оставлял» там команды или сообщения для объектов, а каждый объект с заданным периодом должен просматривать этот почтовый ящик.

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

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

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

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

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

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

определяет уникальный идентификатор модема. Здесь modem identifier это 20-символьная строка идентификатора.

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

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

позволяет задать параметры сообщений wakeup/keep alive.

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

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

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

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

При использовании модема Enfora возможны два метода передачи данных: с использованием PAD и с использованием внешнего управляющего устройства (рис. 1).

Примеры передачи данных с помощью модулей (модемов) Enfora

 

Пример передачи данных в режиме PAD

В данном случае нет управляющего внешнего компьютера (ПК), и упаковку данных в “IP–GPRS” производит сам модем, находящийся в режиме PAD. Эта схема показана на рис. 1а. В модем через внешний интерфейс поступают некоторые данные (текст “ABC”). Например, в качестве внешнего устройства используется обычный компьютер, и данные, набранные в программе HyperTerminal, поступают через последовательный порт. При этом не нужен никакой специальный протокол обмена. Далее модем сам упаковывает данные в IP, затем в PPP, после чего передает их через соединение GPRS/GSM в сеть оператора сотовой связи. При этом PPP-соединение с сетью оператора устанавливает сам модем. Далее данные поступают через сеть оператора в Интернет. Следует подчеркнуть, что в Интернет передается и доходит до сервера IP-пакет, а данные (текст “ABC”) находятся внутри пакета. В приведенном примере режим PAD позволил модему обработать данные в соответствии со стандартными протоколами Интернет и передать их с обычного последовательного интерфейса без специального протокола, который обычно необходим внешнему устройству.

В этой схеме нужно обратить внимание на то, что при использовании обычной SIM-карты c динамическим IP-адресом в сети GPRS адрес, выдаваемый модему сетью оператора сотовой связи, является промежуточным. Это не тот адрес, с которым потом пакеты, посылаемые модемом, попадают в Интернет. В данном случае оператор использует так называемую трансляцию адресов (NAT). Поэтому необходимо учитывать перекодировку при извлечении данных, посланных модемом в режиме PAD. Лучшие результаты дают варианты со статическим IP-адресом.

Функция PAD позволяет собирать-разбирать пакеты UDP/TCP. Это может быть полезным в случае использования модема в режиме PAD TCP passive/server. В этом примере модем ожидает соединения с центрального сервера, а после установления TCP-соединения принимает и передает данные. Здесь компьютер (ПК), выполняющий роль центрального сервера, подключен к Интернету (например, по соединению dial-up через обычный проводной канал). Этот компьютер должен иметь статический IP-адрес. На удаленном пункте контроля, где нет проводной связи, находятся конечный прибор, контроллер (или ПК), к последовательному порту которого подключен модем Enfora, используемый в роли удаленного терминала. После того как модем успешно соединился с сетью оператора (то есть после установления PPP-соединения), на центральном сервере появляются отправленные модемом уведомления (wakeup-пакеты), содержимое которых позволяет определить присвоенный модему в сети GPRS динамический IP-адрес, а также индентификатор модема-отправителя. После этого с центрального сервера проверяется возможность доступа к модему и устанавливается TCP-соединение сервера с модемом.

Схема, показанная на рис. 1б, иллюстрирует другой, «классический» случай передачи данных без использования режима PAD. Здесь обработка данных, упаковка и передача IP-трафика через GRPS-сеть инициируется внешним компьютером (ПК). В данном случае PPP-соединение с сетью оператора сотовой связи устанавливает внешний управляющий компьютер, подключенный к модему. При этом сам модем используется исключительно в виде радио-интерфейса, через который реализуется подключение компьютера к сети оператора.

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

Модули Enfora нельзя программировать так же глубоко, как, например, модули Wavecom (Open AT). Вместо этого Enfora предлагает некий стандартный набор механизмов для передачи данных по TCP/IP. В принципе, опытный пользователь сам может написать программу, подобную PAD, для внешнего управляющего контроллера. Альтернативный вариант — воспользоваться продукцией Enfora, если она подходит. Необходимо подчеркнуть, что без функционала, подобного PAD, обойтись нельзя — либо он отрабатывается на внешнем ПК (МК), который подключен к простейшему GSM/GPRS-модулю (типа Siemens MC35i-T), либо используется готовый продукт типа Enfora.

Литература
  1. GSM0000AN011, PAD Configuration and use, Rev. 1.04. Enfora.
  2. GSM0000AN009 Dynamic IP Assignment Support, Enfora.
  3. GSM0000AN012 Network Transparency Configuration for PAD, Enfora.
  4. GSM0000AN017 SMTP Mail Access Via TCP PAD, Enfora.
  5. GSM0000AN018 Query USNO NTP Via TCP PAD, Enfora.
  6. Application Note GSM0308AN002. Enfora Enabler-III +++/PAD Disconnect, Enfora.

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

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