代码之家  ›  专栏  ›  技术社区  ›  Industrial

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

  •  2
  • Industrial  · 技术社区  · 15 年前

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

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

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

    3 回复  |  直到 10 年前
        1
  •  1
  •   Peter Stuifzand    15 年前

    本项目由两部分组成:

    1. 将internet连接到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 在这个例子中。有几种方法可以做到这一点。

      • 你可以用X10。但我没用过,所以我可以 更有用。
      • 有一个 Velleman K8055 ,USB接口板,可与USB连接。我把它和Perl一起使用,效果非常好。
      • 或者像Arduino这样的USB到硬件设备也可以工作。
      • 更简单的是:如果你使用USB灯,你可以 power off the USB power 关于那个装置。
        2
  •  2
  •   Luca Matteis    15 年前

    由于软件事件将触发一个物理动作(打开一盏灯),它将要求您与某种电子设备接口。

    一个好的开始是 Arduino . 它是开源硬件,让我们用C++的一个变种与板接口。

        3
  •  1
  •   Eugene Osovetsky    15 年前

    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”用于串行通信