Форум: "Основная";
Текущий архив: 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.071 c