|
SIM800 чтение SMS |
|
|
|
May 17 2016, 12:57
|
Группа: Участник
Сообщений: 13
Регистрация: 17-05-16
Пользователь №: 91 771

|
Привет всем!
Возникла у меня странная ситуация с SIM800. Ожидаю смс вызовом в цикле AT+CMGR=1,0. Он мне возвращает OK пока смс не принят. Посылаю смс на номер, после чего uart стоит по таймауту, буфер, естественно пустой. Кто нибудь встречался с такой бедой? Таймаут 5 сек.
Да, и еще. Если смс отправить до того, как sim зарегистрировался в сети, то все нормально отрабатывает. Получаем +CMGR: 1,...
Помогите люди добрые. Уже невмоготуууу...
Прошивка 1418B03SIM800C24 Uart на autoban(менял на фикс.скорость - не помогает) Регистрируюсь в сети обычно. AT+CFUN=1 AT+CSQ AT+CPIN? AT+CREG? AT+CMGF=1 AT+CSCS="GSM" AT+CPMS="SM"
M2M, МТС
Сообщение отредактировал an24 - May 17 2016, 12:59
|
|
|
|
|
 |
Ответов
|
May 18 2016, 11:17
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
Чтобы не придумывать для себя проблемы с UART, наверное стоит изучить как работают AT команды. Начать желательно не с руководста по командам для конкретного модуля, ибо оно уже предполагает, что пользователь знаком с предметом. А начать со стандартов где это более подробно описано. Иначе это будет попытка написать роман не прочитав букварь. Желательно под рукой иметь следующие стандарты GSM 03.38. GSM 03.40. GSM 07.05. GSM 07.07. GSM 11.11.
И до написания на Си тоже рановато - отмоделируйте алгоритм в терминале - сначала вручную, потом макросом. А уж когда все будет понятно, тогда к программе можно приступать. Иначе сами путаетесь и объяснить не можете.
И совет на будущее - не крутите циклы, изучите как работает CNMI
AT+CNMI Настройка формирования отчетов о событиях SMS. "Команда AT+CNMI управляет настройками SMS, относящимися к представлению кодов URC. По этой команде выбирается процедура индикации приема нового короткого сообщения для TE, если это устройство TE активно (например, сигнал DTR находится в состоянии ON). Если TE неактивно (например, сигнал DTR находится в состоянии OFF), прием сообщения должен быть выполнен согласно спецификации 3GPP TS 23.038. Если сигнал DTR отсутствует или его состояние игнорируется (команда AT&D0 V.250), то достоверная передача сообщения обеспечивается использованием процедуры подтверждения AT+CNMA......"
ну и так далее
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
May 18 2016, 12:14
|
Группа: Участник
Сообщений: 13
Регистрация: 17-05-16
Пользователь №: 91 771

