|
Как распознать формат принятой SMS:PDU или TXT? |
|
|
|
Dec 22 2008, 13:12
|
Группа: Новичок
Сообщений: 4
Регистрация: 31-07-08
Пользователь №: 39 338

|
Всем привет Изучаю новый для себя раздел техники: прием и передача SMS. Вобщем пока все понятно как работать в TXT режиме, в PDU режиме. А если пришла SMSка одного формата, затем другого, как различить их формат ? В какой режим переключить GSM модуль ? Или чегой-то я не понимаю ?
|
|
|
|
|
 |
Ответов
(1 - 8)
|
Dec 22 2008, 14:22
|
Группа: Новичок
Сообщений: 4
Регистрация: 31-07-08
Пользователь №: 39 338

|
Цитата(Палыч @ Dec 22 2008, 17:06)  Модуль отдаёт в линию UART эсэмэску в том виде, в какой режим выдачи Вы модуль перевели командой AT+CMGF=0 - pdu; AT+CMGF=1 - текст. Значит, если пришла SMSка в PDU формате, а я ранее перевел модуль TXT режим, то скорее всего я прочитаю из SM памяти нечто не читабельное ? А как мне научить контроллер, управляющий модулем, выйти из этого затруднительного положения ?
|
|
|
|
|
Dec 22 2008, 14:43
|
Участник

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

|
Lenger, Вас не должно волновать в каком виде sms-ка приходит от оператора и хранится в модеме. Важно в каком формате модем выдаёт её Вам - либо в текстовом, либо в формате PDU, а эта настройка контролируется командой [AT+CMGF], как уже отметил Палыч.
|
|
|
|
|
Dec 22 2008, 14:53
|
Группа: Новичок
Сообщений: 4
Регистрация: 31-07-08
Пользователь №: 39 338

|
Благодарю всех за ответы. Значит, как я понял, нет формального признака, по которому можно различить эти форматы. Я полагаю, на практике чаще всего используется PDU, скорее всего на него и нужно ориентироваться.
|
|
|
|
|
Dec 23 2008, 11:34
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 21-12-08
Пользователь №: 42 644

|
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 смс уже была прочитана
|
|
|
|
|
Dec 26 2008, 13:33
|
Группа: Новичок
Сообщений: 4
Регистрация: 31-07-08
Пользователь №: 39 338

|
Уважаемый KGB, благодарю за полезное дополнение. Методами тыка, чтения разных описаний и проч постепенно удается продраться через эту муть. Пока не пробовал, но интересно, что получится, если вместо Privet будет Привет ? Попробовал, отослать ничего не получается, вернее отсылается но доходит пустое место, т е служебная часть доходит но в информационной ничего. Если же отослать Привет с мобильника, то в режиме TXT на модеме - получаю правильный юникод. Похоже с помощью АТ с модема нужно отправлять Unicode-сообщение в режиме PDU а принимать, вернее считывать принятое сообщение из памяти модема, - в режиме TXT. Поправьте меня, опытные люди
|
|
|
|
|
Jan 5 2009, 12:01
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Lenger @ Dec 26 2008, 16:33)  Пока не пробовал, но интересно, что получится, если вместо Privet будет Привет ? ... Похоже с помощью АТ с модема нужно отправлять Unicode-сообщение в режиме PDU а принимать, вернее считывать принятое сообщение из памяти модема, - в режиме TXT. Режим выбирают тот, который удобен. Поскольку Вы свои действия не коментируете примерами, то и подсказать - что Вы делаете не так - тяжело. Например, в pdu кодировка сообщения передаётся в служебной части; как Вы указали, что передаёте сообщение "Привет" в юникоде?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|