|
Зависает радиоканал в SIM300D!, Зависает радиоканал в SIM300D! |
|
|
|
Jul 31 2008, 08:58
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Прошу помощи. 2 раза сумел загнать модуль в тупик (1-й раз микроконтроллер, отправляя sms, накидал мусора, 2-й раз при дозвоне на модуль разорвалась связь). Что произошло: 1. На кнопку powerkey не реагирует (только снимать питание, благо, предусмотрел). 2. Вопрос - AT+CREG: ответ - +CREG=0,1 - норма 3. Вопрос - AT+CPBR=1: ответ - норма (пункты 2 и 3 использую раз в 5 минут для проверки модуля на зависание и т. п.) 4. 3. Вопрос - AT+CSQ: ответ - норма 5. Модуль становится недоступным, сам позвонить, отправить sms не может. 6. Сигнал STATUS в норме. 7. Светодиод мигает как положено. Ждал часа 2, думал сам очухается, не помогло. Что делать? Если с первой причиной можно бороться (не слать мусор), то от второй никто не застрахован. Существует ли AT-команда для такой проверки работоспособности? На сегодняшний день единственное, что придумал - раз в 2 часа тупо выключать/включать модуль. Посоветуйте, что делать.
|
|
|
|
|
Jul 31 2008, 13:14
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Цитата(CADiLO @ Jul 31 2008, 18:07)  Поверкей кнопка или управляется от контроллера ? Если от контроллера, то как подключено ? Как модуль согласован с контроллером по RX TX ? Спасибо, CADILO, что ответили (много инфы от вас прочитал на форуме). powerkey не на массе, управляется с контроллера через npn-тр-р (1,5 сек. на включение/выключение), RX, TX через диоды (все как в документации). Но это мне кажется совсем не при чем: когда модуль завис, powerkey тупо замыкал на массу пинцетом - модуль не выключается (естественно, когда работает, пинцетом включаю/выключаю без проблем). Забыл указать, что это уже со вторым модулем, который положил на стол для доработок программы (партии разные), так что проблема не едничная, а видимо если взять другие, будет тоже самое. Может скажу глупость, но вопрос не в том, как не подвесить его (всего не предусмотришь, тем более глюка по питанию), а в том, как это зависание увидеть (какой командой). Парадокс в том, что судя по моим AT-запросам с ним все в порядке, но на связь не выходит (по амперметру смотрю - даже не пытается). Может есть еще какой запрос, в крайнем случае, может есть команда принудительно найти сеть (как при включении ищет или когда потерял)? Глупо выключать/включать (как пока делаю), но другого выхода не нахожу. Думал также купить sim-карту, выкинуть ее, а системы заставлять опять же с интервалом позвонить на нее (как писал ранее, после ATD приходит ERROR (не помню какой), но это тоже маразм. Самое смешное, что если будет совет, надо будет его подвесить (потому-что даже отпрввляя мусор (при отправке sms) удалось подвесить только 2 раза (периодичеси специально мучал дня 4). Спасибо.
|
|
|
|
|
Jul 31 2008, 17:03
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Цитата(Harbinger @ Jul 31 2008, 21:10)  Принудительная регистрация в домашней сети - AT+COPS=0. Но не факт, что на неё немедленно OK не скажет. Но может с некоторой задержкой выдать ошибку.
...Питание? Вроде как выше 4,5 В давать нельзя. Или же дикий КСВ в антенне (КЗ, например) - по идее, и в том, и в другом случае не должен включаться усилитель мощности передатчика... Спасибо. Завтра попробую затравить. У меня питание 4,1В (МК и модуль питаются вместе). Рядом с модулем 2000мкФ. Замыкания в антенне наверняка нет (на втором изделии проявляется). Он ведь еще на powerkey перестает реагировать (лечение только одно - выключаю, сняв питание, затем подаю, жму powerkey, все - работает). Если кому интересно, попробуйте сами: отправьте вместо номера получателя (AT+CMGS= и т. п.) байт 500, затем естественно, нормально закончите строку. Я смог 2 раза подвесить. Если кто-то скажет, на кой слал, повторюсь, сегодня также завис, но когда я сделал дозвон на него, но связь разорвалась еще до гудка (а это, согласитесь, может произойти и через 5 минут, и не только у меня). Еще раз спасибо.
Сообщение отредактировал Budek - Jul 31 2008, 17:06
|
|
|
|
|
Aug 1 2008, 15:53
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Цитата(CADiLO @ Aug 1 2008, 11:28)  Попробуйте вот эту прошивку..... Это на новой платформе R16, китайцы говорили что постабильнее будет.... К сожалению ни разу не пробовал прошивать (да и не читал пока, как это делается). Да и перешивать каждый модуль в производстве проблематично. Пробовал специально подвесить модуль, бился весь вечер, не получилось. Так что даже если перешить, сложно будет убедиться в том что она лучше. Спасибо.
|
|
|
|
|
Aug 20 2008, 05:40
|

Частый гость
 
Группа: Свой
Сообщений: 97
Регистрация: 26-05-05
Из: Киев, Украина
Пользователь №: 5 426

|
Budek, здорово что Вы это описали. Такая проблема мучает и нас. Нам важно вовремя отправить СМС При попытке отправить выдает: +CME ERROR: 769 смотрим в документацию, видим Цитата(SIM300_ATC_V2.01.pdf) 769 - unable to get control of required module При этом нормально отвечает на АТ-команды. При попытке дозвониться на него, звучит сообщение от оператора что "абонент не на зоне". Такой сибе режим ЗОМБИ.
--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание. Отладка / Софокл, "Аякс".
|
|
|
|
|
Aug 20 2008, 06:20
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Цитата(Kaplinsky @ Aug 20 2008, 11:40)  Budek, здорово что Вы это описали.
Такая проблема мучает и нас. Нам важно вовремя отправить СМС При попытке отправить выдает: +CME ERROR: 769
смотрим в документацию, видим При этом нормально отвечает на АТ-команды. При попытке дозвониться на него, звучит сообщение от оператора что "абонент не на зоне".
Такой сибе режим ЗОМБИ. Я в конечном итоге сделал следующее: Стал по определенному событию (у меня это - останов двигателя при попытке открыть капот) отключать модуль поверкеем, затем делаю запрос AT, и если получаю в ответ OK (т.е. модуль как я описывал ранее не отключается поверкеем), снимаю с него питание, потом включаю и т. д. Ничего умнее пока не придумал.
|
|
|
|
|
Mar 13 2009, 13:11
|
Группа: Новичок
Сообщений: 8
Регистрация: 8-03-09
Пользователь №: 45 827

|
Цитата(Budek @ Aug 20 2008, 09:20)  Я в конечном итоге сделал следующее: Стал по определенному событию (у меня это - останов двигателя при попытке открыть капот) отключать модуль поверкеем, затем делаю запрос AT, и если получаю в ответ OK (т.е. модуль как я описывал ранее не отключается поверкеем), снимаю с него питание, потом включаю и т. д. Ничего умнее пока не придумал. Подскажите на сегодняшний день есть понимание, почему Ваш модуль вис. У меня тоже было 1,5 сек. на KEY. Сделал 3,5 , вроде перестал. Или так и снимаете питание? Может есть свежее решение?
Сообщение отредактировал Dimashik78 - Mar 13 2009, 13:12
|
|
|
|
|
Mar 13 2009, 18:50
|
Частый гость
 
Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116

|
Цитата(Dimashik78 @ Mar 13 2009, 18:11)  Подскажите на сегодняшний день есть понимание, почему Ваш модуль вис. У меня тоже было 1,5 сек. на KEY. Сделал 3,5 , вроде перестал. Или так и снимаете питание? Может есть свежее решение? Увеличение времени на key, может и поможет более корректно выключить модуль, но не снимает проблемы - как уличить его в зависании. Я на сегодня сделал еще, может еще более глупое решение - отправляю раз в сутки sms самому себе, если не дошло, значит висит. Наверное, можно также попробывать дозвон самому себе - дешевле выйдет.
|
|
|
|
|
Mar 19 2009, 07:49
|
Участник

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

|
Если интересует как именно можно уличить модем в зависании, могу предложить следующий алгоритм, используемый в своих наработках. Задача: при определённых событиях необходимо отправлять SMS-сообщения на указанный номер. Для этого SMS сообщения помещаются в программную очередь. Программа, отслеживая кол-во сообщений в очереди берёт первое сообщение (НЕ удаляя его из очереди), формирует нужные AT-команды, и отправляет SMS. В случае ошибки при отправке стартует таймер (назовём его таймер ошибки), отсчитывающий время с момента первой ошибки. Программа же через некоторый интервал снова проверяет очередь, достаёт SMS (если предыдущее не было отправлено, то это то же самое SMS) и снова пытается отправить. Если отправки SMS идут неуспешные одна за другой, то как только таймер ошибки достигнет определённого значения (например 1 мин.) - выполняется перезагрузка модуля (сообщения в очереди никуда не деваются в этот момент). Если же в течении таймаута ошибки была успешная отправка - таймер ошибки останавливаем. При успешной отправке SMS удаляем его из очереди. Важное замечание: для каждого сообщения в очереди есть понятие "время жизни". Если очередное сообщение в голове очереди лежит дольше времени жизни - оно удаляется, т.е. его отправка не удалась. Очередь является циклической, т.е. при большом потоке поступлений SMS на отправку в очередь, если кол-во SMS начинает превышать размер очереди - удаляем первое сообщение из головы, теряя его. Таким образом можно варьировать размером очереди в зависимости от доступного размера памяти данных и временем жизни сообщения в очереди в зависимости от срочности отправки SMS. Минус такого подхода - модуль будет частенько перегружаться при отсутствии денег на SIM-карте и частой отправке SMS, т.к. постоянно будут сыпаться ошибки при отправке SMS. Тут уж следите за балансом, либо можно поставить второй разъём для SIM и переключаться на вторую (запасную) SIM-карту в таких случаях. Данный алгоритм работает на реальных устройствах как с SMS, так и с GPRS-сообщениями. Кого заинтересуют подробности - обращайтесь, буду рад помочь.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|