智能PDU这类设备最实用的场景就是批量控制——机房重启服务器、办公室统一开关设备、或者远程管理一排显示器。芯步的分控PDU支持独立控制每个插孔,一条命令就能搞定5个口的批量开关。下面我把接入步骤和接口调用方式梳理一下,方便你们开发时参考。
一、 准备工作:先把“硬件”连上网
在写代码之前,我们得先让插排“上网”。芯步的设备支持2.4G WiFi连接,操作起来很简单,不用买额外的网关。
注册与登录:去芯步官网注册一个账号。注册完记得在后台创建一个“工作台”,这是你管理设备的“控制台”。
配网操作
方法A(电脑/后台):登录后台,找到“物联网控制台” -> “网络配置”。把你公司或机房的WiFi名称和密码填进去,然后点击“为设备配置此网络”。这时,把PDU插上电,它就会自动去搜索这个WiFi并连上。
方法B(小程序):微信搜“芯步小程序”,登录后同样操作。小程序配网在拿着手机去现场调试时会比较方便。
*注意:目前只支持2.4G WiFi,如果公司 WiFi 是5G/2.4G混合模式,一般也能兼容,但纯5G不行。*
获取关键ID设备连上网后,在后台的“设备列表”里就能看到它了。这里有两个关键信息你需要记下来:
设备ID:这一台PDU的唯一身份证(直接复制过来就行)。
AppID & sign & ts:在后台的“应用管理”或“接口文档”部分找。简单说,AppID是你的身份,sign是签名(防止别人乱调接口),ts是时间戳。
二、 核心接口:怎么发送命令
芯步的开放接口是标准的 HTTP 协议,不管是 Java、Python、PHP 还是 Node.js,只要支持发网络请求的语言都能调用。
1. 接口地址与鉴权
你需要请求的地址大概是这样的结构:http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={你的签名}&ts={当前时间戳}
2. 批量控制的JSON命令详解
重点来了,怎么实现“批量控制”?对于5位分控PDU,如果你想让1、3、5孔打开,2、4孔关闭,甚至是实现“先断开1号口,再接通2号口”这种复杂的时序操作,都可以通过 order 这个参数来实现。
根据官方接口定义,你可以通过构建一个 JSON 字符串来下发命令
| 场景 | 命令示例 (JSON格式) | 功能说明 |
|---|---|---|
| 控制单个孔位 | {"power1": 1} | 单独打开第1个插孔 |
| 全开 / 全关 | {"power": 0} | 一口气关闭所有插孔(省事!) |
| 指定孔位批量开关 | {"batch":{"relay":[1,3,5],"power":1}} | 只开启第1、3、5孔,2和4保持不动 |
| 先断后通 (重启) | {"reset":{"relay":[2,4],"interval":5000}} | 先断开2和4,等5秒后再自动接通。这个功能超实用,比如远程重启卡死的路由器! |
三、 代码实战:5分钟写个脚本
下面是一个用 Node.js 写的例子,很简单,就是发一个 POST 请求。
核心技巧如果你的代码里要写很多次开关,可以封装一个函数。比如 controlRelay(deviceId, [1,2,3], 1) 表示把1,2,3口同时打开,这样代码会更整洁。
四、 进阶技巧:局域网直连(更快更稳)
如果你的服务器和PDU在同一个局域网内(比如都在同一个机柜里),可以不通过云平台,直接用 HTTP局域网控制,这样几乎没有延迟,而且断外网也能用。
原理:直接在浏览器或代码里访问 PDU 的本地 IP 地址。
操作方法
先通过上述云端接口或后台查看设备的局域网 IP(比如
192.168.1.50)。直接发送 POST 请求到
http://192.168.1.50/control。Body 里直接放 JSON:
{"power1":0}就能关掉第一口。虽然文档提到私有化部署需要配置,但其实在局域网环境下,只要你的电脑能 ping 通 PDU 的 IP,就能直接控制,非常方便。
五、 踩坑经验总结
电源键的“先通后断”:PDU不像普通开关,它支持
reset和point。如果你只是想重启设备(比如路由器),别用power=0再power=1,中间那几毫秒的断电设备电容可能扛得住,但用reset指令可以精确控制断电时长,避免损坏电源。批量限制:虽然可以批量控制,但一次发命令别带太多动作。如果是通过公网控制,网络会有抖动,关键操作(如重启核心数据库服务器)单独发指令,一般的办公设备批量操作即可。
反馈机制:接口返回 200 只代表“命令发出去了”,不代表“设备执行了”。如果你需要确切知道设备是否真的通了电,需要去接平台的“消息推送”回调,或者过两秒再去查询一次设备状态。
这套方案基本能覆盖机房运维、办公室节能或者远程调试设备的需求。如果你需要看特定语言的代码示例,比如 Python 或 PHP,可以告诉我~