Работа с модемом
Поставлена задача: нужно с помощью компьютера набирать телефонный номер. Но вот никак не могу заставить модем снять трубку :( Вроде и с ком-портом связь есть, порт открывается, но вот дальше че с модемом делать не знаю.
Возможно все дело в том, что с модемом первый раз имею дело, да и с VB тоже.
Кто подскажет что дальше делать? Я так поняла, что посылать команды модему нужно с помощью св-ва MSComm1.Output. Так и делаю. Но вот как получить от модема ответ? Пробую MSCOmm1.Input, но получаю в ответ то же, что и сама посылала.
Нашла библиотеку mscomm, но вот ника кне могу с ней управиться.
Поставлена задача: нужно с помощью компьютера набирать телефонный номер. Но вот никак не могу заставить модем снять трубку :( Вроде и с ком-портом связь есть, порт открывается, но вот дальше че с модемом делать не знаю.
Возможно все дело в том, что с модемом первый раз имею дело, да и с VB тоже.
Кто подскажет что дальше делать? Я так поняла, что посылать команды модему нужно с помощью св-ва MSComm1.Output. Так и делаю. Но вот как получить от модема ответ? Пробую MSCOmm1.Input, но получаю в ответ то же, что и сама посылала.
если вы работаете с модемами на уровне портов ввода/вывода, то посылайте модему AT команды. какие - см. справочник к вашему модему, а так же список Hayes совместимых команд. это вы в инете найдете. по коду не помогу - незнаком с бейсиком.
пример - шлете в модем
ATA
на нем должна лампочка OH загорется
если вы работаете с модемами на уровне портов ввода/вывода, то посылайте модему AT команды. какие - см. справочник к вашему модему, а так же список Hayes совместимых команд. это вы в инете найдете. по коду не помогу - незнаком с бейсиком.
пример - шлете в модем
ATA
на нем должна лампочка OH загорется
Спасибо. Я вот и пытаюсь эти самые команды посылать модему. Только вот не знаю реагирует ли он на них.
А на моем модеме я лампочек не нашла :)
Спасибо. Я вот и пытаюсь эти самые команды посылать модему. Только вот не знаю реагирует ли он на них.
А на моем модеме я лампочек не нашла :)
внутренний что ли? :o или WinModem (три раза перекрестился). ну если вы отклик прочитать не можете, то пошлите ему ATZ, а затем ATDНОМЕР_ТЕЛЕФОНА. тогда сразу увидите ;)
внутренний что ли? :o или WinModem (три раза перекрестился). ну если вы отклик прочитать не можете, то пошлите ему ATZ, а затем ATDНОМЕР_ТЕЛЕФОНА. тогда сразу увидите ;)
проблема вот в чем: мне телефон никто ставитьне собирается, но прогу я под него должна написать :)
Есть другая, ну модная прога, так там когда снимается трубка, то модем издает характерный щелчек. А от моих команд модему наверно ни холодно ни жарко. Просто хоть бы ошибку выдавал или еще как-то реагировал! А так я даже и не знаю, может у меня все работает :( Скажите мне лучше, щелчек при снятии трубки модемом должен быть обязательно? Это что-то аппаратное или как? А то для меня модем - это темный лес.
Ответ кстати: ну наверно внутренний модем (плата такая себе) ... я не вкурсе какие они бывают, мне лично модем никакогда не нужен был.
updated: и еще - в журнал модема пишутся все обращения к нему или только какие-то особенные?
Но теперь другая проблема - он не хочет ложить трубку.
Как я знаю команда "ATH". Но реакция на эту команду какая-то странная - "NO CARRIER". Что бы это должно значить? Сигнал по прежнему идет...
Что я делаю не так?
и еще - в журнал модема пишутся все обращения к нему или только какие-то особенные?
все :)
щелчки - это щелкает реле.
по поводу реакции на ATH. послав в модем ATA, вы перевели его в режим передачи данных. все что вы посылаете в него - теперь воспринимается как попытка передачи данных. Правда NO CARRIER дается не потому, что вы посылаете ATH, а потому что сняв трубку, модем не может обнаружить несущую. Если бы у вас была подключена линия, модем дал бы вам CONNECT после нескольких секунд писка. после этого, чтобы положить трубку, нужно будет:
перевести модем в командный режим посылкой
+++
затем, получив ОК
ATH
попробуйте перед тем, как работать с модемом, сэмулировать все это терминальной прогой типа HyperTerminal
если интересует теория:
http://laguten.chat.ru/index_book.htm
все :)
по моим наблюдениям - не все. Модем откликаться начал, а в журнал ничего не записывается из моей проги.
щелчки - это щелкает реле.
спасибо :)
по поводу реакции на ATH. послав в модем ATA, вы перевели его в режим передачи данных. все что вы посылаете в него - теперь воспринимается как попытка передачи данных.
1. ATA я вообще не посылала. Посылала "ATDT<tel>;". ; в конце значит, что модем переходит в командный режим после набора номера, так по крайней мере я поняла из прочитанного. Хотя пробовала по-разному.
Правда NO CARRIER дается не потому, что вы посылаете ATH, а потому что сняв трубку, модем не может обнаружить несущую. Если бы у вас была подключена линия, модем дал бы вам CONNECT после нескольких секунд писка.
Это когда? В общем ... начнем с самого набора номера. Набрала я номер (упомянутой выше командой), что дальше? Попробовала получить ответ модема - получила "OK". Дальше жму кнопочку, по которой посылается команда "ATH" и получаю "NO CARIER". Что я пропустила? То, что он не может обнаружить несущую я поняла, но вот почему не совсем понимаю.
Пробовала и "+++" добавлять, почему-то не очень помогло.
То, что он не может обнаружить несущую я поняла, но вот почему не совсем понимаю.
Пробовала и "+++" добавлять, почему-то не очень помогло.
у вас модем к линии подключен???
у вас модем к линии подключен???
ну да.
В общем такая ситуация: одна большая комната. Я звоню с одного телефона (через модем с помощью моей проги) на другой телефон, в той же комнате. Идут сигналы вызова, все ок. Но вот положить трубку (прервать связь) не получается кроме как нажать на самом телефоне "конец связи". Причем на мою команду "ATH" модем отвечает "OK". Что он (модем) хочет этим сказать? :)
ну да.
В общем такая ситуация: одна большая комната. Я звоню с одного телефона (через модем с помощью моей проги) на другой телефон, в той же комнате. Идут сигналы вызова, все ок. Но вот положить трубку (прервать связь) не получается кроме как нажать на самом телефоне "конец связи". Причем на мою команду "ATH" модем отвечает "OK". Что он (модем) хочет этим сказать? :)
хм... не совсем я понимаю. а как вы определяете, что связь не прерывается?
хм... не совсем я понимаю. а как вы определяете, что связь не прерывается?
1. идут звонки на том телефоне, на который звоню.
2. в трубке тоже идут гудки.