CATALOG

芯步的智能PDU插排通过开放HTTP接口,支持远程参数配置和设备控制。以下方案详细说明了分控/总控两款5位PDU的接口调用流程、签名算法和实操步骤,帮助快速完成对接集成。

解决方案:基于芯步开放接口的PDU插排远程参数配置管理

1. 背景与目标

在现代机房或远程办公场景中,对电源设备进行远程参数配置和通断管理是保障业务连续性的关键。芯步的智能PDU插排(5位)提供了标准的HTTP接口,允许开发者或系统集成商将其无缝接入现有的运维系统。

目标: 通过调用芯步开放平台的API,实现对5位PDU插排的每一个独立插孔进行远程通电、断电、重启以及状态查询,并支持配置定时任务或联动策略。

2. 核心对接原理

芯步采用 HTTP POST 请求模式,通过签名(Sign)机制保证接口安全。

  • 通信协议:HTTPS

  • 数据格式:JSON

  • 鉴权方式:AppID + Sign(MD5加密)

所有指令均通过统一的API入口发送,设备在接收到指令后实时执行(响应时间约80-120ms)

3. 准备工作:获取凭证与设备联网

在进行API开发前,需要完成以下基础配置:

  1. 注册与登录:访问芯步官网,注册账号并“创建工作台”

  2. 获取密钥:进入“物联网控制台” -> “开发设置”,获取系统生成的 AppIDAppSecret。这是后续生成签名的凭证

  3. 设备配网

    • 确保PDU插排通电,指示灯处于快闪状态(待配网模式)。

    • 利用“芯步小程序”或PC控制台,为设备配置现场的2.4G WiFi网络

    • 注意:设备暂不支持5G WiFi频段。

  4. 获取设备ID:配网成功后,在控制台的设备列表中查看该PDU的唯一标识 Device ID(例如示例中的“1878”)

4. 技术:签名计算规则

为了防止API被篡改,每次调用接口都需要动态计算签名。芯步采用 双层MD5加密 策略

  • 公式Sign = md5( md5(AppSecret) + ts )

  • 参数说明

    • AppSecret:在控制台获取的开发者密码。

    • ts:当前Unix时间戳(秒级)。注意:时间戳必须与服务器时间同步,偏差过大会导致签名失效。

代码示例(伪代码/Python思路):

5. 远程参数配置与指令下发实操

针对5位PDU插排,控制指令主要集中在 order 参数中。根据芯步官方文档,该设备支持分控和总控两种模式,指令略有不同

5.1 单孔独立控制(分控型号)

如果是分控型号(可独立控制每个插孔),使用 power1power5 参数。

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

  • 请求体 (Body)

    示例:上述命令将关闭第1个插孔。

5.2 总控与高级指令

如果是总控型号或需要批量操作,可使用以下指令

  • 全开/全关{“power”:0} (关闭所有插孔,0为关,1为开)

  • 定时/延时配置:通过order参数结合time字段实现。例如配置设备在指定时间重启或开启。

5.3 查询设备状态

通过接口拉取设备信息,可以获取当前各插孔的实时功率、开关状态等参数,用于在自身运维系统中做可视化展示。

6. 代码调用实战

以下是一个完整的 CURL 命令示例,演示如何关闭第2个插孔:

7. 进阶集成:参数配置自动化

在“远程参数配置管理”场景中,除了开关,更重要的是自动化策略

  1. 联动传感器:芯步生态支持传感器联动。例如,若机柜温度传感器检测到温度过高(如>35℃),平台侧可设置“规则引擎”自动触发PDU指令,打开对应散热风扇插孔,或关闭产生高温的高负载设备

  2. 回调配置:配置消息推送接口。当PDU状态发生变化(如插座跳闸、有人插拔设备)时,芯步平台会主动向配置的服务器URL推送状态变更数据,方便实时记录日志

8. 常见问题排查

  1. 签名错误(401):检查系统时间是否同步;确认md5结果是否为32位小写十六进制字符串。

  2. 设备离线:PDU必须连接2.4G WiFi;检查网络防火墙是否屏蔽了外网访问(若需私有化部署,请联系芯步技术支持开启局域网模式)

  3. 指令无响应:确认order中的powerX指令是否与设备型号匹配。总控型号不识别power1,分控型号不识别power(除非是广播全开)。

9. 总结

通过芯步开放的HTTP API,集成5位智能PDU插排是一项标准化程度高、易于实现的工作。仅需掌握AppID/Secret的鉴权机制和JSON指令格式,即可轻松将基础电源管理能力赋予上层业务系统,实现“无人值守”的远程运维。