Jump to content

    
Sign in to follow this  
ДЕЙЛ

SIM800 зависает после ответа ERROR

Recommended Posts

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

Последовательность такая:

1. Инициализация модуля

2. Активация GPRS,

 

следующие два действия выполняются в цикле:

3. Передача данных на сервер (100-200 байт раз в полминуты)

4. В течение всего оставшегося времени отправка АТ-команд без задержек (запрос статусов, температуры, напряжения питания)

 

Если между АТ-командами запроса статусов делать задержку 200-300 мс, то ничего не зависает, а если без задержек, то после какой-нибудь команды приходит ответ ERROR, после чего отправляю следующую команду и тут модуль уходит в себя, отказываясь совсем отвечать до перезапуска.

 

АТ-команды отправлял по отдельности и все вместе, как на скрине. Эффект один и тот же. Что нужно делать после ответа ERROR, не прибегая к перезапуску? Какую команду отправить? Пнуть модуль можно только программно по UART.

 

post-79085-1479906198_thumb.jpg

Share this post


Link to post
Share on other sites

Ситуацию сгустил для наглядности, в реальности так не делаю, но приходится перезапускать модуль 2-3 раза в сутки. Догадываюсь, что модуль зависает именно после ответа ERROR тёмной ночью, когда никто не видит, чем занят МК.

Edited by ДЕЙЛ

Share this post


Link to post
Share on other sites
Если между АТ-командами запроса статусов делать задержку 200-300 мс, то ничего не зависает, а если без задержек, то после какой-нибудь команды приходит ответ ERROR, после чего отправляю следующую команду и тут модуль уходит в себя, отказываясь совсем отвечать до перезапуска.

Очень интересно!

А вот "отказывается отвечать" это как? Только на эту команду? Или последующие повторы? На скрине только одна команда.

Парсер АТ внутри модема очень странный. Может, подвисает, после ERROR и некоторое время не воспринимает вход....

Share this post


Link to post
Share on other sites

После ERROR не отвечает ни на одну команду, даже если подождать 30-60 секунд. Только перезапуск помогает. Лог весь на скрине, дальше только безуспешные попытки отправить разные команды, на которые абсолютно никакого ответа нет.

Share this post


Link to post
Share on other sites
После ERROR не отвечает ни на одну команду, даже если подождать 30-60 секунд. Только перезапуск помогает. Лог весь на скрине, дальше только безуспешные попытки отправить разные команды, на которые абсолютно никакого ответа нет.

Модуль не вырубается случаем? Нога STATUS на модуле в 1?

Модуль вообще откуда, какой? Прошивка какая? Мож там EAT какое-нидь крутится дополнительно.

Share this post


Link to post
Share on other sites
Модуль не вырубается случаем? Нога STATUS на модуле в 1?

Модуль вообще откуда, какой? Прошивка какая? Мож там EAT какое-нидь крутится дополнительно.

 

на ноге status единица, версия прошивки на скрине (1418B02SIM800C32_BT). Светодиод статуса связи продолжает моргать без изменения частоты, но при попытке позвонить с телефона на номер симки в модеме оператор говорит, что абонент не в сети.

post-79085-1479978470_thumb.jpg

Share this post


Link to post
Share on other sites

>>>> 1418B02SIM800C32_BT

 

1. Для начала обновиться до 1418B04SIM800C32_BT или 1418B05SIM800C32_BT_EAT

 

2. не пользоваться пулеметными лентами команд. дали одну команду, дождались ответа и только потом следующую

 

>>> но при попытке позвонить с телефона на номер симки в модеме оператор говорит, что абонент не в сети.

 

Карточка не отваливается? Очень похоже. Модуль имеет шанс подвиснуть в GSM стеке если симка отвалилась во время обмена.

Share this post


Link to post
Share on other sites

Обновить удалённо нет возможности, следующая команда отправляется строго после приёма ответа на предыдущую. Карточка не отваливается, т.к. после перезапуска модуля программой прибор успешно выходит на связь с сервером без физического воздействия с моей стороны. Даже если бы отвалилась SIM-карта, то какие-нибудь ответы на команды модуль давал бы. Пока от зависаний помогает способ применения задержки перед отправкой следующей команды после ответа на предыдущую.

 

 

Хотя с задержками всё же завис, но не через три минуты, а почти через час. Т.е. в обычном режиме таких зависаний должно быть не 3-4 в сутки, а раз в неделю предположительно.

Share this post


Link to post
Share on other sites
Карточка не отваливается, т.к. после перезапуска модуля программой прибор успешно выходит на связь с сервером без физического воздействия с моей стороны.

Отваливается в результате появления на её цепях питания наводок вызванных протеканием по массе платы импульсов собственного потребления модуля.

 

Share this post


Link to post
Share on other sites
Обновить удалённо нет возможности, следующая команда отправляется строго после приёма ответа на предыдущую. Карточка не отваливается, т.к. после перезапуска модуля программой прибор успешно выходит на связь с сервером без физического воздействия с моей стороны. Даже если бы отвалилась SIM-карта, то какие-нибудь ответы на команды модуль давал бы. Пока от зависаний помогает способ применения задержки перед отправкой следующей команды после ответа на предыдущую.

 

 

Хотя с задержками всё же завис, но не через три минуты, а почти через час. Т.е. в обычном режиме таких зависаний должно быть не 3-4 в сутки, а раз в неделю предположительно.

На сколько помню, SIMCOM в последних версиях прошивок исправил много багов, приводящих к перезагрузке модуля. Например, при переходе в роуминг. Так что, попробовать обновить точно стоит.

Еще такое предположение: может быть неправильно разведен UART (без согласования уровней). Из-за чего его переглючивает (у меня модуль SIM5300 вообще перезагружался из-за того, что на DTR случайно, через подтяжку в микроконтроллере, подавалось 3В).

Как реализовано управление энергопотреблением модуля? Используется ли сон?

 

И лог инициализации модуля фстудию, пожалуйста.

Share this post


Link to post
Share on other sites

>>>Обновить удалённо нет возможности

 

А прийдется. Так как уже в B03 было несколько исправлений для - Fixed the bug that UART will be blocked.

Потому всегда и всем говорю - предусматривайте в изделиях возможность обновить софт модуля.

Хоть через Ж, но это должно быть предусмотренно.

Share this post


Link to post
Share on other sites
>>>Обновить удалённо нет возможности

 

А прийдется. Так как уже в B03 было несколько исправлений для - Fixed the bug that UART will be blocked.

Потому всегда и всем говорю - предусматривайте в изделиях возможность обновить софт модуля.

Хоть через Ж, но это должно быть предусмотренно.

Мы не ищем лёгких путей.

Где можно почитать про баги и исправления? Т.е. поподробнее про это Fixed the bug that UART will be blocked

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this