Передача SMS как работать в PDU формате

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Man
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт ноя 13, 2008 19:22:03

Сообщение Man »

Наработает :( :( :o Пробал сначала подключать через мах232 его питал от 3.7в контролер от 5в подключал к терминалке сначало принимает кактойто мусор , потом как должно все команды. Сейчас пробал без мах232 все питал от 3.7 запускается мега навсегда так как без L. В программе пробал делать задержки по 100мс между командами , PDU текст отправлять через какое-то время повторно так как в терминалке навсегда с первого раза отправлялось.
Еше замечена странность если в терминалке када вставляешь PDU текст с символом делаеш между ним пробел смс отправляется , если так наделать смс никаким образом неотправляется. Если из SiMoCo отправлять PDU текст в месте с символом все нормально отправляется и отвечает +CMGS: 45 а если из терминалке даже если смс отправляется отвечает ERROR.
Реклама
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Сообщение urry »

?
Неплохо было бы мне дать код. который не отправляется из терминалки.
Относительно микроконтроллера - у меня нет шнурка к моей нокии, чтобы мегу прошить и проверить. Относительно 100 мс, то Вы большой оптимист - в зависимости от загрузки смс - цетра, ответ может придти и через 10 секунд.
Реклама
Аватара пользователя
Krik99
Потрогал лапой паяльник
Сообщения: 375
Зарегистрирован: Вс мар 04, 2007 13:14:25
Откуда: Украина
Контактная информация:

Сообщение Krik99 »

Есть вопрос, кто как читает через МК ответ от телефона, или через МК читать не обезательно? Если кто-то делал функцию для чтения ответа от телефона на Си прошу поделиться.
PS. Что-то подсказует что без прерываний по приёму не обойтись. :)
Изображение
Аватара пользователя
Man
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт ноя 13, 2008 19:22:03

Сообщение Man »

Использую терминал “ Terminal v1.2 by Brajer” в нем есть 3 макроса в них вбил 3 нужные АТ команды для отправки , вот када вставляю макросом PDU текст с юрал сивмовлом и просто жму ввод смс неотправляется , а если вставить макросом и между PDU текстом и символом сделать пробел смс отправляется хатя телефон отвечает ERROR.
МК нечитаю ответ от телефона хатя кажется надо ,впринцепе мона сделать сборки типа if (){}else{} так как телефон на команды по отправке смс отвечает токо OK или ERROR.Сравнивать полученные данные с OK сошлись переходим к другой команде несошлись повторно if проходим и так пока доконца недойдет.
Вложения
TERMINAL.rar
Terminal v1.2 by Brajer
(174.92 КБ) 258 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Сообщение urry »

Man писал(а):Использую терминал “ Terminal v1.2 by Brajer” в нем есть 3 макроса в них вбил 3 нужные АТ команды для отправки , вот када вставляю макросом PDU текст с юрал сивмовлом и просто жму ввод смс неотправляется , а если вставить макросом и между PDU текстом и символом сделать пробел смс отправляется хатя телефон отвечает ERROR.
символ x1a для данного терминала является "горячей" клавишей, добавить пробел - меняете длину и код, отсюда - ошибка.
Ошибка стандартного терминала - вот что меня интересует. :)
пока не видел.
Чтение приема - обязательно.
Реклама
Аватара пользователя
Man
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт ноя 13, 2008 19:22:03

Сообщение Man »

С терминалом все понятно скачаю каконить другой . Нашет того что надо обязательно принимать ответ меня необрадывало :( ,так как этого еше наделал и незнаю как делать :cry: , завтра погуглю разберусь думаю. Также попробую разобратся с более простыми командами например дозвона :
ATD<тел. номер>; - вызов.
ATH - отмена вызова.
Реклама
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

Только что передал смс-ку со словом Привет с телефона siemens C60

Код: Выделить всё

putsf("AT+CMEC=2,0,0\r\n");  
delay_ms(100);
putsf("AT+CMGF=0\r\n"); 
delay_ms(100);
putsf("AT+CSCS=\"UCS2\"\r\n"); 
delay_ms(100);
putsf("AT+CMGS=26\r\n");
delay_ms(100); 
putsf("Здесь строка из программы со второй страницы :)) ");


Urry, спасибо Вам!
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

А как Вы думаете, возможно ли на короткие номера отсылать сообщения? Тогда надо недостающие цифры номера F- ми заполнять?
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение Секретный кот »

А что, есть какие-то ограничения на длину номера? :shock:
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

не могу понять, допустим, я посылаю смс на короткий номер МТС: 111 (проверка баланса), я же так просто не могу его записать? Получается, что на самом-то деле не 111, а - 7 -код оператора - какие-то цифры- 111, в этом номере, по-настоящему, 11 цифр должно содержаться, или как?
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение urry »

по умолчанию подставляется номер в международном формате - т.е. у меня Украина - код страны 380 - у Вас Россия - код страны - 7, причем у нас "8" закрыли, у Вас нет... Только поиграться, попробовать, я не знаю...
как бы для Вас 807(код оператора- 2 цифры )111FFFF.
Благодаря Астериску я звоню на мобильные бесплатно, не задумывался...
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение Секретный кот »

urry писал(а):как бы для Вас 807(код оператора- 2 цифры )111FFFF.
Извините, конечно, но это полная ерунда.
Во-первых, в России для внутренних звонков набирается или 8, или +7 (8-10-7).
Во-вторых, короткие номера на то и короткие, что набираются без всяких кодов. Если номер 111 работает в сети МТС, то и набирать его надо с телефона МТС. Из других сетей он недоступен.
Ну и в-третьих, для проверки баланса используется не SMS, а USSD-запрос, а это несколько другая штука. Не факт, что его можно послать через модем. :wink:
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

Секретный кот писал(а):
urry писал(а):как бы для Вас 807(код оператора- 2 цифры )111FFFF.
Ну и в-третьих, для проверки баланса используется не SMS, а USSD-запрос, а это несколько другая штука. Не факт, что его можно послать через модем. :wink:
USSD должен же начинаться с "*" и заканчиваться "#"? А вот 111 - это услуга смс-помощника, т.е.
этот запрос отправляется в виде смс. :)
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

