CATALOG

芯步的智能PDU开放标准HTTP接口,支持任何编程语言调用。以下方案以5位总控PDU为例,涵盖定时任务、批量控制、信号反馈等核心场景,附签名算法和代码示例,可直接集成到现有系统中。

解决方案:基于芯步开放接口实现PDU远程总控与定时任务

1. 概述

本方案的目标是利用芯步提供的标准HTTP开放接口,对“智能PDU(5位)”进行二次开发。通过集成该接口,开发者可以实现对PDU各路电源的远程总控独立分控以及精准定时任务

该方案适用于数据中心、共享办公位、智慧教室、无人值守机房等需要远程电源管理的场景。接口基于JSON格式,支持任何主流编程语言(如Java, Python, PHP, Node.js)及Web/小程序前端直接调用

2. 核心准备工作

在开始开发之前,需要完成以下环境配置:

  1. 硬件就绪

    • 确保“智能PDU(5位)”已通电。

    • 通过“芯步”小程序或控制台为其配置2.4G WiFi网络,确保设备状态显示为 “在线”

  2. 获取凭证

    • 登录芯步官网,进入“工作台” -> “物联网控制台”。

    • 在“开发设置”中获取以下三个关键参数:

      • AppID:应用唯一标识。

      • AppSecret:接口调用的密钥(请勿泄露)。

      • Device ID:目标PDU的设备ID(可在设备列表查看)

3. 接口鉴权与签名机制

芯步的API采用动态签名验证,每次请求都需要计算sign。算法规则如下

签名公式sign = md5( md5(AppSecret) + ts )

  • ts:当前的Unix时间戳(秒级)。

  • md5:标准的32位小写MD5加密算法。

鉴权参数请求URL格式为:https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

4. 功能开发:远程总控与定时任务实现

针对5位PDU,物模型定义了标准的控制指令。以下通过 curl 示例和逻辑说明展示如何实现核心功能。

4.1 单路与总控开关(立即执行)

这是最基础的远程控制能力。

  • 控制第3路断开

  • 全部接通(总控)

  • 全部断开(紧急关闭)

4.2 实现“定时任务”

芯步的接口支持在命令下发时直接携带延时动作参数,无需在服务器端维护复杂的定时任务队列。这通常通过 “先断后通”“先通后断” 指令实现

场景 A:定时开启(设备当前为关闭状态)需求:空调在 1 小时后自动开启。方案:等待1小时 → 发送接通指令。或利用设备自带的reset(先断后通)如果设备本身是断的,reset会先触发接通。更正:更标准的做法是设置一个未来的定时任务。如果仅使用相对时间,可以利用接口的天然特性:若不需循环,可使用系统自带延时有些版本支持 time 参数或 delay,标准方案是利用 reset 实现“闭合一段时间后断开”或反之。

场景 B:定时重启(最实用功能)*需求:路由器/服务器每天早上 3:00 重启(即断开再接通)。*方案:使用 reset 指令。假设需要重启接在第1路的设备,命令如下:

应用在业务层:在凌晨3点由您的服务器调用此接口,设备会瞬间断电5秒后自动恢复,完成冷重启。

场景 C:基于时间点的循环任务需求:工作日 9:00 开机,18:00 关机。方案:集成方需要在您的业务服务器中配置 Cron 表达式

  1. 09:00 触发:调用 {"power1":"1"}

  2. 18:00 触发:调用 {"power1":"0"}PDU本身接收立即执行指令,由您的业务系统作为触发器。

4.3 组合命令实现“一键场景”

利用 batch 指令,可以一次性控制5路的不同状态,解决上电时序问题。

需求:先启动主机(第1路),5秒后再启动显示器(第2路)这需要业务代码逻辑支持:

  1. 调用 {"power1":"1"}

  2. sleep(5000)

  3. 调用 {"power2":"1"}

5. 接口调用实战示例

以下是一个完整的 Python 示例,展示如何计算签名并发送“全部接通”指令。

代码说明:此脚本运行即可让PDU通电。若需实现 “1小时后自动断电” ,可将 order 替换为 {"reset":{"relay":[1,2,3,4,5],"interval":3600000}}(注意interval单位为毫秒)

6. 高级状态同步机制

单纯的命令下发(无反馈)是不够严谨的。为了确保“任务确实执行了”,使用事件上报机制

芯步支持消息推送功能。当设备状态发生变化(无论是通过API控制还是物理按键操作),平台会主动向您的服务器推送状态变更通知。

  • 配置方法:在控制台设置您的“消息接收服务器”URL。

  • 接收示例:当执行总控断电后,您的服务器会收到类似 {"power1":"0","power2":"0"..."power5":"0"} 的状态包。

  • 价值:这能完美解决“指令发了,但设备离线没执行”的监控盲区,是构建高可靠性运维系统的关键。

7. 总结

通过集成芯步5位PDU的开放接口,开发者可以快速构建具备以下能力的电源管理系统:

  1. 统一管控:通过batch指令实现一键总控。

  2. 自动化运维:结合业务层定时器与设备端的reset指令,实现设备的远程自动重启与按需供电。

  3. 闭环可控:利用消息推送机制实时同步电源状态,确保每一次通断都有据可查。

这套方案不仅降低了现场运维的人力成本,还极大提升了机房或共享办公区域的用电管理效率。