Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств.

 
Опции темы
Непрочитано 03.10.2016, 19:12  
namemeyourself
Временная регистрация
 
Регистрация: 28.11.2008
Сообщений: 93
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 19 сообщении(ях)
namemeyourself на пути к лучшему
По умолчанию SIM800C - отправка русских СМС

Здравствуйте!

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

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 | •


Может есть люди, знающие толк в отправлении русских СМС, хотелось бы выслушать замечания, пожелания, критику. Спасибо!
Вложения:
Тип файла: pdf P_CAD_EDA____Sheet1_.pdf (68.0 Кб, 0 просмотров)
namemeyourself вне форума  
Непрочитано 04.10.2016, 08:47  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Во вложении файлы, когда-то отправлял СМС через сименс C-35.
Все работало.
Два экзешника - который имеет в названии No_HW не пытается физически передать в порт данные, просто формирует команду для отправки. Можете использовать для сравнения.
Кстати, в конце PDU добавлял символ с кодом 26 (0x1A).
Не помню, насколько это необходимо - дело давнее.

Последний раз редактировалось pambaru; 05.10.2016 в 13:45.
pambaru вне форума  
Непрочитано 04.10.2016, 08:52  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Кстати, а чего-то PDU у Вас в бинарном формате. Должен быть в ASCII!
pambaru вне форума  
Непрочитано 04.10.2016, 09:25  
namemeyourself
Временная регистрация
 
Регистрация: 28.11.2008
Сообщений: 93
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 19 сообщении(ях)
namemeyourself на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Сообщение от pambaru Посмотреть сообщение
Кстати, а чего-то PDU у Вас в бинарном формате. Должен быть в ASCII!
Прошу прощения, не совсем понял ... Само сообщение передаётся в юникоде ... Не совсем понял про ASCII
namemeyourself вне форума  
Непрочитано 04.10.2016, 09:44  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Коды символов в последовательности, которая передается в SIM800, должны быть в диапазоне 0x20...0x7F.
И все коды символов PDU должны передаваться текстом.
Например, кусок из вашего лога: байты 04 38 04 32 04 35 должны передаваться текстом "043804320435", т.е. байтовой последовательностью 0x30 0x34 0x33 и т.д.
Запустите мою прогу MySMS_Test_No_HW, наберите текст и нажмите "Отправить", и станет понятно.
pambaru вне форума  
Непрочитано 04.10.2016, 10:12  
namemeyourself
Временная регистрация
 
Регистрация: 28.11.2008
Сообщений: 93
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 19 сообщении(ях)
namemeyourself на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Сообщение от pambaru Посмотреть сообщение
Коды символов в последовательности, которая передается в SIM800, должны быть в диапазоне 0x20...0x7F.
И все коды символов PDU должны передаваться текстом.
Например, кусок из вашего лога: байты 04 38 04 32 04 35 должны передаваться текстом "043804320435", т.е. байтовой последовательностью 0x30 0x34 0x33 и т.д.
Запустите мою прогу MySMS_Test_No_HW, наберите текст и нажмите "Отправить", и станет понятно.
04 38 04 32 04 35 - это юникод, как раз для передачи русских сообщений, здесь всё нормально ...
MySMS_Test_No_HW тоже юникод выдаёт:
07919730071111F101000B919700098178F600080C041F 04 40 04 38 04 32 04 35 04 42

Последний раз редактировалось namemeyourself; 04.10.2016 в 10:20.
namemeyourself вне форума  
Непрочитано 04.10.2016, 10:18  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Сообщение от namemeyourself Посмотреть сообщение
04 38 04 32 04 35 - это юникод, как раз для передачи русских сообщений, здесь всё нормально ...
Я понимаю, что юникод и цифры верные
Я говорю, что передавать в модем их нужно не в бинарном виде, а символами ASCII.
Т.е. текстом!
Т.е. ваши бинарные (hex) 0x04 0x38 0x04 0x32 0x04 0x35 надо передать как текст "043804320435". Т.е. в виде хекса это будет выглядеть как
0x30 0x34 0x33 0x38 0x30 и т.д.
Т.е. предаем "букву" "0", далее букву "4", далее букву "3".
Не поленитесь, гляньте софтинку - она формирует именно тот ТЕКСТ!!!, который надо передать модему. А в папке doc есть дока на PDU формат.

P.S. С SIM300 тоже все работало как надо.
pambaru вне форума  
Непрочитано 04.10.2016, 10:28  
namemeyourself
Временная регистрация
 
Регистрация: 28.11.2008
Сообщений: 93
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 19 сообщении(ях)
namemeyourself на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Ага, понял, идея ясна. А передавать таким образом надо только текст, или вообще весь пакет PDU?
namemeyourself вне форума  
Непрочитано 04.10.2016, 10:37  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Весь пакет PDU.
Вот как прога в окошечке сформировала, вот так и передать (можно просто скопировать и в терминале вставить. Только, кажется, перед передачей PDU нужно дождаться приглашения ›).
pambaru вне форума  
Непрочитано 04.10.2016, 10:46  
namemeyourself
Временная регистрация
 
Регистрация: 28.11.2008
Сообщений: 93
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 19 сообщении(ях)
namemeyourself на пути к лучшему
По умолчанию Re: SIM800C - отправка русских СМС

Сообщение от pambaru Посмотреть сообщение
Весь пакет PDU.
Вот как прога в окошечке сформировала, вот так и передать (можно просто скопировать и в терминале вставить. Только, кажется, перед передачей PDU нужно дождаться приглашения ›).
Так я что-то не понял ...
MySMS_Test_No_HW.exe мне выдаёт:
AT+CMGF=0
AT+CMGS=25
07919730071111F101000B919700098178F6000804041F0440 
не вижу ASCII ...
Заменяю текст вручную на ASCII, получаю для двух букв "Пр":
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
35 0D 0D 0A 3E 20 00 01 00 0B 91 97 00 09 81 78 | 5•••› ••••‘—••x
F6 00 08 20 08 04 30 34 31 46 30 34 34 30 0D 0A | ö•• ••041F0440••
45 52 52 4F 52 0D 0A | ERROR••
Что-то я опять не так делаю?
namemeyourself вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SIM900 отправка смс rihkov Автоматика и аппаратура связи 43 10.06.2015 05:33
Посылка и приём СМС через HyperTerminal AT-командами. LazarenkoAS2 Автоматика и аппаратура связи 20 12.06.2010 22:17


Часовой пояс GMT +4, время: 12:05.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot