CATALOG

PDU(电源分配单元)是机柜设备管理的“最后一张牌”,而5位分控机型刚好能满足绝大多数小微场景的精细化管理需求。芯步的智能硬件核心优势在于HTTP接口的极简设计——不挑语言、不绑平台、支持局域网闭环,以下方案围绕这一特点展开。

1. 背景与概述

在中小型机房、边缘计算节点或弱电井等场景中,机柜空间有限,设备种类繁杂(如路由器、交换机、服务器、防火墙等)。传统PDU(电源分配单元)仅作为单纯的电源插座使用,无法实现远程控制和精细化的能耗管理。芯步推出的5位智能PDU不仅支持每一位插座的独立开关(分控),还提供了标准的开放接口,允许开发者将其无缝集成到现有的运维系统或自研管理平台中。

本方案的目标是指导开发者如何利用芯步的开放接口(基于HTTP/HTTPS),实现对“5位机柜PDU”的接入,并通过软件逻辑实现“设备分组控制”。分组控制指的是将物理上位于不同PDU(或同一PDU内)的不同位插座,依据业务逻辑进行编组(例如:“核心网络组”、“存储服务器组”),实现一键批量开机、顺序上电或定时重启。

2. 核心物模型定义

在开始开发之前,需理解5位智能PDU的数据模型。根据芯步及相关设备规范,PDU的设备功能由属性(Property)指令(Command)定义

2.1 设备属性(状态)

PDU的五个通道对应五个独立的布尔状态属性。通过查询这些属性可获知当前设备的通断状态。

属性名标识符数据类型取值说明
线路1状态power1Bool / Int1=开启,0=关闭
线路2状态power2Bool / Int1=开启,0=关闭
线路3状态power3Bool / Int1=开启,0=关闭
线路4状态power4Bool / Int1=开启,0=关闭
线路5状态power5Bool / Int1=开启,0=关闭

2.2 核心控制指令

为了实现分组控制,我们主要利用其 “批量控制” 能力。芯步兼容统软云等平台的物模型规范,支持通过标准JSON指令操作任意位选组合

  • 单个控制:直接修改对应线路的属性值。

  • 批量控制(关键) :通过 batch 命令结合 relay 数组,指定一组特定的端口动作。

3. 接口接入流程

芯步的设备通过 WiFi 直接连接网络,无需额外网关,极大地降低了部署复杂度。接入流程分为以下三步:

3.1 准备工作

  1. 硬件就位:确保 5位 PDU 已上电并接入局域网。

  2. 获取凭证:在芯步开放平台(ThingBoot Open)注册开发者账号,获取 AppId 和 AppSecret,并将设备绑定至该账号下

  3. 网络确认:确保控制端(服务器或PC)与PDU在同一局域网(私有化部署)或公网可连通。

3.2 API 调用基础

芯步的接口设计非常简洁,支持任何支持HTTP请求的语言

  • 请求地址http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方式POST

  • 请求头Content-Type: application/json

  • 核心参数

    • device: 设备ID(5位PDU的序列号或ID)。

    • order: 指令内容(JSON对象)。

3.3 签名机制(简易版)

为了安全,接口通常要求签名。一般规则为:sign = md5(AppSecret + "ts=" + timestamp)将生成的sign和timestamp拼接到URL中,芯步服务端会验证请求的合法性

4. 分组控制的实现逻辑

分组控制的精髓在于软件层面对指令的封装。由于PDU支持任意位选的并发指令,服务器无需维护复杂的流水线状态,只需计算指令并发送。

4.1 核心指令解析:任意组合控制

假设我们需要对 “线路1”、“线路3”、“线路5” 执行开机,指令如下

若需要对 “线路2”和“线路4” 执行关机,指令如下:

方案亮点:该指令是原子性的。相比依次发送5条单控指令,一条 batch 指令能显著降低网络延迟,并保证组内设备状态切换的同步性

4.2 分组策略设计

结合业务场景,我们可以在业务层定义静态或动态分组。例如:

分组名称包含端口适用场景关联指令模板
网络核心组端口 1 (主路由), 端口 3 (核心交换机)永远保持开启,或在维护后第一批启动{ "relay":[1,3], "power":1 }
计算集群组端口 2, 端口 4 (服务器)需要定时重启或按需关闭节省电费{ "relay":[2,4], "power":0 }
外围设备组端口 5 (散热风扇/显示器)随环境策略联动{ "relay":[5], "power":0 }

4.3 高级功能:顺序上电(防浪涌)

在数据中心,若一组设备同时开启,瞬间电流(浪涌电流)可能击穿电路。虽然芯步的底层指令是并行下发的,但我们可以通过“应用层逻辑”弥补物理限制,实现虚拟的顺序上电

代码逻辑示例(伪代码)当触发“启动数据库组”(包含端口2、4、5)时:

  1. 发送 {"relay":[2], "power":1} (启动服务器A).

  2. delay(2000ms) (等待2秒,待电源稳定).

  3. 发送 {"relay":[4], "power":1} (启动服务器B).

  4. delay(2000ms).

  5. 发送 {"relay":[5], "power":1}.

5. 事件监听与状态同步

芯步的开放接口不仅支持下行控制,还支持上行监听。这对于分组控制至关重要:我们需要知道分组的状态,数据闭环是自动化的基础。

5.1 消息推送配置

在芯步控制台中配置“消息推送”URL(需公网可访问或内网穿透)。当设备状态变化时(如在网页端点击了按钮,或本地物理按键被按下),平台会主动推送当前设备全量或增量的状态数据

5.2 推送数据格式

当用户按下 PDU 的物理按键时,服务器会收到类似如下的回调:

应用:业务服务器接收到此回调后,可以实时更新数据库中的“分组状态”(例如判定“核心网络组”为在线),无需频繁轮询设备。

6. 部署架构

基于芯步的特性,采用混合架构

  • 内网直连模式:如果管理软件部署在机柜附近的工控机上,使用局域网IP直连方式调用HTTP API。这种方式响应极快(约80-120ms),且不占用公网带宽,不依赖外网稳定性。可以理解为设备的本地闭环控制。

  • 云端模式:对于多机房、无人值守站点的统一管理,可通过芯步的公有云平台进行中转。这提供了跨地域的集中管理能力。

7. 总结

通过芯步5位智能PDU的开放接口,实现设备分组控制无需复杂的嵌入式开发,仅需调用标准的HTTP batch 指令[]。该方案的核心在于:

  1. 利用 relay 数组:实现物理端口的虚拟化逻辑分组。

  2. 利用应用层延迟:模拟高端PDU的顺序上电功能,保护设备安全。

  3. 利用状态回调:保持分组状态的实时性与一致性。

这种“硬件标准化+接口开放化”的模式,使得企业运维人员仅需几行代码,即可将机柜电源管理深度集成进现有的IT运维体系(如Zabbix、Prometheus或自研运维平台)中。