CATALOG

智能PDU这类设备最实用的场景就是批量控制——机房重启服务器、办公室统一开关设备、或者远程管理一排显示器。芯步的分控PDU支持独立控制每个插孔,一条命令就能搞定5个口的批量开关。下面我把接入步骤和接口调用方式梳理一下,方便你们开发时参考。

一、 准备工作:先把“硬件”连上网

在写代码之前,我们得先让插排“上网”。芯步的设备支持2.4G WiFi连接,操作起来很简单,不用买额外的网关。

  1. 注册与登录:去芯步官网注册一个账号。注册完记得在后台创建一个“工作台”,这是你管理设备的“控制台”。

  2. 配网操作

    • 方法A(电脑/后台):登录后台,找到“物联网控制台” -> “网络配置”。把你公司或机房的WiFi名称和密码填进去,然后点击“为设备配置此网络”。这时,把PDU插上电,它就会自动去搜索这个WiFi并连上

    • 方法B(小程序):微信搜“芯步小程序”,登录后同样操作。小程序配网在拿着手机去现场调试时会比较方便

    • *注意:目前只支持2.4G WiFi,如果公司 WiFi 是5G/2.4G混合模式,一般也能兼容,但纯5G不行*

  3. 获取关键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局域网控制,这样几乎没有延迟,而且断外网也能用

  1. 原理:直接在浏览器或代码里访问 PDU 的本地 IP 地址。

  2. 操作方法

    • 先通过上述云端接口或后台查看设备的局域网 IP(比如 192.168.1.50)。

    • 直接发送 POST 请求到 http://192.168.1.50/control

    • Body 里直接放 JSON:{"power1":0} 就能关掉第一口。

    • 虽然文档提到私有化部署需要配置,但其实在局域网环境下,只要你的电脑能 ping 通 PDU 的 IP,就能直接控制,非常方便

五、 踩坑经验总结

  1. 电源键的“先通后断”:PDU不像普通开关,它支持 resetpoint。如果你只是想重启设备(比如路由器),别用 power=0power=1,中间那几毫秒的断电设备电容可能扛得住,但用 reset 指令可以精确控制断电时长,避免损坏电源

  2. 批量限制:虽然可以批量控制,但一次发命令别带太多动作。如果是通过公网控制,网络会有抖动,关键操作(如重启核心数据库服务器)单独发指令,一般的办公设备批量操作即可。

  3. 反馈机制:接口返回 200 只代表“命令发出去了”,不代表“设备执行了”。如果你需要确切知道设备是否真的通了电,需要去接平台的“消息推送”回调,或者过两秒再去查询一次设备状态。

这套方案基本能覆盖机房运维、办公室节能或者远程调试设备的需求。如果你需要看特定语言的代码示例,比如 Python 或 PHP,可以告诉我~