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

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

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

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

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

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

 

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

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

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

 

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

 

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

 

post-79085-1479906198_thumb.jpg

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


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

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

Изменено пользователем ДЕЙЛ

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


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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

 

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

post-79085-1479978470_thumb.jpg

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


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

>>>> 1418B02SIM800C32_BT

 

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

 

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

 

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

 

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

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


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

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

 

 

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

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


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

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

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

 

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


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

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

 

 

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

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

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

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

 

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

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


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

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

 

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

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

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

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


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

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

 

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

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

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

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

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

 

 

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


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

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

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

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

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

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

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

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

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

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