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

Eugene's MCU

Воскресенье, 01.07.2012, 06:26

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





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

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


Применение GSM-модема GM862 совместно с Atmega64. Окончание.

       Соединение с удалённым узлом и обмен данными

       Итак, модуль успешно зарегистрировался в сети, активировал режим GPRS. Теперь можно перейти к завершающей стадии работы – соединению с сервером и обмену данными. Для имитации работы удалённого TCP-сервера используем приложение «Hercules». Установив программу на ПК имеющем прямое подключение к Интернет (без прокси-сервера), в закладке "TCP Server” необходимо указать любой незадействованный в ОС номер порта для приёма данных, например 1095. Поля ”TEA Key” должны остаться пустыми, а режим авторизации клиентом отключенным: 

       

       После нажатия на кнопку "Listen” в окне "Received data” приложение будет отображать все данные, поступившие на порт 1095. Ответить подключившемуся модему можно данными, набранными в поле "Send” нажав на одноименную кнопку. Замечание: чтобы не прождать данных с модуля вечно, отключите на компьютере все «файерволы» и «антихакеры» или создайте соответствующие правила для выбранного номера порта.
       Команда "AT#SKTD” (Socket Dial) предназначена для соединения с произвольным узлом в сети Интернет. В составе команды заложены два главных параметра соединения: IP-адрес и номер порта для приёма данных соответствующим приложением. Команда на соединение с портом 1095 сервера с IP-адресом 123.456.654.321 в виде строковой константы на Си должна выглядеть так: 

       

       Ответ 1<CR>, помимо информации об успешном соединении, является признаком выхода модема из режима AT. Отныне любые передаваемые модулю AT-команды эффекта не возымеют и будут "проваливаться” прямо в приёмный буфер сервера. Замечание: в модуле реализован встроенный TCP/IP-стек, это избавляет от необходимости как бы то ни было форматировать отправляемые данные. Всё, что будет передано модулю через UART, как оно есть, поступит в приёмный буфер сервера, учитывая возможные временные задержки на передачу данных в сети GPRS или установленный в модеме таймаут на передачу.

   Очень важно в потоке принимаемых данных не пропустить сообщение 3<CR> (не забываем 3 в ASCII-виде, т.е. 0x33), которое уведомляет нас о разрыве установленной связи с сервером. Этот ответ, как и 1<CR>, является более чем просто ответом, это признак того, что модем снова вернулся в AT-режим. Текстовый эквивалент сообщения о потере связи - "NO CARRIER".

       Поскольку  сотовые операторы на общих основаниях выделяют модулям только динамические IP-адреса, то устанавливать соединение должно само модемное устройство. Если же по каким-то причинам и сервер лишится своего статического адреса, который использовали клиенты для установки соединения, передать новый "IP" можно при помощи SMS. Для чтения SMS-сообщений принятых модулем предусмотрены следующие AT-команды:

  AT+CMGF=1       - текстовый формат чтения принятых SMS;
  AT+CMGL="ALL" - считать из буфера все принятые на данный момент сообщения;
  AT+CMGD=1,4    - удалить все SMS из приёмного буфера.

 


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

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

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

Наш магазин




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

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



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