从56k调制解调器创建一个拨号音

时间:2009-03-08 23:19:15

标签: c# vb6 serial-port modem mscomct2.ocx

好的,每个人都会进入你的回路机器。我需要将电话拨入我的计算机的56k调制解调器。我需要我的电脑让调制解调器“打开”,并有一个活跃的拨号音。 原因如下: 我有一个污水泵报警器会在泵故障时给我打电话。它只适用于固定电话。我想停止支付我的固定电话以省钱,只需要我的电池。我的想法是在我的电脑的56k v90调制解调器上拦截我的污水报警器中的出站caLL。然后我可以免费发短信,发电子邮件等。

有人知道怎么开始吗?我发现了很多关于如何从我的电脑拨打电话的东西,但我想要一部电话(设备)拨打我的电脑。我认为,除非它听到拨号音,否则不会拨号。

我更喜欢C#或vb6程序,但愿意接受任何东西。我有使用串行通信设备的经验,所以我只需要指向正确的方向。

感谢!!!

7 个答案:

答案 0 :(得分:5)

您的PC中需要的不仅仅是调制解调器才能完成您所描述的内容。污水泵和PC都有调制解调器,它们是电话“循环”的用户端。 CO端(电话术中心办公室)提供您正在通话的功能以及上述调制解调器。

一个重要的是产生一个响铃......这是一个相对高压的交流信号,它实际上敲响了旧式电话的铃声,但只是在较新的手机和调制解调器中检测到。为了识别您的污水泵呼叫,必须在您的PC调制解调器上接收此环电压,但是污水泵实际上不会产生这种音调。

此处介绍的其他想法(使用PABX SOHO开关或将检测到的信号从污水泵直接连接到PC上的I / O端口),我可以想到另一种选择。在污水泵内部的某处是一个UART芯片,它与所包含的调制解调器进行串行通信。如果您断开调制解调器与UART的连接,您可以使用串行端口的基础知识,该端口可以连接到PC上的串行端口(尽管您可能需要一个接口芯片才能获得正确的级别...请参阅由格言)。

祝你好运!

答案 1 :(得分:3)

简单方法:使用简单的PABX(小型SOHO类型)让您的闹钟呼叫您的PC。您可以使用PC的调制解调器等待调制解调器的RING。 (使用System.IO.Ports.SerialPort类来实现此目的。)您需要对警报系统进行编程以调用PC的内部编号。

一旦你收到戒指,你就让软件完成剩下的工作。

答案 2 :(得分:1)

另一个选项是用Python编写的pySerial脚本。

您可以编写一个小型侦听器,侦听来自您的泵调制解调器的电话。您需要了解一些AT命令,您可以在任何地方在线查找。

import pySerial
ser=serial.Serial('COM4',2400,timeout=1) #replace 2400 with your baudrate

ser.open()

ser.write("ATS0=1\r\n") #picks up after one ring

while(1):
    line = ser.readline() #listen in a loop

答案 3 :(得分:1)

我曾经有一个“电话线模拟器”,允许我测试调制解调器配置,让一个调制解调器通过模拟电话公司的讨价还价的一个小黑盒调用另一个。这样的东西应该很容易找到,并且很容易解决你的问题。

答案 4 :(得分:0)

您是否需要抽水泵来实际拨号? 你能不能只是拦截抽水泵检查拨号盘? 或更好, 也许有一个电子产品朋友,他可以连接一个插入污水泵的简单设备,并检查泵出现故障时的电压边缘。这是实际尝试拨号的泵之前或同时发生的事件。当这个小设备检测到边缘时,它可以适当地触发PC上的某些东西。该设备甚至可以检测到电话线上的V变化 - 在RJ11上。

答案 5 :(得分:0)

我不知道您对电子产品的熟悉程度,但我几乎想知道您的解决方案是否可以通过软件和硬件的混合来处理。

我的第一个想法就是让像Arduino这样的东西连接到执行泵故障检测的电路或电话线,并监视泵发出的任何信号。 Arduinos通常通过serial / usb连接到您的计算机,然后您可以使用一个软件通过电子邮件发送给您,发送给您的推文或任何您想要的内容。

你可能有你的调制解调器手表试图拨出泵,但我不知道你怎么能这样做。

答案 6 :(得分:0)

我可能会将这两个程序分开。

  1. 我有HyperTerminal(假设你在Windows机器上)运行你的调制解调器,使用ATA或类似的东西,在活动时,我会让它写一个文件。
  2. 我有另一个程序作为自动化任务运行(每30分钟一次),查看该文件是否已更改,并触发短信发送到您的手机。
  3. 我认为这将是一个简单的设置,它易于维护,但足够可靠,以防止你的房子成为一个游泳池......