Jump to content

    

SIM900R перестает отвечать во время соединения с GPRS

Добрый день!

 

SIM900R внезапно начал замолкать при попытке установления GPRS соединения, хотя до этого работал нормально. Когда модуль не отвечает, светодиоды STATUS и NETLIGHT работают штатно, после перезагрузки модуль успешно соединяется с GPRS и начинает обмен данными. Модуль замолкает после комманды AT+CSTT

 

Напряжение питания GSM 4.0В, питание микроконтроллера 2.9В.

 

Помогите разобраться, где у меня косяк, лог прилагаю.

post-40146-1411379970_thumb.jpg

post-40146-1411380116_thumb.png

Edited by mich.bil

Share this post


Link to post
Share on other sites

Тоже заметил подобное поведение, правда на обычном сим900.

Иногда происходит уже в процессе обмена, а иногда в процессе установки жпрс сессии/подключения.

Фантомную запитку не нашел.

Помогает перезагрузка с выключением питания.

Share this post


Link to post
Share on other sites

Нигде последовательность команд не перепутали?

 

У меня на тестовом скрипте из апнотеса таких проблем нет.

 

И еще - при проблеме с командами, пожалуйста называйте версию фирмваре.

Share this post


Link to post
Share on other sites

Версия:

1137B01SIM900R64_ST_ENHANCE_EAT

 

Убрал проверку счета при загрузке, и система начала стартовать с каждого раза... возвращаю проверку - начинает виснуть... Какие особенности могут быть, связанные с USSD запросом?

Share this post


Link to post
Share on other sites
SIM900R внезапно начал замолкать при попытке установления GPRS соединения

попробуйте паузы между командами увеличить. был такой прикол, если слишком короткая пауза - менее 0,6с, или отправить следующий запрос до получения ответа или заданного интервала, который может быть до 60с на некторые команды, зависает наглухо. решил таким образом - пауза после получения ответа до следующей команды - 0,5с, время на ожидание ответа обычное 5с, и до 60с на отдельные команды.

Share this post


Link to post
Share on other sites

Да, такое возможно. До получения ответа следующую команду лучше не давать - есть случаи когда последующая отменяет предыдущую, а OS модуля путается в ответах.

Это происходит когда обе команды - "операторозависимые" - особенность стека GSM.

Share this post


Link to post
Share on other sites

Проблема именно с проверкой счета. Какую задержку надо ставить после получения USSD ответа?

 

Когда я удаляю 2 последние строчки, система начинает запускаться абсолютно нормально.

 

Serial->println("Forcing echo off");

gsm.SendATCmdWaitResp("ATE0", 500, 50, "OK", 5);

delay(1000);

gsm.SendCmdWaitSTR("ATD*111#",13000);

delay(10000);

 

Поднял задержку после получения USSD до 20 секунд, стало гораздо лучше....

Share this post


Link to post
Share on other sites
Поднял задержку после получения USSD до 20 секунд, стало гораздо лучше....
лучше увеличьте время ожидания ответа до 60с, а задержку ПОСЛЕ получения ответа достаточно 1с.

хотя могу ошибаться, я проверкой баланса не интересовался

Share this post


Link to post
Share on other sites

Возможно стоит не здесь вопрос задать, но похожая проблема.

Модуль WS6318. Обмен по UART. Шлю команду "АТ", принимаю ответ "ОК" и сразу же шлю следующую команду не делая паузы, её уже не принимает, терминал показывает идёт передача с ошибками. Если поставить паузу 2мс между приёмом и следующей передачей - всё корректно. Подскажите как обычно это решается какую паузу делают или есть другие варианты. В документации на модуль не нашёл рекомендаций как правильно работать по UART.

Share this post


Link to post
Share on other sites

Нечто подобное было и с SIM900 - судя по всему, это проблемы автодетекта скорости. Попробуйте запретить автодетект, зафиксировав скорость обмена с модулем.

Share this post


Link to post
Share on other sites

Дело в том, что автодетект не используется, скорсть задана вручную 115200.

Share this post


Link to post
Share on other sites

Я использую такую строку для проверки счета "AT+CUSD=1,\"*111#\",15\r"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this