从网站和控制中继获取值?

时间:2010-11-12 12:02:17

标签: c++ api alarm

我今天从客户那里得到了一个非常不寻常的问题。它们提供关键任务服务,在特定事件发生时通知人们非常重要。目前,当Web浏览器访问时,它们只有一个简单写出TRUE或FALSE的API,具体取决于它们的警报状态。

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

我不知道如何构建这样的东西,因为我只在Web应用程序上工作。这听起来不像需要太多braincells的项目,但对我来说肯定是一个挑战。我需要学习哪些语言才能完成这样的工作?

3 个答案:

答案 0 :(得分:2)

由于软件事件将触发物理操作(打开灯),因此需要您与某种电子设备连接。

一个好的开始是Arduino。它是开源硬件,让你使用C ++的变体与电路板连接。

答案 1 :(得分: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'

答案 2 :(得分: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. 将PC连接到示例中的某些硬件switch_relay。有几种方法可以做到这一点。

    • 您可以使用X10。但是我没有用它,所以我可以 对此更有帮助。
    • Velleman K8055,一个USB接口板,可以用USB连接。我在Perl中使用它并且它工作得非常好。
    • 或其他一些USB到硬件设备,如Arduino,也可以。
    • 更简单:如果您使用的是USB灯,则只能power off the USB power该设备。