Работа GSM/GPRS терминалов Enfora в непрерывном режиме без выключения питания

№ 1’2006
PDF версия
Наибольшее число нареканий пользователей на работу GSM/GPRS-терминалов связано с потерей связи во время GSM/GPRS-соединения.

Работа GSM/GPRS терминалов Enfora в непрерывном режиме без выключения питания

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

 

Автоматическая регистрация в сети GSM и GPRS

Автоматическая регистрация в сети GSM и GPRS обеспечивается соответственно командами:

  • AT$AREG=1 (авторегистрация в GSM);
  • AT%CGAATT=0,1 (авторегистрация в GPRS)

 

Мониторинг соединения через GSM/GPRS/IP-сеть и его активное восстановление

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

Специальная команда $NETMON предназначена для мониторинга соединения через GSM/GPRS/IP и его активного восстановления при разрыве. При отсутствии трафика терминал будет посылать ping-пакет через заданный интервал времени на заданные IP-адреса ($Friend). Посылки ping-пакетов будут продолжаться до тех пор, пока какой-нибудь из указанных серверов не окажется в режиме online и не ответит на запрос.

 

Формат команды

AT$NETMON= <net_unavail_min>,<reset_cnt>,<ping check>,<rst timers>

Первый параметр <net_unavail_min> определяет время в минутах, в течение которого сеть должна оставаться недоступной до того, как будет предпринята попытка установить новое соединение, в то время как старое соединение еще активно.

Если параметр равен нулю, то это значит, что соединение никогда не будет реализовано командой $NETMON.

Этот параметр может принимать значение в диапазоне от 5 до 1440 и не может иметь значение, равное 1.

Второй параметр <reset_cnt> определяет количество соединений, реализованных перед тем, как терминал сотрет в памяти временные адреса сети и предпримет попытку установления нового соединения.

Если параметр равен нулю, то соединение никогда не будет реализовано командой $NETMON. Третий параметр <ping check> определяет интервал в минутах между ping-пакетами, которые терминал шлет по заданным командой $FRIEND IP-адресам известных серверов.

В любом случае через n-минут, при отсутствии трафика через него, терминал будет посылать ping-пакеты сначала на первый заданный IP-адрес, потом на все остальные, чтобы проверить есть связь через GSM/GPRS/IP-сеть или нет.

Четвертый параметр <rst timer> задает режим работы мониторинга IP-сети и может принимать только два значения: 0 и 1.

Возможны два режима работы.

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

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

Второй режим задается значением, равным единице. В этом случае, при проявлении активности со стороны COM-порта, при мониторинге IP-сети таймер провалов сети не сбрасывается.

Следует учитывать, что обычно при зависании терминалов удаленное подключение не прерывается. В окне состояния видна информация, показывающая, что пакеты отправляются. Однако при этом нет ответов. Таким образом, активность со стороны последовательного порта обычно присутствует. Поэтому нецелесообразно значение четвертого параметра выбирать равным нулю.

 

Пример настройки терминала для режима активного восстановления соединения через GSM/GPRS/IP-сеть

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

 

IP-адрес контрольного сервера

AT$FRIEND=01, 1, “213.180.204.011”

Эта команда задает IP-адрес контрольного сервера.

В данном случае это адрес www.yandex.ru

 

Активное восстановление соединения

AT$NETMON=5,1,5,1

Эта команда заставляет терминал посылать каждые пять минут ping-пакеты на известные IP-адреса, заданные приведенной выше командой $FRIEND, для контроля состояния GPRS-соединения. При отсутствии соединения терминал начнет процедуру его активного восстановления. Количество реализованных ранее соединений, до попытки установления нового соединения, задано равным одному. Интервал в минутах между ping-пакетами, которые терминал должен посылать сначала на первый заданный IP-адрес, потом последовательно на все остальные, задано равным пяти минутам. В данной настройке при мониторинге IP-сети таймер провалов сети не сбрасывается.

Указанные параметры «5,1,5,1» не являются жестко заданными. Они определяются в зависимости от конкретной задачи пользователя. Рекомендуется подбирать их значения опытным путем.

При отсутствии трафика через терминал он будет посылать ping-пакет через заданный интервал времени на заданные IP-адреса (friend). Посылки ping-пакетов будут продолжаться до тех пор, пока какой-нибудь из указанных серверов не окажется в режиме online и не ответит.

Заводскую настройку можно вернуть командой AT$NETMON=0, 0, 0, 0

 

Перезагрузка терминала с помощью АТ-команды

Перезагрузка терминала осуществляется с помощью специальной команды AT$RESET.

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

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

 

Автоматическая перезагрузка терминала через заданные интервалы времени

Терминал можно запрограммировать для автоматического перезапуска через определенные интервалы времени. Это можно сделать, используя опцию Event Tools [2] с помощью перечисленных ниже АТ-команд.

Интервал перезапуска задается командой:

AT$EVTIM1=3600.

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

Формат команды:

AT$EVTIM#=<rate>,

где <rate> — интервал в секундах между событиями (от 0 до 604 800 с); # — номер события.

Примечание: При использовании команды AT$WAKEUP нельзя использовать AT$EVTIM4.

Входящие события определяются как:

AT$EVENT=5,1,12,1,1

Исходящие события определяются как:

AT$EVENT=5,3,44,1,0

Установка перезапуска

AT$STOATEV=1,at$reset

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

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

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

Литература
  1. Enfora Enabler-IIG, GSM/GPRS Radio Modem, AT Command Set Reference, Version 1.02
  2. GSM0000PB003MAN, Enfora Event Tools, Rev.1.00,User Manual.

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

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