Перейти к содержанию
    

Проблемма при "подъеме" GPRS-соединения на SIM900

Доброго времени суток! Разрабатываю терминал системы мониторинга транспорта. Для передачи данных на сервер использую SIM900. Столкнулся с проблемой, что иногда SIM900 не может "поднять" GPRS-соединение с сервером. Предпологаю, что использую не совсем верные процедуры открытия и закрытия GPRS-сессии. Использую следующие алгоритмы:

 

Активирование SIM900 и "подъем" GPRS-сессии

----------------------------------------------

1) Если STATUS = 0 (модуль выключен), то переход к п. 7

2) GSM POWERKEY = 0

3) Пауза 1,5 с

4) GSM POWERKEY = 1

5) Ждем, установления STATUS = 0

6) Пауза 1 с

7) Ждем, пока истечет таймаут между попытками активирования SIM900 (1 минута)

8) GSM POWERKEY = 0

9) Пауза 1,5 с

10) GSM POWERKEY = 1

11) Пауза 5 с (чтобы успела придти строка "IIII")

12) Посылаем команду "AT+CREG=0"

13) Ждем ответ "OK"

14) Посылаем команду "ATE0"

15) Ждем ответ "OK"

16) Посылаем команду "AT+CSCLK=0"

17) Ждем ответ "OK"

18) Пауза 1 с

19) Посылаем команду "AT+CREG?"

20) Если ответ не "+CREG: 0,1", то переход к п. 18

21) Посылаем команду "AT+CGATT=1"

22) Ждем ответ "OK"

23) Пауза 1 с

24) Посылаем команду "AT+CSTT=APN, USERNAME, PASSWORD"

25) Ждем ответ "OK"

26) Пауза 1 с

27) Посылаем команду "AT+CIICR"

28) Ждем ответ "OK" (здесь часто зависает)

29) Пауза 1 с

30) Посылаем команду "AT+CIFSR"

31) Если от SIM900 пришел ответ "\r\n\r\n IP-адрес \r\n", то активирование SIM900 успешно

 

Деактивирование SIM900

--------------------------

1) Если STATUS = 0 (модуль выключен), то переход к п.

2) GSM POWERKEY = 0

3) Пауза 1,5 с

4) GSM POWERKEY = 1

5) Ждем, установления STATUS = 0

6) Деактивирование SIM900 успешно

 

Так вот, при таком алгоритме активирования, иногда происходит зависание на п 28. Есть предположение, что перед очередной попыткой активирования модуля, было неверно произведено его деактивирование и при последующих попытках сеть просто "банит" попытки повторного входа в сеть "двойника". Хотелось бы услышать мнение профессионалов.

Изменено пользователем BAG/ULG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может чуток не в тему:

какой оператор? на разных пробовали? а то я мучился, а оказалось, что все беды - от МТС (мине трохи слышно :)

пауза между включениями GPRS и регистрацией модуля в сети - больше 9 секунд?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вот, при таком алгоритме активирования, иногда происходит зависание на п 28. Есть предположение, что перед очередной попыткой активирования модуля, было неверно произведено его деактивирование и при последующих попытках сеть просто "банит" попытки повторного входа в сеть "двойника". Хотелось бы услышать мнение профессионалов.

День добрый!

Предлагаю не гадать, а снять логи через DEBUG-порт.

Для этого напишите мне chpa<с06aka>mt-system.ru. Вышлю инструкции и описание, как это сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Желательно делать сначала CIPSHUT, чтобы гарантировано перейти в состояние IP INITIAL (В SIM900B это был обязательный шаг). AT+CIICR должен выполняться только из состояния IP START. Состояние возвращается командой СIPSTATUS. Иногда в это время возвращается PDP DEACT - надо закрывать сессию и делать все сначала.

Изменено пользователем RadikX

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шаг 21 не желателен. Внтуренний стек сам выставит единицу после того как получит аттач. надо поставить на цикл AT+CGATT? Если в течении долгого времени не будет аттача, то подаем AT+CFUN=0 и AT+CFUN=1. Слушаем AT+CGATT? и идем дальше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...