2

我今天从一位客户那里收到了一个非常不寻常的问题。它们提供了一项关键任务服务,当特定事件发生时通知人们是很重要的。目前,他们有一个 API,当通过 Web 浏览器访问时,根据他们的警报状态简单地写出 TRUE 或 FALSE。

他们希望更进一步,因此他们希望有一台 PC 可以连续从现有 API 中获取值,并根据值切换继电器,该继电器将打开/关闭警报或警告灯在他们的办公室。

我不知道如何构建这样的东西,因为我只在 Web 应用程序上工作。这听起来不像是一个需要太多脑细胞的项目,但对我来说无疑是一个挑战。我需要学习什么语言才能完成这样的事情?

4

3 回答 3

2

由于软件事件将触发物理动作(打开灯),因此需要您与某种电子设备进行交互。

一个好的开始是Arduino。它是开源硬件,让您使用 C++ 的变体与开发板交互。

于 2010-11-12T12:05:43.923 回答
1

X10 + curl + 任何允许您通过串行端口进行通信的语言:

http://www.smarthome.com/1140/X10-Activehome-CM11A-Computer-Interface-CM11A/p.aspx

http://www.smarthome.com/manuals/protocol.txt

http://curl.haxx.se/

甚至可能只是一个批处理文件将它们捆绑在一起,包括http://www.computerhope.com/cttyhlp.htm + 'echo' 用于串行通信

于 2010-11-12T12:42:33.073 回答
1

本项目由两部分组成:

  1. 将互联网连接到 PC。例如使用 Perl。

    use LWP::Simple 'get';
    
    
    my $url   = 'http://...';
    my $value = get($url);
    if ($value =~ m/TRUE/) {
        switch_relay(1);
    }
    elsif ($value =~ m/FALSE/) {
        switch_relay(0);
    }
    
  2. switch_relay在示例中,将 PC 连接到某些硬件。有几种方法可以做到这一点。

    • 您可以使用 X10。但我没有使用它,所以我可以提供更多帮助。
    • Velleman K8055,一个USB接口板,可以接USB。我将它与 Perl 一起使用,效果非常好。
    • 或者其他一些 USB 到硬件设备,比如 Arduino,也可以工作。
    • 更简单:如果您使用 USB 灯,您只需关闭该设备的 USB 电源即可。
于 2010-11-12T12:53:11.727 回答