реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SIM800C - отправка СМС на русском
Lisitsin
сообщение Oct 3 2016, 08:06
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Здравствуйте, уважаемые специалисты и уважаемые любители!
Столкнулся с проблемой. Требуется Ваша квалификация в области GPRS связи.
Собрал устройство на базе GPRS модуля SIM800C. Схема во вложении. Устройство работает нормально, СМС латинскими буквами отправляются. Но мне нужен русский язык, и я проштудировал статейку
http://hardisoft.ru/soft/samodelkin-soft/o...i-na-c-chast-1/
в поисках истины. Написал программу для отправки СМС в соответствии со статьёй, но в итоге вижу ERROR без всяческих объяснений. Тогда я решил подключить терминалку и отправить код, приведённый непосредственно в статье, в разделе Краткий «Привет!!!», подставив только свой номер телефона (оператор ТЕЛЕ-2). То есть, что я делаю:
1) запускаю выполнение своей программы. Она включает модуль, ждёт когда пройдёт его регистрация в сети и отправляет ему команду AT+CMGF=0. Модуль отвечает ОК. Далее в программе у меня точка останова, в которой процессор отсоединяется от модуля, и в дело вступает терминалка.
С неё я уже отправляю AT+CMGS=31 и получаю приглашение ввести код СМС ">". Отправляю ему код, и получаю ERROR. В чём дело - не могу понять. В коде изменил только номер телефона на свой, по формату и числу цифер в номере он аналогичен. Привожу полную прослушку ответов SIM800C, эхо включено:

41 54 0D 0D 0A 4F 4B 0D 0A 0D 0A 52 44 59 0D 0A | AT•••OK••••RDY••
0D 0A 2B 43 46 55 4E 3A 20 31 0D 0A 0D 0A 2B 43 | ••+CFUN: 1••••+C
50 49 4E 3A 20 52 45 41 44 59 0D 0A 0D 0A 43 61 | PIN: READY••••Ca
6C 6C 20 52 65 61 64 79 0D 0A 0D 0A 53 4D 53 20 | ll Ready••••SMS
52 65 61 64 79 0D 0A 41 54 2B 43 4D 47 46 3D 30 | Ready••AT+CMGF=0
0D 0D 0A 4F 4B 0D 0A 41 54 2B 43 4D 47 53 3D 33 | •••OK••AT+CMGS=3
31 0D 0D 0A 3E 20 00 01 00 0B 91 97 00 09 81 78 | 1•••> ••••‘—••x
F6 00 08 20 08 12 04 1F 04 40 04 38 04 32 04 35 | ö•• •••••@•8•2•5
04 42 00 21 00 21 00 21 0D 0A 45 52 52 4F 52 0D | •B•!•!•!••ERROR•
0A | •

Если кто-то уже раболтал с отправкой русских СМС, хотелось бы услышать замечания, комментарии, критику)
Спасибо !!!


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
k155la3
сообщение Oct 3 2016, 09:10
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Проверьте завершение ввода данных с терминалки - насколько помню, там должно быть или <Ctrl-Z> или что-то подобное.
Кодировка символов. Думаю что Ваша терминалка выдает в ASCII или 866 или CP1251.
А на вход системы SMS скорее всего должен идти юникод. Так как SMS отправляют не только на англ. и русском но и несколько других языках.

Go to the top of the page
 
+Quote Post
x893
сообщение Oct 3 2016, 09:43
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



прекрасно русские отправляются в режиме PDU
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2016, 16:14
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(k155la3 @ Oct 3 2016, 12:10) *
Проверьте завершение ввода данных с терминалки - насколько помню, там должно быть или <Ctrl-Z> или что-то подобное.
Кодировка символов. Думаю что Ваша терминалка выдает в ASCII или 866 или CP1251.
А на вход системы SMS скорее всего должен идти юникод. Так как SMS отправляют не только на англ. и русском но и несколько других языках.

Контрл зэт отправляется (0x1a)б иначе модуль не ответил бы даже еррором. Сообщение, конечно же, отправляется юникодом ...

Цитата(x893 @ Oct 3 2016, 12:43) *
прекрасно русские отправляются в режиме PDU

Я не вполне понял, так я вроде бы как раз в PDU и пытаюсь отправлять ...


Сообщение отредактировал Lisitsin - Oct 3 2016, 16:12


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 4 2016, 05:26
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Не помогает даже онлайн-PDU конвертор ...
http://adatum.ru/pdu-converter
41 54 0D 0D 0A 4F 4B 0D 0A 0D 0A 52 44 59 0D 0A | AT•••OK••••RDY••
0D 0A 2B 43 46 55 4E 3A 20 31 0D 0A 0D 0A 2B 43 | ••+CFUN: 1••••+C
50 49 4E 3A 20 52 45 41 44 59 0D 0A 0D 0A 43 61 | PIN: READY••••Ca
6C 6C 20 52 65 61 64 79 0D 0A 0D 0A 53 4D 53 20 | ll Ready••••SMS
52 65 61 64 79 0D 0A 41 54 2B 43 4D 47 46 3D 30 | Ready••AT+CMGF=0
0D 0D 0A 4F 4B 0D 0A 41 54 2B 43 4D 47 53 3D 32 | •••OK••AT+CMGS=2
31 0D 0D 0A 3E 20 00 01 00 0B 91 97 00 09 81 78 | 1•••> ••••‘—••x
F6 00 08 20 08 08 20 08 04 42 04 35 04 41 04 42 | ö•• •• ••B•5•A•B
0D 0A 45 52 52 4F 52 0D 0A | ••ERROR••


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
k155la3
сообщение Oct 4 2016, 06:58
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



модемы и вообще система злопамятна.
Сбросьте модем на заводские установки.
(Возможно) Есть команды, относящиеся к GPRS, когда переключение режима запоминается не в регистрах модема
а в системе. Соотв-но, чтобы переключиться, необходимо, даже после at&f, atz, at&w устанавливать (переключать) требуемый режим.
Не исключено, что аналогичные процедуры-настройки и для SMS.
Не знаю как у кого, а тарификация для SMS в ASCII и Unicode разная. Не исключено, что в систему надо выдать команду "хочу работать в Unicode".
Попробуйте на другом операторе.

Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 4 2016, 14:00
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(k155la3 @ Oct 4 2016, 09:58) *
модемы и вообще система злопамятна.
Сбросьте модем на заводские установки.

Даже возврат к фабричным настройкам не помогает ... AT+CSCS="UCS2" тоже роли не играет ...


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
smalcom
сообщение Oct 7 2016, 08:21
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Возьмите за правило при отладке задавать AT+CMEE=2. Так можно отличать ошибки синтаксиса от ошибок аргументов и прочего.
И у вас похоже, что смска просто неправильная. Первым идёт размер номера сервисного центра, а за ним и номер. А у вас там 0x20 при допустимой длине 1-12.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.03077 секунд с 7
ELECTRONIX ©2004-2016