Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемма при "подъеме" GPRS-соединения на SIM900
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
BAG/ULG
Доброго времени суток! Разрабатываю терминал системы мониторинга транспорта. Для передачи данных на сервер использую 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. Есть предположение, что перед очередной попыткой активирования модуля, было неверно произведено его деактивирование и при последующих попытках сеть просто "банит" попытки повторного входа в сеть "двойника". Хотелось бы услышать мнение профессионалов.
Aner
Прошивка какая у SIM900?
smalcom
без антенны пробовали? количество ошибок при этом увеличивается?
aleksandr-zh
может чуток не в тему:
какой оператор? на разных пробовали? а то я мучился, а оказалось, что все беды - от МТС (мине трохи слышно sm.gif
пауза между включениями GPRS и регистрацией модуля в сети - больше 9 секунд?
Pavel☺
Цитата(BAG/ULG @ Jan 20 2015, 22:57) *
Так вот, при таком алгоритме активирования, иногда происходит зависание на п 28. Есть предположение, что перед очередной попыткой активирования модуля, было неверно произведено его деактивирование и при последующих попытках сеть просто "банит" попытки повторного входа в сеть "двойника". Хотелось бы услышать мнение профессионалов.

День добрый!
Предлагаю не гадать, а снять логи через DEBUG-порт.
Для этого напишите мне chpa<с06aka>mt-system.ru. Вышлю инструкции и описание, как это сделать.
BAG/ULG
Версия прошивки: 1137B11SIM900M64_ST
RadikX
Желательно делать сначала CIPSHUT, чтобы гарантировано перейти в состояние IP INITIAL (В SIM900B это был обязательный шаг). AT+CIICR должен выполняться только из состояния IP START. Состояние возвращается командой СIPSTATUS. Иногда в это время возвращается PDP DEACT - надо закрывать сессию и делать все сначала.
Цырен.
Шаг 21 не желателен. Внтуренний стек сам выставит единицу после того как получит аттач. надо поставить на цикл AT+CGATT? Если в течении долгого времени не будет аттача, то подаем AT+CFUN=0 и AT+CFUN=1. Слушаем AT+CGATT? и идем дальше.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.