Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как распознать формат принятой SMS:PDU или TXT?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Lenger
Всем привет
Изучаю новый для себя раздел техники: прием и передача SMS. Вобщем пока все понятно как работать в TXT режиме, в PDU режиме. А если пришла SMSка одного формата, затем другого, как различить их формат ? В какой режим переключить GSM модуль ? Или чегой-то я не понимаю ?
Палыч
Цитата(Lenger @ Dec 22 2008, 16:12) *
А если пришла SMSка одного формата, затем другого, как различить их формат ? В какой режим переключить GSM модуль ?
Модуль отдаёт в линию UART эсэмэску в том виде, в какой режим выдачи Вы модуль перевели командой AT+CMGF=0 - pdu; AT+CMGF=1 - текст.
Lenger
Цитата(Палыч @ Dec 22 2008, 17:06) *
Модуль отдаёт в линию UART эсэмэску в том виде, в какой режим выдачи Вы модуль перевели командой AT+CMGF=0 - pdu; AT+CMGF=1 - текст.

Значит, если пришла SMSка в PDU формате, а я ранее перевел модуль TXT режим, то скорее всего я прочитаю из SM памяти нечто не читабельное ? А как мне научить контроллер, управляющий модулем, выйти из этого затруднительного положения ?
vladimir_k
Lenger, Вас не должно волновать в каком виде sms-ка приходит от оператора и хранится в модеме. Важно в каком формате модем выдаёт её Вам - либо в текстовом, либо в формате PDU, а эта настройка контролируется командой [AT+CMGF], как уже отметил Палыч.
Lenger
Благодарю всех за ответы.
Значит, как я понял, нет формального признака, по которому можно различить эти форматы. Я полагаю, на практике чаще всего используется PDU, скорее всего на него и нужно ориентироваться.
GetSmart
Цитата(Lenger @ Dec 22 2008, 20:53) *
Значит, как я понял, нет формального признака, по которому можно различить эти форматы. Я полагаю, на практике чаще всего используется PDU, скорее всего на него и нужно ориентироваться.
Нет никаких форматов при передаче смсок. Они передаются в единственном внутреннем формате GSM и вам об этом знать не надо. Вы можете прочитать принятую смску в одном из двух форматов. И телефон сам эту смску сконвертирует в нужный формат.
KGB
Lenger вот смотри....

+CMTI: "SM",2 - приша смс №2
AT+CMGR=2 - читаем
+CMGR: 0,,25
07919730071111F1040B919730331986F5000080213230809221065079DA5EA603
OK
AT+CMGF=1- меняем формат считывания
OK
AT+CMGR=2 -читаем ... уже в текстовом формате.
+CMGR: "REC READ","+79033391685",,"08/12/23,03:08:29+12"
Privet
--------------
как видно из REC READ смс уже была прочитана
Lenger
Уважаемый KGB,
благодарю за полезное дополнение.
Методами тыка, чтения разных описаний и проч постепенно удается продраться через эту муть.
Пока не пробовал, но интересно, что получится, если вместо Privet будет Привет ?


Попробовал, отослать ничего не получается, вернее отсылается но доходит пустое место, т е служебная часть доходит но в информационной ничего. Если же отослать Привет с мобильника, то в режиме TXT на модеме - получаю правильный юникод.

Похоже с помощью АТ с модема нужно отправлять Unicode-сообщение в режиме PDU а принимать, вернее считывать принятое сообщение из памяти модема, - в режиме TXT. Поправьте меня, опытные люди smile.gif
Палыч
Цитата(Lenger @ Dec 26 2008, 16:33) *
Пока не пробовал, но интересно, что получится, если вместо Privet будет Привет ? ... Похоже с помощью АТ с модема нужно отправлять Unicode-сообщение в режиме PDU а принимать, вернее считывать принятое сообщение из памяти модема, - в режиме TXT.
Режим выбирают тот, который удобен. Поскольку Вы свои действия не коментируете примерами, то и подсказать - что Вы делаете не так - тяжело. Например, в pdu кодировка сообщения передаётся в служебной части; как Вы указали, что передаёте сообщение "Привет" в юникоде?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.