芯步智能PDU开放标准的HTTP API接口,支持通过签名认证进行远程控制。以下方案以5位总控PDU(型号UNI-PDU-ZK-5)为基础,说明如何将其接入自有系统并与传感器、门禁等设备实现场景联动。
1. 背景与概述
在智能化机房、实验室、自动化农业或智慧办公场景中,常常需要对核心设备的电源进行集中管理。芯步智能5位总控PDU(型号:UNI-PDU-ZK-5)不仅支持远程通断,更开放了标准的HTTP API接口,允许开发者将电源控制能力集成到现有的业务系统中。
本方案的目标是利用芯步PDU的开放接口,通过中间件开发的方式,实现PDU与环境传感器、门禁状态、红外人体感应等设备的逻辑联动,达到“场景触发即电源动作”的自动化闭环控制,彻底摆脱人工手动操作。
2. 核心技术架构
2.1 开放接口特性
芯步智能PDU具备极其友好的二次开发基础:
接口协议:标准的HTTP/HTTPS协议,支持GET/POST请求。
数据格式:请求采用
application/json格式。网络要求:设备通过WiFi 2.4GHz直连网络,无需网关,这意味着你的控制服务器与PDU必须在同一局域网或通过VPN/公网IP互联。
控制粒度:支持单路控制(power1, power2...)和批量控制。
2.2 API签名机制
在进行二次开发时,核心在于签名(Sign)的计算。芯步为了防止接口被恶意篡改,采用了动态签名机制:
AppID:用于标识你的开发者身份。
AppSecret:用于加密的密钥。
Sign算法
Sign = md5( md5(AppSecret) + ts )。即先将AppSecret进行MD5哈希,拼接上当前时间戳(秒级),再进行一次MD5哈希。
2.3 场景联动逻辑架构
为了实现“场景联动总控电源”,采用 “传感器/触发器 -> 中心控制服务 -> PDU” 的三层架构:
感知层:各类传感器(温湿度、烟雾、门磁)或业务事件(如定时任务、API调用)。
逻辑层:自建的联动服务(通常运行在本地服务器或云服务器上),负责接收事件并判断逻辑。
执行层:芯步5位总控PDU,根据指令执行断电或送电。
3. 二次开发详细步骤
3.1 环境准备与设备配网
注册与登录:访问芯步官网,注册账号并登录控制台。
获取凭证:在控制台的“开发设置”中获取
AppID和AppSecret。这是后续所有API请求的钥匙。设备配网
将PDU通电。
在控制台或小程序中找到“网络配置”功能。
输入现场2.4G WiFi的名称和密码,通过手机热点桥接方式或直接配置,使PDU连入网络。
记录下PDU的
Device ID(设备ID),后续API调用需要此参数。
3.2 接口调用逻辑开发
你需要编写一段后台服务代码(支持Python, Java, Node.js, PHP等),封装芯步的控制接口。
核心控制命令示例:假设我们需要控制第1路和第3路开启,全部关闭,并模拟“重启”操作。
开启指定通道
order参数:{"power1":1, "power3":1}(1代表开,0代表关)
关闭所有通道
order参数:{"power":0}(总控命令)
重启指定通道 (场景联动常用):
逻辑是先发送
{"power1":0},等待2-3秒,再发送{"power1":1}。
代码实现伪代码(以Python为例):
3.3 “总控”与“分控”的策略设计
既然是“5位总控PDU”,在联动设计上有两种模式:
全局场景联动:当触发火灾报警或漏水报警时,调用
{"power":0}切断整机电源,保护所有后端设备安全。设备级联重启:当网络监测到路由器无响应时,依次重启
power1(光猫) -> 等待30秒 -> 重启power2(主路由)。通过程序逻辑实现多步顺序控制。
4. 场景联动方案实施(实战案例)
以下以 “无人值守实验室智能断电” 为例,说明如何实现场景联动。
4.1 需求定义
目标:下班后,若30分钟内检测到无人移动且灯光关闭,则自动切断实验室非必要设备电源(如显示器、打印机、普通仪器),保持服务器电源不断。
组件
芯步5位总控PDU(控制设备电源)。
红外人体传感器(检测人员存在)。
光照传感器或智能灯控系统(检测环境状态)。
自研联动服务(Node-RED 或 Python脚本)。
4.2 联动逻辑编排
数据采集:自研服务定时(如每2分钟)轮询人体传感器和光照传感器的API(如果是第三方传感器,需调用其对应的接口获取状态)。
条件判断
IF 人体传感器 = 无人状态 AND 光照传感器 < 阈值 AND 当前时间 > 19:00 THEN 触发断电场景为了防止误判,增加“持续时间”判断,例如持续10分钟均为该状态。
指令下发
服务判定条件满足后,构造请求。
调用芯步API,参数为
device="PDU_ID", order='{"power2":0, "power3":0, "power4":0}'(假设服务器接在power1口,保持开启)。
状态反馈:服务记录下断电日志,并可选择推送通知给管理员。
4.3 高级联动:传感器直连PDU(私有化方案)
如果你需要更实时、更低延迟的联动(不经过云端轮询),采用芯步支持的私有化部署方案。
将MQTT Broker(消息服务器)部署在本地局域网。
PDU和传感器都通过MQTT协议连接到此Broker。
配置规则引擎(如Node-RED),订阅传感器的
occupancy主题,一旦收到false消息,立即向PDU的command主题发布关机指令。这种端到端的本地控制延时可以控制在毫秒级。
5. 注意事项与最佳实践
5.1 接口调用安全
时间戳有效性:Sign中的时间戳
ts用于防止重放攻击。确保服务器时间与标准时间同步,误差过大会导致签名验证失败。HTTPS:请一定要使用HTTPS协议进行交互,防止
AppSecret在网络传输中被抓包泄露。
5.2 负载与电气安全
总额定功率:该型号PDU总额定功率为3000W,单孔位最大1500W。联动逻辑中应避免将所有大功率设备同时通电,否则容易造成过载跳闸。在开机联动脚本中设置延时启动(如间隔2秒开启一路)。
5.3 断网容灾
虽然开放接口依赖网络,但PDU本身具备断电记忆功能。在联动逻辑中加入“离线保活”机制:若联动服务检测到网络断开,应保持当前状态不变,待网络恢复后再执行积压的指令,避免因网络抖动导致设备误动作。
6. 总结
通过芯步提供的开放HTTP接口,开发者可以快速实现对5位总控PDU的深度定制。无论是简单的定时任务,还是复杂的多传感器联动场景,只需通过封装 md5 签名接口并调用核心的 control 指令,即可将传统PDU升级为智慧场景中的“总控大脑”,实现对末端设备的精细化、自动化能源管理。