Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: sms на русском
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
evgueni
как бысторо и красиво реализовать прием и отправку sms на руссом.

Поделитесь идеями.
Палыч
"Быстро и красиво"... Хм... При отправке SMS на русском альтернативы для "PDU - UCS2" - нет. Отсюда следует и плясать.
GetSmart
Набрать на клавиатуре телефона и отправить smile.gif
Чем не быстро и чем не красиво?
evgueni
я это все понимаю.
с телефона, с ПК = ОЧЕНЬ УДОБНО ОТПРАВЛЯТЬ.
Ну я все же хотел бы с sim300 отправить.

латиницей у меня все хорошо работает.
Хотелось бы теперь и на русском что нибудь изобразить.
Вопрос:
Где можно про это почитать == PDU - UCS2.
KAlex
Цитата(evgueni @ May 22 2007, 15:18) *
Где можно про это почитать == PDU - UCS2.

В описании АТ-команд:
16-bit universal multiple-octet coded character set;
UCS2 character strings are converted to hexadecimal
numbers from 0000 to FFFF. ; e.g. “004100620063”
equals three 16-bit characters with decimal values 65,98
and 99.
for UCS2 format see commands examples +CLIP, +CCWA, +COLP +CSCS
shb
Можно сделать быстрее, особо не разбираясь, если нужен ограниченный набор SMS. Набрать с любой мобилы на русском и принять их в модуль. Затем в том же формате зашивать в софт.
Палыч
Цитата(shb @ May 22 2007, 20:38) *
Набрать с любой мобилы на русском и принять их в модуль. Затем в том же формате зашивать в софт.

Лучше для этих целей воспользоваться программой PDUspy
evgueni
Глупый вопрос, надеюсь на умный ответ:

Если я включу режим PDU - UCS2, то модем просто тупа будет всю инфу присылать в иниформате. Или это будет касаться только SMS.
(если даже латинский символ, он все равно будет в унифомате???)

И надо ли этот режим выключать.

Спасибо.
Палыч
Для отправки СМС Вы включаете режим PDU. В служебной информации PDU указываете, что текст сообщения имеет кодировку UCS2, далее идет само сообщение в указанной кодировке. К модему все это - не имеет отношения.

ЗЫ. Всё текстовое сообщение - в одной кодировке, той, что указана в служебной части PDU. Если в тексте только символы из основного набора применяйте для этого сообщения семибитную кодировку, ну, а если в тексте присутствует хоть один символ кириллицы - UCS2 (для всего сообщения, и для символов из основного набора тоже).
Screw
Ребят, что-то я про декодировку не совсем понял. (кодировку уже написал - работает нормально)

Смотрите - есть 2 вида кодировки: стандартная (без русских символов) и UCS2
За вид кодировки отвечает DCS октет. Этот октет касается всего PDU или как?

В каком виде закодирована длинна сообщения для первого и второго случая?

Если у кого есть алгоритм - буду благодарен... (алгоритм хоть на чем, я пишу на IEC 61131)

И еще - если можно, поясните возможные значения поля DCS.... Вроде делал все по документации, но отправляемые смс-ки стали корректными только после DCS=08
Палыч
DCS задает кодировку поля UD. Длина (UDL): для 7-мибитных данных -число символов (семибитных), для 8-мибитных и UCS2 - число октетов в UD.

Возможные значения DCS (группа 00хх)
биты 7,6 = 0
бит 5 = 1 - текс SMS сжат (0 - не сжат)
бит 4 = 0 - биты 0,1 - не несут смысловой нагрузки (1 - биты 0,1 - класс сообщения)
биты 3,2 - используемый алфавит (00 - по умолчанию, 01 - 8бит, 10 - UCS2)
биты 1,0 - класс сообщения (если бит 4 = 1)

PS. Значение DCS=08 при кодировке UCS2 - это то, что нужно
Screw
А само UDL как кодируется? просто я посмотрел PDU для UCS2 и обычной кодировки - в UCS2 получается что каждому введенному символу соответствует 4 знака в пакете, а при обычной кодировке - 2.

Конечно проще взять, да проверить, но сейчас просто не на чем.
Палыч
Цитата(Screw @ Jul 4 2007, 20:58) *
А само UDL как кодируется? просто я посмотрел PDU для UCS2 и обычной кодировки - в UCS2 получается что каждому введенному символу соответствует 4 знака в пакете, а при обычной кодировке - 2.


UDL - всегда (!) два символа (октет). Его значение - см. предыдущий пост. Число символов (знаков) в пакете на символ сообщения зависит от кодировки, причем это распространяется только (!) на поле UD. При "обычной" кодировке - семь бит на символ сообщения упаковываются в октеты и в результате имеем примерно 7/4 символа (знака) поля UD на символ сообщения, при UCS2 - 4 символа (знака) поля UD на символ сообщения.

Чтобы прояснить всякие детали - найдите в сети программу PDUspy. Она генерит и декодирует PDU в различных настройках/кодировках- всё это на экране дисплея, и для её работы ничего более не требуется
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.