реклама на сайте
подробности

 
 
> SIM800 чтение SMS
an24
сообщение May 17 2016, 12:57
Сообщение #1





Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CADiLO
сообщение May 18 2016, 11:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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......"

ну и так далее


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
an24
сообщение May 18 2016, 12:14
Сообщение #3





Группа: Участник
Сообщений: 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.

Всем успехов!
Go to the top of the page
 
+Quote Post
Alechek
сообщение May 18 2016, 17:33
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(an24 @ May 18 2016, 17:14) *
Естественно, мой цикл чтения смс этого не ожидает и посылает в UART команду чтения AT+CMGR.

Поэтому и существует совет забросить МК и освоить вначале терминал.
А потом написать на компьютере C файл, работающий с модемом. А всякие UART_Read и UART_Write опередлить на ReadFile и WriteFile. Отладка на компьютере в разы удобней.

Ваш цикл все равно никуда не годится, если он "зависает" на таких мелочах. От "RING" как спасаться будете? А он с очень большим успехом залезет там, где его не ждут.

И еще совет: научитесь выражать свои мысли правильно. Если Вы не можете сформулировать грамотно задачу, исполнить ее (написать программу) не получится.
Цитата(an24 @ May 17 2016, 23:09) *
После приема смс из uart ничего не читается командой AT+CMGR=1,0.

Приема SMS кем? /модулем, телефоном, базовой станцией/
Как можно из UART прочитать командой AT...? Из него можно вычитать ДАННЫЕ функцией чтения. А вот прочесть СМС из МОДУЛЯ (заставить его ВЫДАТЬ данные) можно подав ему команду.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
|- - 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


Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 00:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01431 секунд с 7
ELECTRONIX ©2004-2016