Создать сайт
Применение GSM-модема GM862 совместно с Atmega64. Продолжение.. Раздел: Периферия.

Eugene's MCU

Суббота, 30.06.2012, 09:16

Главная | | Мой профиль | Выход | RSS
Меню сайта
Категории каталога
Рекламный блок





Рекомендовать этот сайт:

Главная » Статьи » Применения » Периферия


Применение GSM-модема GM862 совместно с Atmega64. Продолжение.

       Включение, начальная инициализация и регистрация модема в сети

       После подачи питания и запуска микроконтроллера необходимо включить модуль, удерживая вход "ON_OFF” в нулевом уровне в течение не менее одной секунды. Далее, убедившись, что вывод "PWRMON” модуля установился в состояние логической единицы, что говорит об успешном включении, можно приступить к начальной инициализации настроек модема. Данная статья не претендует на освещение всех настроек GM862, которых достаточно много. В программе применялась настройка модема под конкретное применение и разумное упрощение процесса обмена.
       По умолчанию модуль начинает каждый свой ответ с повтора воспринятой AT-команды, этот режим называется режимом командного эхо. Для снижения потока данных, а значит и количества прерываний в программе, имеется возможность отправки команды отмены данного режима - ATE0. После приёма команды ATE0, модем в первый и последний раз разместит в начале ответа принятую команду:

       AT-команда:       Ответ модема:
       ATE0<CR>         ATE0<CR><LF>ОК<CR><LF>

       Перейти к более простому (цифровому) формату ответов, при котором вместо кодовых сочетаний символов "OK”, "ERROR”, "CONNECT” и т. д. будут передаваться их числовые коды в ASCII-представлении  (numeric code), можно при помощи команды ATV0. Тогда ответы модема будут выглядеть как <numeric code><CR> - в случае простого ответа, и <text><CR><LF> - в случае ответа, содержащего текстовую информацию, например, о состоянии тех или иных запрашиваемых параметров.
       В наборе модуля присутствует ряд команд позволяющих настроить параметры предстоящего обмена с удалённым узлом, например: 
       - AT#DSTO=5<CR> - установить минимальное время ожидания перед отправкой данных из передающего буфера в сеть, в сотнях миллисекунд;
       - AT#SKTTO=0<CR> - отменить таймаут по неактивности обмена, т. е. не разрывать соединение в случае временного прекращения обмена данными. Все эти, в общем-то, необязательные команды подробно описаны в руководстве "AT Commands Reference Guide” и решение об их применении зависит от конкретной задачи стоящей перед разработчиком.
  
       В то время как мы занимаемся инициализацией параметров, модем проходит процедуру регистрации в GSM-сети. Этот процесс начинается автоматически после включения модуля и продолжается в среднем 10-15 секунд. Для контроля над ходом регистрации в сети предназначена команда AT+CREG?<CR>, ответом на которую будет строка вида:
       +CREG: 0,<stat><CR><LF>0<CR>; 
       где: stat=1 – успешная регистрация в домашней GSM-сети, stat=2, нет регистрации, идёт поиск оператора. На шине обмена с модемом это выглядит следующим образом:

       AT-команда:                 Ответ модема:
       AT+CREG? <CR>        +CREG: 0,2<CR><LF>0<CR>
       AT+CREG? <CR>        +CREG: 0,2<CR><LF>0<CR>
       AT+CREG? <CR>        +CREG: 0,2<CR><LF>0<CR>
       …                               …
       AT+CREG? <CR>        +CREG: 0,1<CR><LF>0<CR>

       Вход в GPRS-канал и соединение с удалённым сервером

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

       1. PDP-контекст – набор параметров, организованных в виде единой AT-команды, определяющих тип соединения и адрес точки входа в Интернет:
       AT+CGDCONT=1,"<PDP_type> ","<PDP_addr>";
       где: <PDP_type> - тип соединения (IP), <PDP_addr> - точка входа в Интернет.

       Для конкретного оператора сотовой связи значения параметров <PDP_type> и <PDP_addr> можно найти в руководстве по использованию мобильного телефона в качестве GPRS-модема на его официальном сайте, где данная AT-команда приводится как "строка инициализации модема”. При использовании оператора МТС команда в виде строковой константы языка Си будет выглядеть так:

       "AT+CGDCONT=1,\"IP\",\"internet.mts.ru\"\r".

       2. Имя пользователя и пароль также предаются отдельными командами AT#USERID и AT#PASSW соответственно. В программе для МТС это будут строки:

       "AT#USERID=\"mts\"\r"
       "AT#PASSW=\"mts\"\r"

       Используя директивы условной компиляции языка Си, можно заложить в программу поддержку нескольких операторов связи, например при определении массива отправляемых команд:

       #ifdef BeeLine
       {"AT+CGDCONT=1,\"IP\",\"internet.beeline.ru\"\r"},
       {"AT#USERID=\"beeline\"\r"}, 
       {"AT#PASSW=\"beeline\"\r"}, 
       #endif  

       Передачу модему указанных параметров необходимо завершить командой непосредственного входа в GPRS - AT#GPRS=1. На шине UART вся процедура выглядит следующим образом:

       

       где: 170.24.90.159 – динамический IP-адрес, назначенный оператором (признак успешного входа в GPSR).

       Читать дальше


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

Категория: Периферия | Добавил: eugenemcu (08.02.2009) | Автор:

Просмотров: 5038 | Рейтинг: 5.0/1 |
Статистика

Наш магазин




Какую среду разработки Вы используете?

[ Результаты · Архив опросов ]
Всего ответов: 918



Им нужна Ваша помощь: