bagulg 0 20 января, 2015 Опубликовано 20 января, 2015 (изменено) · Жалоба Доброго времени суток! Разрабатываю терминал системы мониторинга транспорта. Для передачи данных на сервер использую 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. Есть предположение, что перед очередной попыткой активирования модуля, было неверно произведено его деактивирование и при последующих попытках сеть просто "банит" попытки повторного входа в сеть "двойника". Хотелось бы услышать мнение профессионалов. Изменено 20 января, 2015 пользователем BAG/ULG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 4 20 января, 2015 Опубликовано 20 января, 2015 · Жалоба Прошивка какая у SIM900? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 20 января, 2015 Опубликовано 20 января, 2015 · Жалоба без антенны пробовали? количество ошибок при этом увеличивается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aleksandr-zh 4 21 января, 2015 Опубликовано 21 января, 2015 · Жалоба может чуток не в тему: какой оператор? на разных пробовали? а то я мучился, а оказалось, что все беды - от МТС (мине трохи слышно :) пауза между включениями GPRS и регистрацией модуля в сети - больше 9 секунд? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel☺ 0 21 января, 2015 Опубликовано 21 января, 2015 · Жалоба Так вот, при таком алгоритме активирования, иногда происходит зависание на п 28. Есть предположение, что перед очередной попыткой активирования модуля, было неверно произведено его деактивирование и при последующих попытках сеть просто "банит" попытки повторного входа в сеть "двойника". Хотелось бы услышать мнение профессионалов. День добрый! Предлагаю не гадать, а снять логи через DEBUG-порт. Для этого напишите мне chpa<с06aka>mt-system.ru. Вышлю инструкции и описание, как это сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bagulg 0 22 января, 2015 Опубликовано 22 января, 2015 · Жалоба Версия прошивки: 1137B11SIM900M64_ST Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Radik_1983 0 6 марта, 2015 Опубликовано 6 марта, 2015 (изменено) · Жалоба Желательно делать сначала CIPSHUT, чтобы гарантировано перейти в состояние IP INITIAL (В SIM900B это был обязательный шаг). AT+CIICR должен выполняться только из состояния IP START. Состояние возвращается командой СIPSTATUS. Иногда в это время возвращается PDP DEACT - надо закрывать сессию и делать все сначала. Изменено 6 марта, 2015 пользователем RadikX Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batuev.b 0 6 марта, 2015 Опубликовано 6 марта, 2015 · Жалоба Шаг 21 не желателен. Внтуренний стек сам выставит единицу после того как получит аттач. надо поставить на цикл AT+CGATT? Если в течении долгого времени не будет аттача, то подаем AT+CFUN=0 и AT+CFUN=1. Слушаем AT+CGATT? и идем дальше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться