背景
我有一台 Ubiquiti 网络录像机 (NVR),连接到 Eaton 3S 550 UPS。NVR 基本上是一台运行 Debian 的微型 PC,用于录制 LAN 上网络摄像头的视频。我的目标是始终保持 NVR 运行,或者在断电时将其正常关闭。
事实证明,通过安装 NUT(Network Up Tools)可以正确关闭 UPS,当 UPS 电量达到 60% 时,它会自动发出关机命令。UPS 通过 USB 连接到 NVR。
通过将 NVR 的 BIOS 设置为“交流电连接”上的“开机”,重新打开它也变得很容易。而且由于 NVR 关闭后 UPS 会自动切断电源输出(它通过 USB 检测到),当电源恢复时,UPS 将打开电源输出,NVR 将重新启动。
问题
但是,有一种棘手的情况我不知道该如何处理。假设发生电源故障,UPS 电池电量达到 60%,NVR 开始关闭(大约需要 20-40 秒)。如果在 NVR 仍在关闭时电源恢复,它当然会完成关闭并自行关闭 - 但由于 UPS 尚未关闭其主电源输出,因此不会发生“交流电连接”事件,并且 NVR 将保持关闭状态。重新启动它的唯一方法是手动按下电源按钮,或者如果发生另一次电源故障,时间足够长,UPS 会关闭其主电源输出,然后在电源恢复时打开。如何解决这个问题?
到目前为止我尝试过的
我尝试过 LAN 唤醒功能,该功能在 BIOS 中可用,但在实际生活中似乎不起作用(当 NVR 关闭时,以太网端口甚至没有亮灯)。我的想法是,某个设备(可能只是连接到电源(而不是 UPS)的简单专用 Arduino)可以在 NVR 开机时或每隔一分钟左右定期向 NVR 发出 WOL。
“强力”解决方案是构建一个带有伺服器的 Arduino 装置,该装置可以按下 NVR 上的电源按钮 - 这可能有用,但相当笨拙,而且操作起来很麻烦。正如所提到的,NVR 是一台运行 Debian 的微型 PC,我真的不想费劲打开它并将任何东西(例如 Arduino)直接连接到电源按钮焊接点……
问题
我还能尝试哪些技巧来防止这种情况发生或解决它?