-2

什么是 perl 中最简单的代码来监控来自任何设备(如 UPS、整流器、空调等)的陷阱。例如,我们要监控温度、服务器机房湿度、空调水平等。每个设备(如 UPS)内部都有 SNMP 卡和然后我们把陷阱服务器的IP地址放出来。目前我正在使用 snmptt 开放软件应用程序。

4

1 回答 1

10

摆脱机房里的老鼠可能非常困难。如果您不幸使用了他们认为有吸引力的电缆,它们可能会造成严重的困难。

就我个人而言,我不会将陷阱直接放在我的路由器或其他设备上——但陷阱放置是一门艺术,老鼠不会尊重我们的礼仪观念。触发鼠标陷阱时可能会很乱,因此您可能需要在陷阱下方放置一些报纸以包含任何混乱。当然,您需要确保设备中有良好的气流以避免过热。

  1. 构建一个带有压敏开关、微控制器、电池和以太网模块的小型 PCB。
  2. 编写软件来监控交换机的状态,并使用可用于小型项目的众多嵌入式 TCP/IP 和 HTTP 堆栈之一为微控制器提供基于 Web 的界面。
  3. 将 PCB 安装在疏水阀上,以便在开关关闭时其钳口向开关施加压力。
  4. 为每块PCB设置一个静态IP地址,并配置webserver以在主页上显示陷阱状态。
  5. 现在您可以使用 LWP::Simple 来监控陷阱。

示例 Perl 代码:

use strict;
use warnings;

use LWP::Simple;

my @hosts = @_;

while(1) {

    for my $host ( @hosts ) {

        my $content = get( "http://$host" );
        print "Host $host caught a mouse!\n" if $content =~ "TRAP CLOSED";

    }

    sleep 60;
}

当然,此解决方案假定您使用的是带钳口的陷阱并且您正在捕捉老鼠。不同的陷阱类型,例如胶水陷阱,将需要在您的 PCB 上使用不同的传感器。不同的采石场只需要更改 Perl 代码。


如果这不是您要寻找的答案,请详细描述您正在尝试做什么,让我们知道您尝试了哪些工具以及您正在操作的任何其他因素或限制。

如果您不确定哪些库可用并且无法开始,至少让我们知道您计划使用哪些协议。

于 2010-04-19T16:19:58.507 回答