Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.115 c
2-1162137894
vvh
2006-10-29 19:04
2006.11.12
Создание встроенного языка


15-1161699427
Krants
2006-10-24 18:17
2006.11.12
Nero и коммандная строка


15-1161700019
Витян
2006-10-24 18:26
2006.11.12
Из какой «оперы» слово АВИЗО?


15-1161249216
Empleado
2006-10-19 13:13
2006.11.12
Ищу "мишку"!


2-1161843616
Stanislav
2006-10-26 10:20
2006.11.12
Как сделать компонент с картинкой