Отправил все же))), уже отчаялся, на последней попытке, и она пришла :music:. В общем
пришлось все в ручную делать: международный префикс убрал, все сообщение пересчитал.
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение urry »

boobonick, конкретнее, ведь кто-то же это читает...

Секретный кот, при таких заявлениях -относительно полной ерунды ... Аргументируйте своим кодом.
Со стороны смотрится очень невежливо.
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

Сначало что получилось: 001100038111F10008070400310031

001100 - это не менял

03 - длина цифр номера (наш номер 111, значит 3 цифры) в hex формате

81 - здесь поменял и поставил "использование неизвестного формата"

11F1 -это номер, на который мы отправляем смс, т.к. 111 нечетный, то добавляем в конце F, а потом меняем местами две соседних цифры

00 - идентификатор протокола

08 -выбираем кодировку USC2

07 -время действия смс

04 - это количество символов сообщения помноженное на 2 (в нашем случае отправляем сообщение 11)

00310031 - это наше сообщение 11 в юникоде.

Далее нужно посчитать какое значение вписывать в AT+CMGS=
для этого считаем все знаки в 001100038111F10008070400310031 без двух первых нулей, т.е.:
1100038111F10008070400310031 и делим на 2, в результате получаем AT+CMGS=14
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение Секретный кот »

urry писал(а):Секретный кот, при таких заявлениях -относительно полной ерунды ... Аргументируйте своим кодом.
Каким ещё кодом???? :shock:
Это касалось только вот этой цитаты
urry писал(а):как бы для Вас 807(код оператора- 2 цифры )111FFFF.
Вы предлагаете для звонка/отправки на короткий номер набирать ещё и код страны с кодом оператора – это как раз и есть ерунда. К тому же, даже сами коды даны с ошибками (собственно всё это я уже описывал выше). Если всё равно не верится, то достаточно "скормить" номер в таком формате любому российскому мобильнику, и посмотреть что получится :)))
urry писал(а):Со стороны смотрится очень невежливо.
Со стороны обычно смотрят не участвующие в дискуссии :wink:
Даже остановленные часы два раза в сутки показывают правильное время.
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение urry »

delete
Последний раз редактировалось urry Ср дек 21, 2011 17:43:50, всего редактировалось 1 раз.
Аватара пользователя
boobonick
Встал на лапы
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Re: Передача SMS как работать в PDU формате

Сообщение boobonick »

А как вы думаете посылаю я телефону разрешение на работу в режиме терминала: putsf("AT+CMEC=2,0,0\r\n");
в ответ он должен прислать OK, так вот, а какой OK должен быть-то, в конце он какими-нибудь символами дополняется? OK\r\n? Пытаюсь его вот таким кодом поймать :kill:

Код: Выделить всё


if (data!='')                     
      {            
      
      if (!strncmpf(cmd_buff,"OK\x1A\r\n\0",6)||!strncmpf(cmd_buff,"OK\0",3) ) 
      { PORTC.5=1; }   
      j=0;                                                      
      
      }   
     
         else   {   
         cmd_buff[j] = data;                                    
         j++;                                             
         if (j >= 200) {j=0;}                                    
               }   








Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Передача SMS как работать в PDU формате

Сообщение urry »

да, именно этим и дополняется. По умолчанию на мобилке включен режим эхоотражения, поэтому во время вывода я читал данные побайтно из ком-порта, не анализируя, после выдачи инфы уже анализирую - ок или еррор. Режим эхоотражения можно выключить специальной командой.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»