V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qazwsxkevin
V2EX  ›  硬件

N100 小主机,使用路由器 UPS 保障断电,有何办法让小主机“感知”AC 已经断电、还有电池快耗尽呢?

  •  1
     
  •   qazwsxkevin · 2 天前 · 1956 次点击

    准备购置 N100 小主机放弱电箱里,(散热风道已经弄好)
    1 、因为弱电箱所在位置,外面条件有限,放不下那种具有 4 盘位 NAS 体积大小,的独立 AC UPS (好像这种 AC UPS ,最小也是这种体积大小了)

    2 、所以打算购置那种给光猫,路由器用的那种 8 万~20 万毫安锂电,能出 DC 12V5A 的 UPS(我的弱电箱能塞进去)

    以上,
    第 1 点提到那种超小型 AC UPS ,貌似叫得上牌子的产品,是没有通信口的(没见到有),而群辉 NAS 的那种专用的 UPS ,它电源管理的通信方式是 USB 接口,似乎是群辉 NAS 专用的协议?
    (不过这种 UPS ,似乎我的场景也无法摆置,所以只是问问)

    第 2 点提到的微型 UPS ,这种完全没有通信接口,而且要靠负载功率计算和电池容量,再减去损耗,估算一个大概时长,
    现在我是想:
    因为小主机 docker 要跑数据库,自己经历过几次 mysql 断电恢复修库,真的很麻烦

    这里有以下问题:
    3 、如果我购置了第 2 点提到那种锂电池 UPS ,有什么办法让主机感知 UPS 的状态呢? AC 没电有电?(可以通过脚本,提前收敛数据库进程之类的

    27 条回复    2024-11-20 09:22:44 +08:00
    renmu
        1
    renmu  
       2 天前 via Android   ❤️ 1
    你可以往你的插座上随便插个能通信的设备,然后轮询,不通就说明断电了
    lpt0
        2
    lpt0  
       2 天前 via Android
    没用过 ups ,我看网上有 nut(network ups tools)这种管理工具,不知道能不能用
    Puteulanus
        3
    Puteulanus  
       2 天前
    之前看人用瓦力盒子 ups ,好像挺小的,有 USB 通信口,最大输出功率 120W ,你可以看看,小主机的话应该够吧
    Vneix
        4
    Vneix  
       2 天前 via Android
    群晖威联通用的那种 UPS ,是连接到群晖威联通的 USB 接口的。

    所以也能连接到普通 windows 电脑。比如我买的山什么 UPS ,连接到 windows 后右下角就会出现一个电池图标,就是笔记本电池那种。

    再用上客服给的软件就实现了 windows 下指定电量休眠/关机。

    买之前问一下客服就行。
    Vneix
        5
    Vneix  
       2 天前 via Android   ❤️ 1
    仔细看了一下楼主的情况。

    有个简单粗暴的办法,断电了肯定就没网了是吧?

    写个脚本一直 ping 路由器网关或者百度,连续多少次 ping 不通直接关机,这样是否可行?
    sinxccc
        6
    sinxccc  
       2 天前
    尽量用带通信接口的 UPS ,然后至少有一台机器跟 UPS 的 USB 相连。这台机器可以把 UPS 状态再从网络广播出去。

    主机跟 UPS 的 USB 通信取决于厂家,广播的话我记得 nut 是可以的。
    ladypxy
        7
    ladypxy  
       2 天前 via iPhone
    ups 都支持 usb 通讯的,并不是 nas 专用
    eastern
        8
    eastern  
       2 天前
    如果你的弱电箱原本就有排插,可以找一下山特有个排插样子的 ups ,貌似支持群晖,直接替换原有的排插。
    corcre
        9
    corcre  
       2 天前
    @renmu #1 给 AP(或者找个别的什么固定在家的设备)分配一个静态 IP 然后轮询就好了
    rojer12
        10
    rojer12  
       2 天前
    ups 不是都有管理软件的吗,找一下上面有没有 usb 口或者网口之类的
    qazwsxkevin
        11
    qazwsxkevin  
    OP
       2 天前
    谢谢各位,大概理解了更多,以下是 GPT 的一些回答,不知道是不是这样?

    #################
    一些 UPS 制造商通过 HID 协议传输状态信息(如电池电量、负载情况),使得 UPS 可以即插即用,操作系统(如 Windows 、Linux 、macOS )可以直接识别并与之通信。
    这种方式是跨平台且通用的。

    有些 UPS 使用自定义的通信协议,这些协议在 USB 层之上构建,通常需要安装特定的驱动程序或管理软件(例如 APC 的 PowerChute 或其他 UPS 厂商的软件)。

    UPS 通信接口在 HID 协议层面是有标准的,具体是由 USB-IF ( USB Implementers Forum )定义的 HID 子类别,专门用于电源设备。相关标准包括:

    USB HID Power Device Class: 定义了 UPS 等电源设备通过 HID 协议传输电源相关数据的格式和方法。

    但如果 UPS 使用自定义协议,就不受 HID 标准的约束,而是由各厂商自行定义。这种情况会导致不同品牌和型号的 UPS 之间的协议不兼容。

    如果需要深度功能(如远程管理、电池测试、固件升级等),往往需要厂商自定义协议以及其配套的软件。
    #################

    看样子是写个脚本 cron ping ip 地址了,然后恢复 ping 响应就代表来电作出其它分支........
    hoythan
        12
    hoythan  
       2 天前
    现在选择 N100 还是 N5015 ?为啥贝控 N5015 4GB 128 950 块钱,N100 8GB 128 才 850 块钱。
    哪个更强?
    jtshs256
        13
    jtshs256  
       2 天前   ❤️ 1
    脑补下,线圈套 AC 线检测是否断电,电池正负极飞线出来接电压检测模块测电量,弄个 esp32/8266 之类的(主机 USB 或 DC 分线供电)处理下
    catazshadow
        14
    catazshadow  
       2 天前
    写个服务 ping 树莓派什么的,超时两次就 poweroff
    sunmacarenas
        15
    sunmacarenas  
       2 天前 via Android
    20w 毫安锂电 ups ,这是在家准备安个 c4 么
    liuzimin
        16
    liuzimin  
       2 天前
    @Puteulanus 瓦力好像是锂电池?感觉不太安全啊。
    coolcfan
        17
    coolcfan  
       2 天前
    @hoythan N100 应该是架构更新的一代
    xdeng
        18
    xdeng  
       2 天前
    @liuzimin 铁锂的
    AQIVK1E0IV
        19
    AQIVK1E0IV  
       2 天前
    最简单的就是定时 ping 网关,连续三次不通就关机,让 ChatGPT 写一个就行
    git00ll
        20
    git00ll  
       2 天前
    ping 网关这个主意不错唉
    null2error
        21
    null2error  
       2 天前
    nut 框架我之前实践过,在多虚拟机的环境下单独配一个 nut server 负责和外部 UPS 通信,把电量下限拉满,停电 3 分钟就开始给客户端发关机命令,实践下来没啥问题的,几次意外停电都看到日志正常输出了
    PrinceofInj
        22
    PrinceofInj  
       2 天前
    群晖的实际上就是 nut ,可以把群晖作为 nut 的服务端,其他的作为客户端。但是老实说,Windows 的 nut 难用到令人发指。
    xiaoyuesanshui
        23
    xiaoyuesanshui  
       2 天前
    市电上接个 ap 啥的网络设备
    服务器上写个脚本,5 分钟 ping 一次,通就跳过,不通就关机

    基本上就是 1 楼的路子
    yulgang
        24
    yulgang  
       2 天前
    正经 UPS 没有使用锂电的啊

    tg-box650 也不贵
    dann73580
        25
    dann73580  
       1 天前
    Nut 不是直接可以和有 usb 通信公牛的 ups 兼容吗?跑一个就行了……群晖也是这方案,根本不是专有协议。楼上说瓦力盒子不错,挺小巧。
    bao3
        26
    bao3  
       1 天前
    你可以播头那里支持断电检测,也可以买带通信口的 ups ,协议是公开的,并产是专用协议,linux 下你安装 nut 就可以直接读 ups ,linux 也自动就可以根据电池状态做相应动作
    hoythan
        27
    hoythan  
       1 天前
    UPS 有失火风险。虽然 UPS 肯定不是锂电池是蓄电池。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4757 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:47 · PVG 17:47 · LAX 01:47 · JFK 04:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.