芯步的5位智能PDU(分控/总控型号)均开放HTTP接口,支持通过API对每个插座进行独立或整体的远程控制。以下方案涵盖两种型号的选型差异、接口调用方法、配网流程以及总控命令的实现代码。
怎么接入芯步机柜PDU(5位)以实现5路设备电源总控解决方案
1. 概述与产品选型
芯步提供两种5位智能PDU,均支持HTTP接口对接,但核心功能不同,请根据实际需求选择:
智能PDU[分控] (型号:UNI-PDU-FK-5) :每一位插座均可独立控制。如果你需要实现“总控”(一键同时开关5个设备),需要通过API同时下发5条指令。
智能PDU[总控] (型号:UNI-PDU-ZK-5) :在硬件层面将5个孔位视为一个整体。API接口更简单,只需控制“总开关”即可实现5路设备的同时断电/通电 。
推荐方案:为了减少代码复杂度和网络延迟,选用智能PDU[总控]。若已有分控设备,本文第4部分将给出通过代码实现“逻辑总控”的方法。
2. 接口对接准备
在开始编码前,需完成以下前置步骤,确保设备在线:
注册与登录:访问芯步官网注册账号,并进入“工作台” -> “物联网控制台” 。
设备配网
设备仅支持 2.4G WiFi。
可通过PC控制台或微信小程序进行配网。操作路径:控制台 -> “网络配置” -> 添加现场WiFi名称密码 -> 开启手机热点(名称/密码需与现场WiFi一致) -> 设备通电自动抓取配置 。
获取关键凭证
AppID:在控制台查看。
Device ID:设备贴纸上或控制台设备列表中的数字ID。
Sign算法:需根据官方文档计算签名,通常涉及AppSecret。
3. API接口调用详解
芯步接口开放且标准,支持HTTP/HTTPS请求,也支持MQTT协议。以下以HTTP POST为例,因为设备指令通常涉及JSON数据。
基础信息:
请求地址
http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方法:POST (推荐,参数较长)
Content-Type:application/json
鉴权参数说明:
AppID:直接拼接在URL路径中。
ts:Unix时间戳,用于防重放攻击。
sign:签名值,用于验证身份。
4. 实现“5路设备电源总控”的核心逻辑
本节区分“总控型号”和“分控型号”的不同实现方式。
4.1 方案A:使用“总控型”PDU (硬件级实现)
如果你购买的是智能PDU5位[总控],该设备拥有一个统一的“总开关”属性(例如属性名为 power)。
下发命令
{"power": 1}(开启) 或{"power": 0}(关闭)效果:内部继电器动作,5个插座位同时获得或失去电力。
优势:延迟最低(单条指令),硬件一致性高。
4.2 方案B:使用“分控型”PDU (软件级实现)
如果你购买的是智能PDU[分控],需要控制5个独立的通道。假设该设备的控制协议中,5个通道对应的属性为:power1, power2, power3, power4, power5。通道值为1(开)或0(关)。
为了实现“一键总控”,你有两种技术处理方式:
方式一:批量下发(推荐)利用芯步接口支持在一个请求中携带多个指令的特性。
注意:这种方式对分控设备而言,若设备固件不支持原子操作,5个开关在物理上会有极短时间的先后闭合顺序(毫秒级),但在大部分机柜场景可忽略。
方式二:循环单发如果你需要在总控的同时,对某些执行失败的设备进行重试,可以依次发送5条不同的HTTP请求。但总耗时会增加。
4.3 代码示例(Python)
以下示例展示如何对接分控PDU实现“一键总开/总关”。
5. 高级特性和需要注意的点
异步反馈机制:接口返回
200仅代表服务器收到了指令,不代表PDU真的执行了动作。在关键任务中,配置消息推送(通过MQTT或Webhook)监听设备回传的状态值,确认电压/电流变化或设备返回的power_ack。私有化部署:如果机柜处于纯内网环境或无外网访问权限,芯步支持私有化部署。此时API地址需替换为自建服务器的IP或域名 。
故障排查
设备离线:检查2.4G WiFi信号强度,PDU不支持5G WiFi。
签名错误:请核对时间戳(ts)是否与服务器时间差在合理范围内(通常为5分钟)。
指令格式:若总控不生效,请查阅设备对应的产品手册,确认“总控”的具体属性名(可能是
total_switch而非power)。
通过上述步骤,你可以快速将机柜PDU接入现有的IT运维系统或自研平台,实现远程重启、能耗控制及自动化巡检。