|
Цитата(CADiLO @ May 18 2016, 16:17)  Чтобы не придумывать для себя проблемы с UART, наверное стоит изучить как работают AT команды.
И совет на будущее - не крутите циклы, изучите как работает CNMI
AT+CNMI Настройка формирования отчетов о событиях SMS. "Команда AT+CNMI управляет настройками SMS, относящимися к представлению кодов URC. По этой команде выбирается процедура индикации приема нового короткого сообщения для TE, если это устройство TE активно (например, сигнал DTR находится в состоянии ON). Если TE неактивно (например, сигнал DTR находится в состоянии OFF), прием сообщения должен быть выполнен согласно спецификации 3GPP TS 23.038. Если сигнал DTR отсутствует или его состояние игнорируется (команда AT&D0 V.250), то достоверная передача сообщения обеспечивается использованием процедуры подтверждения AT+CNMA......"
ну и так далее Спасибо за ответ. Вам мой вопрос оказался понятен и это радует. Причину проблемы я нашел 20 минут назад самостоятельно. Оставлю решение здесь, так как вижу что здешние гуру в практике не очень сильны. Итак. В SIM800 по умолчанию неожиданно выставлено AT+CNMI 2,1 что приводит к тому, что после первой любой команды чтения смс SIM в UART начинает гнать оповещения при приеме смс. Естественно, мой цикл чтения смс этого не ожидает и посылает в UART команду чтения AT+CMGR. Тут UARTу и наступает конец. Решение простое. Если хотите получать смс методом опроса выполните перед циклом AT+CNMI=0. Если хотите методом оповещения, то после первого AT+CMGR переходите к циклу чтения из UART и ожидайте оттуда +CMT. Всем успехов!
|
|
|
|
Сообщений в этой теме
an24 SIM800 чтение SMS May 17 2016, 12:57 Alechek Чет так и не понял, в чем проблема и кто стоит.
Ес... May 17 2016, 17:50 an24 Цитата(Alechek @ May 17 2016, 22:50) Чет ... May 17 2016, 18:09  Alechek Для начала научитесь выражаться правильно. А то мо... May 18 2016, 05:17   an24 Цитата(Alechek @ May 18 2016, 10:17) Для ... May 18 2016, 11:09  Alechek Цитата(an24 @ May 18 2016, 17:14) Естеств... May 18 2016, 17:33   an24 Цитата(Alechek @ May 18 2016, 22:33) Ваш ... May 19 2016, 04:15    Alechek Цитата(an24 @ May 19 2016, 09:15) Боротьс... May 19 2016, 04:26 CADiLO Дык тот кто знаком с принципом приема SMS, в перву... May 18 2016, 12:59 an24 Цитата(CADiLO @ May 18 2016, 17:59) Дык т... May 18 2016, 14:12 CADiLO >>>И никто из них даже не упоминает, о то... May 18 2016, 17:12 Rash Цитата(an24 @ May 19 2016, 07:15) Боротьс... May 19 2016, 05:40 Alechek Rash, ему еще далеко до этого. Если он не понимает... May 19 2016, 07:32 an24 Цитата(Alechek @ May 19 2016, 12:32) Rash... May 19 2016, 08:06  Alechek Цитата(an24 @ May 19 2016, 13:06) Полагаю... May 19 2016, 08:45   an24 Цитата(Alechek @ May 19 2016, 13:45) ко... May 19 2016, 09:07    Alechek Цитата(an24 @ May 19 2016, 14:07) Нужно б... May 19 2016, 11:15 ArtemKAD ЦитатаОчевидно, что тот кто придумал такую обработ... May 19 2016, 10:59 an24 Цитата(ArtemKAD @ May 19 2016, 15:59) Вну... May 19 2016, 15:41 Rash тему в юмор можно занести, особенно про асинхронно... May 19 2016, 14:13 Alechek Цитата(Rash @ May 19 2016, 19:13) тему в ... May 19 2016, 16:46  an24 Цитата(Alechek @ May 19 2016, 21:46) +1
Э... May 19 2016, 16:55   Alechek Цитата(an24 @ May 19 2016, 21:55) Приколь... May 20 2016, 07:28 ArtemKAD ЦитатаПотому что в любой момент вам может приехать... May 19 2016, 15:43 an24 Цитата(ArtemKAD @ May 19 2016, 20:43) С ч... May 19 2016, 15:58  Baser Цитата(an24 @ May 19 2016, 18:58) Конечно... May 19 2016, 16:05 Baser Цитата(an24 @ May 19 2016, 11:06) Я хотел... May 19 2016, 15:48 ArtemKAD ЦитатаНо в SIM800 он реализован как полудуплексный... May 19 2016, 16:15 an24 Цитата(ArtemKAD @ May 19 2016, 21:15) Или... May 19 2016, 16:29  ArtemKAD Цитата(an24 @ May 19 2016, 19:29) Я его в... May 19 2016, 17:09 Baser Цитата(ArtemKAD @ May 19 2016, 19:15) ЗЫ.... May 19 2016, 16:33  ArtemKAD Цитата(Baser @ May 19 2016, 19:33) Не ста... May 19 2016, 16:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|