CATALOG

芯步智能PDU(总控版)支持HTTP接口开放,你可以通过二次开发将其集成到现有运维系统中,实现远程参数配置与集中管理。以下方案涵盖设计、接口调用流程及关键代码示例。

1. 解决概述

1.1 背景与目标

在现代数据中心和无人值守机房中,智能PDU(电源分配单元)是基础设施的关键组成部分。芯步推出的智能PDU(总控版,型号如UNI-PDU-ZK-8)支持WiFi 2.4G联网,并免费开放了HTTP接口

本方案的目标是利用该硬件提供的开放API接口,指导开发人员如何构建一套独立的远程管控系统,实现对5位总控PDU的深度二次开发,核心目标包括:

  • 远程总控:摆脱物理按键和局域网限制,实现跨网络的电源接通/切断。

  • 参数配置管理:实时读取电压、电流阈值,并远程修改设备的保护参数(如过载保护值)。

  • 自动化运维:将PDU操作嵌入现有的运维脚本或工单系统。

1.2 核心技术架构

采用标准的 物联网云平台 + 终端设备 的B/S架构,具体分层如下:

  • 感知层:芯步5位总控智能PDU,通过WiFi连接互联网。

  • 接入层:芯步开放的HTTP API网关。这是二次开发的关键入口。

  • 应用层:用户自研的配置管理系统。

  • 交互协议:HTTPS Request/Response,数据格式为JSON。

2. 二次开发的前置准备

在进行代码开发前,需完成以下基础配置工作,以确保网络通路顺畅。

2.1 账号与设备注册

  1. 注册芯步官网账号。

  2. 在控制台创建“工作台”,并安装“物联网控制台”模块

  3. 将智能PDU添加至账户下。

    • 配网方式:仅支持2.4G Wi-Fi。

    • 配置途径:可通过PC端物联网控制台或微信小程序进行配网

    • 获取凭证:配网成功后,在控制台获取该设备的唯一标识(Device ID),并获取/生成二次开发所需的AppID和AppKey。

2.2 接口鉴权体系

芯步的接口采用动态签名验证,确保数据安全。每次调用接口需携带三个核心参数:

  1. appId:应用唯一标识。

  2. ts:当前时间戳(Unix时间戳,秒或毫秒级),用于防重放攻击。

  3. sign:签名。按官方文档规则,将参数排序后拼接,进行MD5或SHA加密。

    *公式示例:sign = md5(AppKey + "appId=" + AppID + "deviceId=" + DeviceID + "ts=" + ts )*

3. 远程总控与参数配置的开发实现

针对5位总控PDU的特性,该系统需实现两大模块:开关控制参数配置管理

3.1 远程开关控制开发

虽然硬件是5位总控,但二次开发时通常涉及“全开、全关、重启”三个核心动作。

  • 接口地址https://api.yoyoiot.com/v2/device/control

  • 请求方法:POST

  • 请求参数设计(示例)

开发

  • 异步回调:控制命令为异步下发,在系统中配置回调地址,以接收设备执行结果的确认信息。

  • 轮询机制:若无法配置回调,可设置定时任务通过查询接口获取设备最新状态。

3.2 核心难点:参数配置管理

芯步PDU设备内置了阈值保护逻辑。二次开发的核心价值在于:远程调整这些阈值

3.2.1 获取当前参数配置

在上位机系统中,需实时同步PDU的阈值设置。

  • 接口方向:查询设备属性。

  • 逻辑实现:调用属性查询接口,解析返回的params字段。典型的可配置参数包括:

    • 电压上限:超过该值自动断电。

    • 电流上限:过载保护点。

    • 上电延时:设备通电后插座输出的延迟时间。

3.2.2 修改参数配置

通过接口向设备写入新的配置。

  • 业务场景:当机柜新增高功率服务器时,需远程调高电流保护阈值。

  • 代码逻辑示意(Python FastAPI 示例)

3.3 本地局域网与私有化部署

芯步的智能PDU支持局域网和私有化部署,这尤其适合对带宽或数据安全敏感的应用场景。

  • 实现的方式是:在二次开发时,开发者可将控制模式切换为“局域网模式”。

  • 优势:控制指令不经过芯步官方云,直接请求PDU在局域网内的IP地址,响应速度更快,断外网仍可控制。

4. 系统落地:应用界面与逻辑设计

为了让运维人员高效管理这5位总控PDU,二次开发的应用界面设计如下功能模块:

4.1 可视化仪表盘

  • 实时展示当前总功率、电压、电流。

  • 显示当前5个插孔位(虽然是总控,但硬件通常支持分路监测)的开关状态

4.2 策略配置面板

  • “定时任务”模块:利用API接口,设定每周日凌晨3点执行power_off -> power_on,实现设备定期冷重启。

  • “联动告警”模块

    • 场景:当系统监测到机柜温度传感器数据过高,但温控风扇未启动时。

    • 动作:自动调用PDU接口,执行power_off(紧急断电保护)。

  • “批量操作”:针对管理多台PDU的用户,支持一键“批量总控”,同时关闭所有机柜电源。

5. 关键注意事项

在开发测试及生产部署阶段,请请一定要关注以下技术细节:

  1. 签名算法一致性:请一定要核对官方文档中的参数排序规则(是字典序升序还是特定顺序),这是导致接口返回 401 Unauthorized 最常见的原因

  2. 5G Wi-Fi 兼容性:芯步PDU仅支持 2.4G Hz 频段。在配置网络环境时,需确保设备连接的是2.4G信号,或关闭路由器的5G信号分流功能

  3. 配网状态监测:在二次开发的管理后台中,应增加“设备在线状态”心跳检测。由于设备通过WiFi连接,网络波动可能导致离线,系统应能及时告警。

  4. 参数下发延迟:配置参数修改后,增加3-5秒的等待时间再查询状态,因为设备Flash写入新配置存在微小延迟。

6. 总结

通过对接芯步智能PDU的开放HTTP接口,可以在极短时间内构建出一套专业的电源控制系统。本方案的核心在于充分利用其 “开放接口” 特性,将底层硬件的电路控制能力抽象为RESTful API,从而无缝集成到企业现有的运维工单系统、监控报警系统(如Zabbix、Prometheus)中,实现从“被动人工运维”向“主动自动驾驶”的转变。