|
SIM900 AT+CNTP |
|
|
|
Jan 25 2016, 13:08
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 10-12-05
Пользователь №: 12 076

|
Здравствуйте, Наблюдаю падение программы Embedded AT при выполнении следующих команд: Код ... 12:56:45 a>m: AT+CDEVICE? 12:56:45 a<m: Device Name:ST_M36W0R6050U 12:56:45 a<m: OK 12:56:45 a>m: AT+CGMR 12:56:45 a<m: Revision:1137B04SIM900M64_ST_DTMF_JD_EAT 12:56:45 a<m: OK ... 12:56:58 a>m: AT+SAPBR=3,1,"Contype","GPRS" 12:56:58 a<m: OK 12:56:58 a>m: AT+SAPBR=3,1,"APN","internet" 12:56:58 a<m: OK ... 12:56:58 a>m: AT+SAPBR=1,1 12:56:58 a<m: OK
12:56:59 a>m: AT+CNTP="pool.ntp.org",8,1,1 12:56:59 a<m: OK 12:56:59 a>m: AT+CNTP 12:56:59 a<m: OK IIIIyyyy [reboot] Кто нибудь сталкивался с подобным? Это известная проблема? Спасибо.
|
|
|
|
|
 |
Ответов
(1 - 4)
|
Jan 26 2016, 08:36
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 30-09-06
Из: Украина, Запорожье
Пользователь №: 20 834

|
С проблемой, когда модуль с загруженным приложением ЕАТ циклически перезагружается разумеется сталкивался и не раз. причин может быть несколько. Для того что бы порекомендовать что либо осмысленное, уточните, приложение с которым Вы работаете, ранее работало без рестарта? Я имею в виду, скажем, в код добавлен какой либо фрагмент и после этого модуль начал перезагружаться, либо написан некий фрагмент кода и модуль выполняя его циклически перезагружается.
В любом случае, рекомендую загрузить любое рабочее приложение из примеров среды, и убедиться в том что модуль работает стабильно и перезагрузка не наблюдается, если так, то значит проблем с несоответствием версий среды, прошивки и т.д. нет
Так же "полезно" помнить, о специфике приложений ЕАТ, в том смысле, что приоритет вашего приложения не самый высокий, а жизнь всей системы (модуль, ОС, сеть) носит асинхронный характер, в своих приложениях я использую таймер (программный), для того что бы между фрагментами кода реализовать небольшую задержку, ну скажем 100 мС, а не "сыпать в ядро командами без остановки" - очень помогает
|
|
|
|
|
Jan 27 2016, 07:44
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 10-12-05
Пользователь №: 12 076

|
Цитата(BorisN @ Jan 26 2016, 11:36)  С проблемой, когда модуль с загруженным приложением ЕАТ циклически перезагружается разумеется сталкивался и не раз. причин может быть несколько. Для того что бы порекомендовать что либо осмысленное, уточните, приложение с которым Вы работаете, ранее работало без рестарта? Я имею в виду, скажем, в код добавлен какой либо фрагмент и после этого модуль начал перезагружаться, либо написан некий фрагмент кода и модуль выполняя его циклически перезагружается.
В любом случае, рекомендую загрузить любое рабочее приложение из примеров среды, и убедиться в том что модуль работает стабильно и перезагрузка не наблюдается, если так, то значит проблем с несоответствием версий среды, прошивки и т.д. нет
Так же "полезно" помнить, о специфике приложений ЕАТ, в том смысле, что приоритет вашего приложения не самый высокий, а жизнь всей системы (модуль, ОС, сеть) носит асинхронный характер, в своих приложениях я использую таймер (программный), для того что бы между фрагментами кода реализовать небольшую задержку, ну скажем 100 мС, а не "сыпать в ядро командами без остановки" - очень помогает Да, падения появились только при добавлении команд CNTP. Также используются таймера и state машина, и перед вызовом CNTP добавлялась задержка в 10 секунд - результат тот же. Можно было бы подождать и посбрасывать watchdog но это как-то некрасиво и похоже падение происходит до возврата какого-либо управления из команды AT-CNTP. C этой же программе с EAT нормально работают команды которые возвращают нотификацию не сразу (например Для работы с HTTP), а по завершению выполнения какой-либо операции. Ну т.е. механизм такой есть и скорее дело в этой конкретной команде. Вобщем пока приходится свой sntp клиент использовать.
|
|
|
|
|
Jan 27 2016, 08:10
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 30-09-06
Из: Украина, Запорожье
Пользователь №: 20 834

|
Ну что же, давайте проверим магическую команду в "ручном" режиме, просто подключите отладочную плату или модем к терминалу и посмотрите как будет отрабатываться команда. Так же рекомендую проверить на разных операторах, как на припэевских картах так и на контрактных, у меня бывали случаи, когда ТСР клиент на одной симке поднимался а на другой ни в какую (баланс был разумеется положительным)
Да, Вы видимо МТС используете (судя по точке доступа), так за последний год пришлось раза три отлавливать их "хитрости", так как модули в шлюзах не регистрировались в сети...., например, в одном случае, достаточно было установить СИМку в тлф, получить СМСку от провайдера, после чего эта карта начинала адекватно работать уже в нашем приборе
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|