Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: АТ-команды проверки наличия новых смс без их считывания
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
mempfis_
Добрый день.
Есть необходимость определять что пришли новые смс без их считывания.
Сейчас настроил вывод AT+CNMI=2,1,0,0,0 и по приходу новой смс модем выплевывает в терминал +CMTI: #
Но этот метод неудобен т.к. часто это сообщение теряется, или по включению питания могут присутствовать новые смс или сим-карта может быть не сконфигурирована на вывод информации о новых смс.
AT+CMGR="REC UNREAD" не удобна т.к. может вывести все имеющиеся новые смс что может переполнить имеющийся у меня буффер и часть тсмс могут потеряться.

Интересует есть ли вообще команда которая позволит вывести все ячейки на сим в которых хранятся новые смс.
Несколько раз перечитал список АТ-команд но пока что ничего подходящего не нашёл.
Заранее благодарен всем кто поможет советом smile.gif
groovy
Точно в тему не скажу, но по длительности сигнала RI можно определить приход новых СМС.
Master of Nature
Цитата(mempfis_ @ Dec 25 2009, 14:35) *
Добрый день.
Есть необходимость определять что пришли новые смс без их считывания.
Сейчас настроил вывод AT+CNMI=2,1,0,0,0 и по приходу новой смс модем выплевывает в терминал +CMTI: #
Но этот метод неудобен т.к. часто это сообщение теряется, или по включению питания могут присутствовать новые смс или сим-карта может быть не сконфигурирована на вывод информации о новых смс.
AT+CMGR="REC UNREAD" не удобна т.к. может вывести все имеющиеся новые смс что может переполнить имеющийся у меня буффер и часть тсмс могут потеряться.

Интересует есть ли вообще команда которая позволит вывести все ячейки на сим в которых хранятся новые смс.
Несколько раз перечитал список АТ-команд но пока что ничего подходящего не нашёл.
Заранее благодарен всем кто поможет советом smile.gif

А пробовали такую команду ?
AT+CMGL
Палыч
Цитата(Master of Nature @ Dec 26 2009, 00:12) *
А пробовали такую команду ?
AT+CMGL
Как нетрудно заметить автор вопроса немного ошибся:
Цитата(mempfis_ @ Dec 25 2009, 13:35) *
AT+CMGR="REC UNREAD" не удобна т.к. может вывести все имеющиеся новые смс что может переполнить имеющийся у меня буффер и часть тсмс могут потеряться.
Совершенно очевидно, что речь как раз и идёт о команде AT+CMGL, а не о AT+CMGR

По сути вопроса. В своё время тоже считал, что подобная команда нужна не мне одному, и таковая должна быть - но, увы! - её нет.
mempfis_
Цитата
Как нетрудно заметить автор вопроса немного ошибся:Совершенно очевидно, что речь как раз и идёт о команде AT+CMGL, а не о AT+CMGR

Да с командой ошибся - там должно быть AT+CMGL

Цитата
По сути вопроса. В своё время тоже считал, что подобная команда нужна не мне одному, и таковая должна быть - но, увы! - её нет.

Очень жаль что такой команды нет.... Была бы очень полезной...

Всем спасибо за ответ. Тема закрыта.
stream
AT+CPMS? и, если количество не нулевое - тупо в цикле AT+CMGR=nnn, пока не отзовется.

Разумеется, при таком алгоритме обработанные SMS надо стирать.
mempfis_
Цитата(stream @ Dec 27 2009, 17:37) *
AT+CPMS? и, если количество не нулевое - тупо в цикле AT+CMGR=nnn, пока не отзовется.

Разумеется, при таком алгоритме обработанные SMS надо стирать.


Спасибо за идею. Как вариан очень даже может подойти smile.gif
r301
Цитата(mempfis_ @ Dec 28 2009, 11:05) *
Спасибо за идею. Как вариан очень даже может подойти smile.gif

можно еще 'AT+CMGD=?' попробовать. команда возвращает список занятых ячеек.

Код
AT+CMGD=?
+CMGD: (1,2,3,6,7,17,18,19,20,37,38,39,47),(0-4)
OK
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.