|
Помогите отправить СМС на русском SIM900 |
|
|
|
Dec 18 2012, 19:38
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Нашел в сети немного информации по этому, но на обычные свистки USB-GSM, и ничего для SIM900. Делаю по аналогии. Алгоритм следующий Все в кодировке ASCII AT+CMGF=0 переход в PDU режим AT+CMGS=25 длина сообщения без первого байта жду запроса на сообщение > Код // Длина и номер SMS центра. 0 - означает, что будет использоваться дефолтный номер. sms_pdu[i++] = '0'; sms_pdu[i++] = '0'; // SMS-SUBMIT sms_pdu[i++] = '0'; //1 sms_pdu[i++] = '1'; // Длина и номер отправителя. 0 - означает что будет использоваться дефолтный номер. sms_pdu[i++] = '0'; sms_pdu[i++] = '0';
// Длина номера получателя //sms_pdu[i++] = strlen(sms_recive)-1; sms_pdu[i++] = '0'; sms_pdu[i++] = 'C'; // 91 указывает международный формат телефонного номера, 81 - местный формат sms_pdu[i++] = '9'; sms_pdu[i++] = '1'; // Телефонный номер получателя в международном формате. sms_pdu[i++] = '8'; sms_pdu[i++] = '3'; sms_pdu[i++] = '6'; //38-06-68-65-46-97 номер в международном формате sms_pdu[i++] = '0'; //83-60-86-56-64-79 пеерворачиваю байты местами sms_pdu[i++] = '8'; sms_pdu[i++] = '6'; sms_pdu[i++] = '5'; sms_pdu[i++] = '6'; sms_pdu[i++] = '6'; sms_pdu[i++] = '4'; sms_pdu[i++] = '7'; sms_pdu[i++] = '9'; // Идентификатор протокола sms_pdu[i++] = '0'; sms_pdu[i++] = '0'; // Старший полубайт означает сохранять SMS у получателя или нет (Flash SMS), Младший полубайт - кодировка(0-латиница 8-кирилица). sms_pdu[i++] = '0'; sms_pdu[i++] = '8'; // Срок доставки сообщения. С1 - неделя sms_pdu[i++] = 'С'; sms_pdu[i++] = '1'; // Длина текста сообщения. //sms_pdu[i++] = '0'; //sms_pdu[i++] = 'C'; // Текста сообщения. sms_pdu[i++] = '0'; sms_pdu[i++] = '4'; sms_pdu[i++] = '1'; sms_pdu[i++] = 'F'; //П sms_pdu[i++] = '0'; sms_pdu[i++] = '4'; sms_pdu[i++] = '4'; sms_pdu[i++] = '0'; //р sms_pdu[i++] = '0'; sms_pdu[i++] = '4'; sms_pdu[i++] = '3'; sms_pdu[i++] = '8'; //и sms_pdu[i++] = '0'; sms_pdu[i++] = '4'; sms_pdu[i++] = '3'; sms_pdu[i++] = '2'; //в sms_pdu[i++] = '0'; sms_pdu[i++] = '4'; sms_pdu[i++] = '3'; sms_pdu[i++] = '5'; //е sms_pdu[i++] = '0'; sms_pdu[i++] = '4'; sms_pdu[i++] = '4'; sms_pdu[i++] = '2'; //т в ответ от модуля получаю ERROR подскажите где может быть ошибка После выдачи модемом > строку посылать в ASCII или HEX ?
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 15)
|
Dec 19 2012, 02:20
|
Частый гость
 
Группа: Участник
Сообщений: 125
Регистрация: 13-04-11
Из: Суровый Челябинск
Пользователь №: 64 337

|
У вас представлен формат ПРИНИМАЕМОГО SMS, а не передаваемого. Они похожи, но некоторые поля отличаются. Наиболее популярное описание: http://www.ixbt.com/mobile/review/comp-sms.shtml
|
|
|
|
|
Dec 19 2012, 17:51
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920

|
AT+CLIP=1
0 - Disable +CLIP notification. 1 - Enable +CLIP notification.
RING +CLIP: "+7916XXXXXXX",145,"",,"",0
Сообщение отредактировал Fusion - Dec 19 2012, 18:11
|
|
|
|
|
Dec 19 2012, 18:11
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
У меня когда звонят только RING RING RING RING Цитата(ssokol @ Dec 19 2012, 21:01)  CLCC Щас проверим
|
|
|
|
|
Dec 19 2012, 18:14
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 19-07-06
Пользователь №: 18 920

|
AT+CLIP Calling Line Identification Presentation
при AT+CLIP=0 тоже только RING
|
|
|
|
|
Dec 21 2012, 10:15
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(zebrox @ Dec 19 2012, 16:04)  Да, установкить кодировку юцс2, и можно хоть на китайском слать/получать в текстовом режиме. AT+CSCS="UCS2" если хорошо помню Хотите сказать, что можно смело после Код AT+CSCS="UCS2" передавать unicode подобно такому виду ? Код AT+CSMP=17,167,0,25<r> AT+CSCS="UCS2"<r> AT+CMGS="041F04400438043204350442" //Unicode Привет не прибегая к форматированию PDU ???? могу предположить, что модуль уже своими средствами сам сформирует PDU строку на основе введенных данных
|
|
|
|
|
Dec 21 2012, 10:34
|

Местный
  
Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423

|
Цитата(zebrox @ Dec 21 2012, 14:26)  Да, именно так, не генеря пду самостоятельно, сим сам этим занимается.
при включении сима, один раз отослать команду AT+CSCS, включить текстовый режим
а потом слать смски, без повторного задания режимов.
AT+CMGS=номер телефона > тут текст в формате UCS2 char(26) Цитата номер телефона а его в каком формате как обычно ? Код AT+CMGS="+380661213140"<r> , виде в ДАТАШИТЕ его китайцы как то по хитрому пишут
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|