Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Вниз

Отправка Смс-сообщений через телефон, подключенный к ком-порт   Найти похожие ветки 

 
Diss   (2006-09-30 16:05) [0]

Пытаюсь реализовать программу для посыла смсок через мобильный телефон, подключенный к компорту, работаю с компортом как с файлом...открыл, записал туда строку, закрыл...если послать в компорт команду "atdt8910*******" , то телефон на эту команду реагирует и сответсвенно звонит...знаю, что при отправке смс также нужно посылать at-комманду, но как ни пробовал, не получается...
подскажите пожалуйста :
1) насколько знаю, там после посыла первой строки(содержащей в себе at комманду и номер телефона, на который эта смс должна уйти) нужно ещё как-то дождаться возврата от мобильного символа ">" а уже потом посылать ещё одну строку(с содержанием сообщения)...
как это реализовать я не знаю...
2) ещё читал, что надо передавать в строке номер смс-центра...а в струтуре комманды at+cmgs, комманды оправки смс, под этот номер место не отведено...
вот собственно 2 проблемы, если кто знает что-нибудь по этой проблеме, помогите пожалуйста советом...

упрощенный текст моей программы:

Var buff: string;
     h:text;
begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 assignfile (h, "COM8");
 buff:= <строка>;
 reset(h);
 rewrite (h);
 writeln (h , buff);
 closefile (h);
 Application.Run;
end.


 
X9 ©   (2006-09-30 17:51) [1]

Телефоны разные бывают, и интерфейсы передачи у них тоже могут различаться.
Попробуйте отпраить сообщение с помощью "родной" программы для телефона и перехватить данные передаваемые в порт какой-нибудь утилитой (можно посмотреть на http://sysinternals.com ).


 
Diss   (2006-09-30 23:40) [2]

спасибо, что-то стало проясняться...
пользуясь терминальной программой посылаю телефону
"at+cmgs=140"
и действительно получаю ответ ">"
теперь непонятно как мне в дельфи его дождаться...подскажите пожалуйста кто знает...достаточно ли просто какое-то время подождать (например процедурой sleep) или надо обязательно считать этот символ из компорта?


 
Percent   (2006-09-30 23:55) [3]

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

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

теперь непонятно как мне в дельфи его дождаться

Обычно такое ожидание делается  в цикле. Возможно - в отдельном потоке. Все зависит от логики работы программы.


 
Германн ©   (2006-10-01 01:45) [4]


> Обычно такое ожидание делается  в цикле. Возможно - в отдельном
> потоке.

Хм. Хотелось бы знать, что тут понимается  под "циклом"?
В отдельном потоке? Может быть, но имхо, не стОит.

Если принять во внимание
> Diss   (30.09.06 23:40) [2]
>
> спасибо, что-то стало проясняться...
> пользуясь терминальной программой посылаю телефону
> "at+cmgs=140"
> и действительно получаю ответ ">"

, то имхо "протоколы" и "разные модели" - "идут на север" вместе с верблюдами. :-)

Автору нужно было бы освоить работу с СОМ-портом в Windows! И задать вопрос именно об этом!


 
Германн ©   (2006-10-01 01:50) [5]

Блин.
Только что полностью прочитал сам вопрос автора!
Не. Ему лучше спросить совет у Кэтмара. Наверно последний предусмотрел в своём клиенте стандартный ответ про "метлу".


 
Ketmar ©   (2006-10-01 18:12) [6]

>[5] Германн(c) 1-Oct-2006, 01:50
>последний предусмотрел в своём клиенте
>стандартный ответ про "метлу".
нет. я честно руками набираю каждый раз. хотя, если подумать -- это идея. надо бы макрос сделать. %-)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
15-1161767460
Elen
2006-10-25 13:11
2006.11.12
Можно ли войти в нерасшаренную папку


2-1161951937
Начинающий209
2006-10-27 16:25
2006.11.12
Виртуальные методы


3-1157915075
DiX
2006-09-10 23:04
2006.11.12
Базы данных: удаление записи


2-1162064129
Yya
2006-10-28 23:35
2006.11.12
какую книгу брать


2-1161891213
Andrey.Ru
2006-10-26 23:33
2006.11.12
Как запустить цикл и не дожидаться его завершения?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский