Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900 & SMS в 16-битной кодировке
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
rx3apf
Обновил прошивку до 06, но картина не изменилась - вне зависимости от установки AT+CMGF тело сообщений в 16-битной кодировке как шло hex-дампом, так и идет. SIM300 точно превращал такие сообщения в нормальный ASCII-текст (проверил перестановкой модулей и карточек на макете). Впрочем, декодер PDU я уже написал, так что мне по-фигу wink.gif Но все равно - как-то это неправильно...
av-master
rx3apf тебе его Юзеру на эран выводить ? ИМХО контроллеру пофик что там ASCII или HEX .
CADiLO
А можно подробнее, потому как команда AT+CMGF работает.
Пример приведите как Вы передаете.

rx3apf
Цитата(av-master @ Aug 17 2010, 09:24) *
rx3apf тебе его Юзеру на эран выводить ? ИМХО контроллеру пофик что там ASCII или HEX .

Какому "контроллеру" ? Если я по AT+CMGR получаю дамп, мне по-любому его надо конвертировать.

Цитата(CADiLO @ Aug 17 2010, 10:11) *
А можно подробнее, потому как команда AT+CMGF работает.
Пример приведите как Вы передаете.

Я уже в ветке "А SIM900 вообще работает ?" приводил пример, все осталось так же:
---
вне зависимости от установки AT+CMGR тело сообщения идет дампом:

at+cmgf=0:

+CMGR: 1,"",146
07919761980622F04006D04DEA100008018010411......

at+cmgf=1:

+CMGR: "REC READ","MTC","","10/08/01,14:01:58+16"
0414043B044F0020043A043E044004400435043A......
---
SIM300D в этом случае отдавал вполне осмысленный текст собственно сообщения.
Но, на самом деле, мне это уже неактуально, поскольку декодер сделал и работать на уровне сырого дампа оказалось ничуть не сложнее...

CADiLO
А посмотрите пожалуйста что установлено по AT+CSDH в SIM300 и SIM900 ?
Одинаковые настройки ?
stream
Цитата(rx3apf @ Aug 17 2010, 12:06) *
at+cmgf=1:

+CMGR: "REC READ","MTC","","10/08/01,14:01:58+16"
0414043B044F0020043A043E044004400435043A......
---
SIM300D в этом случае отдавал вполне осмысленный текст собственно сообщения.

О какой осмысленности текста можно говорить, если процитированный дамп описывает сообщение в unicode-формате? То, что SIM300 выдавал в этом случае какую-то текстовую кашу из символом с кодом 0x04 и псевдографики (при этом символы с кодом 0x00 тихо обрезал) - я бы назвал багом, который наконец-то исправили.
rx3apf
Цитата(CADiLO @ Aug 17 2010, 12:32) *
А посмотрите пожалуйста что установлено по AT+CSDH в SIM300 и SIM900 ?
Одинаковые настройки ?

В SIM900 там 0, макета с SIM300 под рукой нет, но я его точно не менял, значит, тоже должен быть 0. Смена на 1 дает только более детальную шапку, само тело без изменений.

Цитата(stream @ Aug 19 2010, 11:28) *
О какой осмысленности текста можно говорить, если процитированный дамп описывает сообщение в unicode-формате? То, что SIM300 выдавал в этом случае какую-то текстовую кашу из символом с кодом 0x04 и псевдографики (при этом символы с кодом 0x00 тихо обрезал) - я бы назвал багом, который наконец-то исправили.

Если бы при этом хотя бы текст из семибитного ASCII с нулевым байтом впереди нормально выводился бы - я бы согласился. Однако же нет (по крайней мере, в тех случаях, когда где-то там в конце сообщения присутствует что-то 0x04xx). Т.е., если я отправляю сообщение через бесплатный сервис на www.mts.ru, то SIM900 его принимает только как hex-дамп, даже если _я_ ничего кроме ASCII не использовал (хвостик дописал сам сервис)..
ArtemKAD
А если так:
AT+CSCS="GSM"
rx3apf
Цитата(ArtemKAD @ Aug 19 2010, 19:49) *
А если так:
AT+CSCS="GSM"

Ноль на массу...
ArtemKAD
Или накрайняк
AT+CSCS="UCS2"
Т.к. похоже у тебя
AT+CSCS="HEX"
Естественно при
at+cmgf=1
rx3apf
Цитата(ArtemKAD @ Aug 19 2010, 19:54) *
Или накрайняк
AT+CSCS="UCS2"

Те же тестикулы, вид в профиль...
stream
Цитата(rx3apf @ Aug 19 2010, 19:45) *
Если бы при этом хотя бы текст из семибитного ASCII с нулевым байтом впереди нормально выводился бы - я бы согласился. Однако же нет (по крайней мере, в тех случаях, когда где-то там в конце сообщения присутствует что-то 0x04xx).

Ты сам себе противоречишь - если "где-то там в конце сообщения присутствует что-то 0x04xx", то это уже не 7-битный ASCII, и модуль не волнует, кто дописал этот хвостик. Главное, что он не знает, как отобразить такой символ в текстовом виде (вариант SIM300 - неформализуемая каша из 7-битного текста и старшего-и-младшего-unicode-байт-как-есть, вариант SIM900 - принудительно сваливаемся в hex формат). Чтобы правильно напечатать юникодный символ, модуль должен знать про кодировку CP1251, CP866, CP878 или какая-тем тебе нужна...

Отправь SMS с телефона или даже лучше другого SIM300, тогда точно останется будет 7-битный ASCII без всяких хвостиков.
rx3apf
Цитата(stream @ Aug 24 2010, 11:21) *
Ты сам себе противоречишь - если "где-то там в конце сообщения присутствует что-то 0x04xx", то это уже не 7-битный ASCII, и модуль не волнует, кто дописал этот хвостик. Главное, что он не знает, как отобразить такой символ в текстовом виде (вариант SIM300 - неформализуемая каша из 7-битного текста и старшего-и-младшего-unicode-байт-как-есть, вариант SIM900 - принудительно сваливаемся в hex формат). Чтобы правильно напечатать юникодный символ, модуль должен знать про кодировку CP1251, CP866, CP878 или какая-тем тебе нужна...

Если старший байт при этом 00, и у младшего старший бит 0 - я бы предположил, что это все ж ASCII. И SIM300 делал так. И меня это вполне устраивало. Хоть бы и каша, хоть бы и вообще не отображал то, что не ASCII.

Цитата
Отправь SMS с телефона или даже лучше другого SIM300, тогда точно останется будет 7-битный ASCII без всяких хвостиков.

Отправлял. Да, 7-битный нормально декодируется (кто б сомневался). Но _меня_ это не устраивает.

P.S. Кстати, когда в сообщении все пары 00xx, и xx только ASCII - все равно такая же фигня...
satnettv
Цитата(rx3apf @ Aug 17 2010, 00:52) *
Обновил прошивку до 06, но картина не изменилась - вне зависимости от установки AT+CMGF тело сообщений в 16-битной кодировке как шло hex-дампом, так и идет. SIM300 точно превращал такие сообщения в нормальный ASCII-текст (проверил перестановкой модулей и карточек на макете). Впрочем, декодер PDU я уже написал, так что мне по-фигу wink.gif Но все равно - как-то это неправильно...



У меня аналогичная проблема. Окончательно пока не решилась, думаю надо ждать обновленную версию прошивки.

Но похоже это проявляется только, если отправлять смс с сайта (например, МТС). Если отправлять с телефона, то все ок (даже если из майл агента - тоже все ок).

Ниже пример:

Revision:1137B06SIM900M64_ST....OK

AT+CMGF=1....OK

AT+CSCS="GSM"....OK


1. отправляем через сайт мтс (123456*test*123456):

...AT+CMGR=1........+CMGR: "REC UNREAD","sms.mts.ru","",
"10/11/26,11:37:49+12"..003100320033003400350036002A0074006500730074002A0031003200330034003500360
00A
00490050003A0020003100390033002E00330039002E003100310036002E0033002F002F0421043C
043E0442044004380442
043500200412041804140415041E002D0421041E0411042B04220418042F002004380020041D041E
0412041E....OK....



2. отправляем с обычного телефона (Vip12356test25):

...AT+CMGR=8...+CMGR: "REC UNREAD","+7926xxxxxxx","","10/11/26,16:20:23+12"..Vip12356test25....OK....


3. отправляем из агента (123456*jjhjhjjhj*4545454p*4545454):

...AT+CMGR=11...+CMGR: "REC UNREAD","6237","","10/11/26,16:39:57+12"..vixxxx@mail.ru 123456*jjhjhjjhj*454
5454p*4545454 // Obwaisya legko-otvechay v Agent!....OK....

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.