Страница 1 из 1

Вопрос по АТ команде

Добавлено: Вт май 12, 2009 13:05:51
Arik
Помогите плиз! Хочу соединить тини 2313 и мобильник по усарту чтобы отправлять смс с микроконтроллера, и не получается :(
пишу команду

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

 AT+CMGS=«+33146290800»<CR>Perezvoni mne. <ctrl>
И не отправляется! Я думаю что ошибка в <CR> и <ctrl>
но не знаю чем их надо заменить. Помогите пожалуйста. Спасибо![/code]

Re: Вопрос по АТ команде

Добавлено: Вт май 12, 2009 13:54:23
mr.Kirill
Ну насколько мне память не изменяет нужно сначала отправить
AT+CMGS="+33146290800"<CR>
телефон ответит знаком ">" и потом набрать текст сообщения + Ctrl+Z
Аналог CR - ASCII 0x0D
Аналог Ctrl + Z - ASCII 0x1A

PS. Сильно помидорами не кидать, писал на память. Давно уже не работал с этим.

Добавлено: Вт май 12, 2009 14:21:59
Arik
Спасибо!
А так пойдет?
AT+CMGS="+33146290800"0x0D
text_sms 0x1A

Добавлено: Вт май 12, 2009 17:51:30
mr.Kirill
Пробуй.
В крайнем случае - попробуй сначала через HyperTerminal

Добавлено: Ср май 13, 2009 14:21:49
Arik
Пробовал - не получается :( Кто делал подскажите как?

Добавлено: Ср май 13, 2009 16:51:37
WildCat
а по моему там не голый текст в ASCII передается, а как то кодироваться должен. Тоже читал давно, но щяс не вспомню

Добавлено: Ср май 13, 2009 17:59:09
__Alexander
WildCat писал(а):а по моему там не голый текст в ASCII передается, а как то кодироваться должен. Тоже читал давно, но щяс не вспомню
Там голый ASCII.
К автору: у Вас вобще на просто AT команду отвечает ОК? Если да, то еще не факт, что ваш мобильник поддерживает весь перечень команд. Хотя ATD он обязан принять. Пробуйте позвонить в режиме VOICE.

И вобще, что за телефон? Имеется ли перечень команд?

PS: У некоторых команд есть обратная связь "?" или "=?", по ним тоже можно ориентироваться.

Добавлено: Пт май 15, 2009 01:30:16
Arik
Телефон самсунг команда ATD работает, отправка смс из программы для телефона проходит нормально, но отследить команды я не могу так как телефон подключается к программе по USB порту.
При подключении по блютузу к компу создаю в блютузе виртуальный СОМ порт и подключаюсь к телефону - команда ATD_номер проходит нормально, телефон звонит! А вот СМС видимо я не правильно задаю! Подкиньте примерчик как будет правильно? Спасибо!
Желательно рабочий код. Спасибо есче раз!

Добавлено: Пт май 15, 2009 07:35:16
asteroid7
Arik
Какая в телефоне включена кодировка? Что выдаёт на запрос?

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

AT+CSCS?
А на эту что отвечает?

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

AT+CSMS?
Как mr.Kirill сказал делали?
Вместо +3 поставьте +7. Ответ от телефона > ждали?

Добавлено: Пт май 15, 2009 11:59:08
shtorm
возможно у вас не потдерживаеться текстовый режим отправки смс, проверить это можно командой AT+CMGF=?
если ответит +CMGF=(0,1) значит потдерживаеться оба режима (Text,PDU) ежели только 0 то увы..PDU если таки потдерживаеться текст то нужно его выставить по умолчанию AT+CMGF=1 (проверить текущее значение AT+CMGF?) и попробывать отправить с терминала.

Добавлено: Пт май 15, 2009 13:24:53
Arik
Ребята! Вобщем вот лог общения терминала с модемом. Я так понял, что модем не выходит из текстового режима и воспринимает команды как текст! Как быть? Что тогда делать? Может я не так завершаю?

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

AT E0             //инициализируем модем
OK

AT+CMGF?     //проверяем режим передачи
+CMGF:0
OK

AT+CMGF=1  //проверяем возможен ли текстовый режим?
OK

AT+CMGF?    //установился ли текстовый режим?
+CMGF:1
OK

AT+CMGS="+79243333333" 0x0D//пытаемся отправить смс
ERROR

AT+CMGS="+79243333333"//тогда так!
>

POZVONI MNE SROCHNO! 0x1A// тут должно всё вроде закончиться и отправиться
>

0x1A//не отправляется, приглашение для ввода текста остается :(
>


Добавлено: Пт май 15, 2009 13:45:37
shtorm
если в терминале то:

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

AT+CMGS="+79243333333"//тогда так! 
> 

POZVONI MNE SROCHNO! 0x1A
0x1A -писать ненужно, нужно нажать Ctrl+Z

Добавлено: Пт май 15, 2009 14:02:41
Krik99
Попробуй для начала так:

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

ATD"+33146290800"<CR>
И если будеш отправлять через МК надо в конце команды писать \r \n , у мну без этого не работало. :(
Если после этого позвонит значит разбирайся с командами, а если нет - возможно плохое соеденение.

Добавлено: Пт май 15, 2009 14:10:39
Arik
shtorm писал(а): 0x1A -писать ненужно, нужно нажать Ctrl+Z
Да я понимаю что в терминале нужно нажать это клавосочетание, но я хочу передавать эти команды не с терминала, а с микроконтроллера! И пользуюсь программой Advanced Serial Port Monitor и в ней это сочетание клавиш (Ctrl+Z) удаляет введеный текст! Так где же изюминка спряталась? Как решить проблему? Какую команду отправляет терминал при нажатии этих клавиш? :o

Добавлено: Пт май 15, 2009 14:18:28
shtorm
Ctrl+Z -отправь 26 в Dec
после команды ATD -13 тоже в Dec

P.S. если хочешь увидить какая команда уходит в порт то включи на модеме эхо и без команды просто нажми нужную клавишу и увидишь его значение

Добавлено: Пт май 15, 2009 18:02:00
Krik99
Я использовал эту программу при отладке.

Добавлено: Пт май 15, 2009 18:42:15
__Alexander
Да я понимаю что в терминале нужно нажать это клавосочетание
Пошли <ctrl-Z>

Добавлено: Сб май 16, 2009 02:11:06
Arik
__Alexander писал(а): Пошли <ctrl>
Пробовал - воспринимает как продолжение текста СМС - отвечает >
:( :shock:



Может у кого текст исходника остался? покажите конец плиз!

Добавлено: Сб май 16, 2009 11:16:11
__Alexander
Arik писал(а): Может у кого текст исходника остался? покажите конец плиз!
Можно попробывать еще так:
"textSMS\x1a\x0d"

Либо же подключи телефон к стандартной проге, отсылай из нее СМС и любым сниффером ком-порта посмотри обмен. Если, конечно, шнурок делает виртуальный ком.

А вобще, там тупо 0x1A

Добавлено: Сб май 16, 2009 13:14:11
Arik
Krik99 писал(а):Я использовал эту программу при отладке.
я ПРОБОВАЛ И ЭТУ ПРОГРАММУ - ТАЖЕ БЕДА! не выходит из режима >
Как сказать телефону что ввод текста смс окончен и дать ему команду 0х1А???
Спасибо!