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

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

  •  1
     
  •   qazwsxkevin · 38 天前 · 2642 次点击
    这是一个创建于 38 天前的主题,其中的信息可能已经有所发展或是发生改变。

    准备购置 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 没电有电?(可以通过脚本,提前收敛数据库进程之类的

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

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

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

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

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

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

    主机跟 UPS 的 USB 通信取决于厂家,广播的话我记得 nut 是可以的。
    ladypxy
        7
    ladypxy  
       37 天前 via iPhone
    ups 都支持 usb 通讯的,并不是 nas 专用
    eastern
        8
    eastern  
       37 天前
    如果你的弱电箱原本就有排插,可以找一下山特有个排插样子的 ups ,貌似支持群晖,直接替换原有的排插。
    corcre
        9
    corcre  
       37 天前
    @renmu #1 给 AP(或者找个别的什么固定在家的设备)分配一个静态 IP 然后轮询就好了
    rojer12
        10
    rojer12  
       37 天前
    ups 不是都有管理软件的吗,找一下上面有没有 usb 口或者网口之类的
    qazwsxkevin
        11
    qazwsxkevin  
    OP
       37 天前
    谢谢各位,大概理解了更多,以下是 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  
       37 天前
    现在选择 N100 还是 N5015 ?为啥贝控 N5015 4GB 128 950 块钱,N100 8GB 128 才 850 块钱。
    哪个更强?
    jtshs256
        13
    jtshs256  
       37 天前   ❤️ 1
    脑补下,线圈套 AC 线检测是否断电,电池正负极飞线出来接电压检测模块测电量,弄个 esp32/8266 之类的(主机 USB 或 DC 分线供电)处理下
    catazshadow
        14
    catazshadow  
       37 天前
    写个服务 ping 树莓派什么的,超时两次就 poweroff
    sunmacarenas
        15
    sunmacarenas  
       37 天前 via Android
    20w 毫安锂电 ups ,这是在家准备安个 c4 么
    liuzimin
        16
    liuzimin  
       37 天前
    @Puteulanus 瓦力好像是锂电池?感觉不太安全啊。
    coolcfan
        17
    coolcfan  
       37 天前
    @hoythan N100 应该是架构更新的一代
    xdeng
        18
    xdeng  
       37 天前
    @liuzimin 铁锂的
    AQIVK1E0IV
        19
    AQIVK1E0IV  
       37 天前
    最简单的就是定时 ping 网关,连续三次不通就关机,让 ChatGPT 写一个就行
    git00ll
        20
    git00ll  
       37 天前
    ping 网关这个主意不错唉
    null2error
        21
    null2error  
       37 天前
    nut 框架我之前实践过,在多虚拟机的环境下单独配一个 nut server 负责和外部 UPS 通信,把电量下限拉满,停电 3 分钟就开始给客户端发关机命令,实践下来没啥问题的,几次意外停电都看到日志正常输出了
    PrinceofInj
        22
    PrinceofInj  
       37 天前
    群晖的实际上就是 nut ,可以把群晖作为 nut 的服务端,其他的作为客户端。但是老实说,Windows 的 nut 难用到令人发指。
    xiaoyuesanshui
        23
    xiaoyuesanshui  
       37 天前
    市电上接个 ap 啥的网络设备
    服务器上写个脚本,5 分钟 ping 一次,通就跳过,不通就关机

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

    tg-box650 也不贵
    dann73580
        25
    dann73580  
       36 天前
    Nut 不是直接可以和有 usb 通信公牛的 ups 兼容吗?跑一个就行了……群晖也是这方案,根本不是专有协议。楼上说瓦力盒子不错,挺小巧。
    bao3
        26
    bao3  
       36 天前
    你可以播头那里支持断电检测,也可以买带通信口的 ups ,协议是公开的,并产是专用协议,linux 下你安装 nut 就可以直接读 ups ,linux 也自动就可以根据电池状态做相应动作
    hoythan
        27
    hoythan  
       36 天前
    UPS 有失火风险。虽然 UPS 肯定不是锂电池是蓄电池。
    cqrg
        28
    cqrg  
       20 天前
    tg-box850 现在不到 300 块钱,主机安装 nut ,配置服务端。客户端就很随便了,群晖直接可以识别,也可以接入到 homeassistant 做智能化策略。
    另外,还有人实现了群晖的 ups 检测协议,可以自己实现用 eps32 一个。
    https://github.com/bilibilifmk/ESP_UPS_demo
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:08 · PVG 03:08 · LAX 11:08 · JFK 14:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.