我正在开发一个安全摄像头系统,为我认识的一些人提供帮助。该系统的一个功能是,一旦检测到移动,就会拨打电话号码(我不是想给任何人打垃圾电话 :-)
我需要知道一种自动拨打电话号码的方法。
运行该系统的计算机运行 Linux,可以访问互联网,但无法物理访问电话插孔,因此我无法使用本地调制解调器。它必须让局域网上的某个代理进行拨号,或者以某种方式使用互联网。
我研究过使用 Skype API,但结果太乱了,而且人们不再被允许访问开发者网站,因为该网站据称正在进行改版。
我正在研究的另一种解决方案是让网络连接的微控制器与串行调制解调器通信,但对于本来应该很简单的事情来说,这似乎非常复杂。
如有任何建议,我们将不胜感激,谢谢。
答案1
答案2
1) 确定你的基本需求。我的猜测是:
- 通过电话(因为这是他们随身携带的设备)将安全问题通知一个或多个人。
2)集思广益,想出各种方法来实现这一目标。想法:
- 调制解调器拨号然后发出一连串的哔声。
- VOIP 系统通过电话自动播放特定的音频文件。
- 短信(一些电子邮件转短信网关或类似的东西)
- 电子邮件(适用于那些通过设备接收电子邮件的人)。
- 其他?
3)评估您想出的每个选项,然后选择最合适的选项(成本、功能等)
我怀疑短信可能是最简单的方法。调制解调器不行,原因有二(距离插孔太远,+ 发送的信息最多也只能算不准确)。
答案3
当然可以用 Skype 实现。而且非常容易:
在 Linux 上,Skype 的 CLI 如下:
"skype --callto echo123"
Java 代码:
package net.bounceme.dur.skype;
import java.io.*;
public class SkypeEchoTest {
public static void main(String args[]) throws IOException {
String s = null;
Process p = Runtime.getRuntime().exec("skype --callto echo123");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
System.out.println("Here is the standard output of the command:\n");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
System.exit(0);
}
}