Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с GSM телефоном

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Открыть новую тему     Написать ответ в эту тему

usertum



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Про отправку смс есть тут http://forum.ru-board.com/topic.cgi?forum=35&topic=44459 может кто мне и поможет...

Всего записей: 471 | Зарегистр. 01-07-2008 | Отправлено: 20:17 15-06-2009 | Исправлено: usertum, 20:18 15-06-2009
Max21951

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Напишите, пожалуйста, пример в виде AT комманд для отправки смс с русскими символами.

Всего записей: 1 | Зарегистр. 24-08-2009 | Отправлено: 06:19 24-08-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, с отправкой смс через AT+CMGS...
 
Ввожу команду: AT+CMGS=17<CR> 0001000B919780613291F3000004C9E9340B<ctrl-z>
 
Результат: ERROR
 
подскажите плиз что я делаю не так? в чём ошибка? (проверял несколько раз)
 
P.S. Ввод команды произвожу в точности как написал с учётом регистра и пробела после <CR> (не знаю важно ли это). Тестирую на Sony Ericsson K700.
 
А вот ещё проведённые тесты:
 
Команда: AT+CMGS=17
Выдаёт: ничё не выдаёт, зависает приложение и не отвисает сколько не жди
 
Команда: AT+CMGS=?
Выдаёт: ОК
 
Команда: AT+CMGS=17
0001000B919780623281F3000004C9E9340B
Команда: AT+CMGS=17
0001000B919780623281F3000004C9E9340B<ctrl+Z>
Выдаёт: ERROR
 
Ещё нашёл на одном сайте кое что:
Цитата
4. Для тех, кто уже был знаком с системой AT-команд простых модемов, замечу тот факт, что расширенные AT-команды у телефонов соединяются между собой в строке не напрямую, а через символ ";".
 
Попробовал записывать через точку с запятой и телефон видимо среагировал на этот знак и не выдал ошибки, но завис...
 
В общем уже сохраненные сообщения отсылаются:
Команда: AT+CMSS=?
Выдаёт: +CMSS:<mr>
OK
А вот просто отослать новое или сохранить сообщение так и не получается...

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 02:27 26-09-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
time13

Цитата:
Ввожу команду: AT+CMGS=17<CR> 0001000B919780613291F3000004C9E9340B<ctrl-z>  

не обижайтесь, но просто чтобы убедиться - в одну строку написали для удобства?  
речь об <CR> - так и набираете или все же жмете enter?
 
http://forums.devx.com/showthread.php?t=148016

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:47 26-09-2009 | Исправлено: Cheery, 02:49 26-09-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дело в том что я подаю эти команды на соньку с другой мобилы по блютуфу.. там естественно никаких Ентеров и в помини нет, т.е. теоретически после строчки  
AT+CMGS=17
он должен выдать  
>
(и вот здесь уже вводить PDU)
Но как я уже писал после строчки AT+CMGS=17 приложение просто зависает..
Пробовал так же реализовать Enter через коды OD или #13, а так же с комбинациями угловых скобок - в этих случаях если после равно стоит хоть что-то (какой либо другой символ или буква) кроме числа, то стабильно выдаётся ERROR.
 
Уже эту проблему давненько пытаюсь решить и пришёл к двум выводам, что дело именно в том месте где я пытаюсь использовать клавиши такие, как Enter и ctrl-z. И тут, на мой взгляд, два варианта:
1) или всё таки существует какой то правильный синтаксис (то ли для этого приложения, то ли вообще в принципе) для программного или интерактивного решения задачи, который я ещё не попробовал.
2) или вообще в этом приложение не предусмотрена посылка таких "сложных" АТ-команд, ведь обычные без Ентеров работают на ура..  
 
З.Ы. Приложение, которое использую: BT Info.

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 12:34 26-09-2009
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
time13
<CR> - это невидимый символ с кодом 0x0d, после него пробел НЕ нужен. Угловые скобки тоже не нужны. <ctrl-z> тоже невидимый символ, код не помню. Эти символы уходят в телефон на равных правах с остальными.
Когда я отправлял СМС-ки программно, я посылал строку в порт целиком от начала до <ctrl-z> включительно.
Если отправлять через терминал, набираем:

Код:
AT+CMGS=17

потом жмём Enter (телефон в ответ выводит символ '>')
Вводим остальную часть:

Код:
0001000B919780613291F3000004C9E9340B

Жмём ctrl-z.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 14:22 26-09-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Через коды тоже пробовал:
Команда: AT+CMGS=17OD
Результат: ERROR
Команда: AT+CMGS=17 OD
Результат: ERROR
Команда: AT+CMGS=17 0x0d
Результат: ERROR
Команда: AT+CMGS=170x0d
Результат: ERROR
 
Так же целиком всю команду пробывал (код для ctrl-z = 1A = 0x1a), результат аналогичен ERROR.
В документации написано:

Цитата:
Если синтаксис команды неверен, то выдается «ERROR».

 
Есть ещё варианты?

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 15:41 26-09-2009 | Исправлено: time13, 15:45 26-09-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
time13
какие варианты если вы неправильно делаете??
Вы думаете, что если напишите код символы в виде цифр, то то приложение, в котором набираете текст команд, автоматом преобразует его в нужный символ?
Почитайте что такое ascii коды

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 16:09 26-09-2009
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
time13
Нужно вводить не символы "0x0d" или "OD", а один символ с кодом 0x0d.
Для пущей ясности строка "AT+CMGS=17OD" в бинарном виде выглядит как последовательность байтов 41 54 2b 43 4d 47 53 3d 31 37 30 44. Нам вместо "OD" (30 44) на конце надо ввести символ, у которого нет печатного представления (0d).
Другими словами, символы "OD" мы вводим нажатиями клавиш, на которых написаны буквы 'O' и 'D', а символ с кодом 0d мы вводим нажатием Enter.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 16:16 26-09-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Цитата:
Нужно вводить не символы "0x0d" или "OD", а один символ с кодом 0x0d.

Спасибо огромное что разживал подробно, но я никак не доганю..(   что это будет за символ с кодом 0x0d? как будет выглядеть моя строка напиши если не сложно, плиз?
 
код 13, это и есть D (или 44) или 0D (или 30 44) это вроде как понятно...
в каком виде мне это добавить в конец строки?

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 16:46 26-09-2009
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
time13
Вот в этом сообщении я написал, как вводить руками.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 17:02 26-09-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В каком этом?? ссылка выкинула меня на эту же страницу.  
На этой странице ты писал тока как через нажатие энтеров вводить (без кода ентера)
и в бинарном виде... строку напиши пожалуйста...  
 
если я ввожу просто AT+CMGS=17, то телефон зависает (тот с которого подаю команду)

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 19:01 26-09-2009 | Исправлено: time13, 19:05 26-09-2009
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
строку напиши пожалуйста...

AT+CMGS=17<CR>0001000B919780613291F3000004C9E9340B<ctrl-z>
<CR> и <ctrl-z> - непечатаемые символы с кодами 0x0d и 0x1a соответственно. Чтобы их набрать, нужно нажать соответственно Enter и Ctrl-z.
Убедись, что терминал в PDU режиме. На телефоне (том, с которого подаешь команду) научись набирать эти самые непечатаемые символы <CR> и <ctrl-z>.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 21:18 26-09-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
это всё понятно уже давно как раз вопрос в том как их набирать? чё не пробую никак не выходит? а может быть такое что из этого приложения это вобще невозможно?

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 01:56 27-09-2009
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не исключено. Идем на сайт приложения, и курим мануалы на тему ввода специальных символов.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 10:31 27-09-2009
time13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот вот)) где бы его ещё взять) ну ладно разберусь или попробую блювер установить может там чё лучше...  
Я уж думал вы мне пытаетесь растолковать как эти непечатные символы вгонять, а я такой безмозглый не пойму ну всё равно спасибо за содействие!
 
З.Ы. Кто знает эти непечатные символы в BT Info пишите) буду просто примногоблагодарен)

Всего записей: 7 | Зарегистр. 26-09-2009 | Отправлено: 12:19 27-09-2009
nox 911

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго дня. Может кто знает почему модем Siemens M35i выдаёт ошибку сразу после ввода номера. Использую пример  
 
Dzar  

Цитата:
Проблема продолжается.... смс отправляется вот так    
AT+CSCS="UCS2"    
AT+CMGF=1    
AT+CMGS="8916*******"    
041F044004380432043504420021  
то заместо слова "привет!" приходит "      !"  
может кто сталкивался?

 Ввожу:
at
OK
at+cscs=ucs2
OK
at+cmgf=1
OK
at+cmgs=1128547 (жму Enter)
ERROR
А в PDU всё нормально вводиться, но PDU это самый крайний случай.
 
Добавлено:
Извиняюсь проблему с вводом телефона решил тоже использовав юникод.
Всё работает и приходит на русском)))спс

Всего записей: 2 | Зарегистр. 09-11-2009 | Отправлено: 11:01 10-11-2009
nox 911

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как всегда рано радовался(. Дело в том, что через Hyper Terminal всё отлично посылается как с Siemens MC35i так и с Wavecom M1306B. Но когда загоняю тот же код в контроллер TWIDO, на телефон приходят квадраты а в Hypere вот что(в режиме gsm всё нормально передаётся, но там нет русского):
 
+CMGL: 1,"REC READ","002B00330037003*003*003*003*003*003*003*003*003*003*",,"09/
11/10,14:48:40+08"
A00A00041F044004380432043504
Посылаю слово "Привет". Во-первых теряются два последних символа , во вторых появляется дополнительно 6 символов в начале( Может это связано с тем , что контроллер соединяется с модемом по ASCII , Modbus). Может  надо правильно установить AT+CSMP=17,167,0,8(стоит сейчас). Буду рад любой помощи)

Всего записей: 2 | Зарегистр. 09-11-2009 | Отправлено: 12:18 11-11-2009
FireZone

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nox 911
Цитата:
во вторых появляется дополнительно 6 символов в начале
Похоже, это кусок склеенной смс. В склеенных смс 6 байт в начале - это специальный заголовок. Несколько страниц назад я писал, как слать склеенные смс, и что-то про AT+CSMP. Должно помочь разобраться.

Всего записей: 293 | Зарегистр. 28-01-2004 | Отправлено: 22:29 15-11-2009
venchik01



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
никто не хочет поделиться готовой программой отправки/приёма SMS по-русски?

Всего записей: 1 | Зарегистр. 22-10-2008 | Отправлено: 21:39 07-12-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с GSM телефоном


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru