CATALOG

芯步的智能PDU开放了HTTP接口,二次开发的核心就是调用接口、写好签名、拿到设备ID和命令格式。下面我整理了一份方案,从接口原理到批量控制的脚本示例都会讲到,你可以直接参考。

一、为什么选芯步的这款5位分控PDU做二次开发?

如果你手头管着一堆服务器、网络设备或者机房里的各种电器,每次都要跑过去按开关,或者挨个点APP控制,那效率太低了。

芯步这款5位分控PDU,最大的好处就是开放了HTTP接口。这意味着什么呢?意味着你别把它当成一个普通的插排,把它当成一个可以通过网址命令控制的执行器

不管是你是写Python脚本,还是用Java、PHP,甚至是在Excel里发请求,只要能调HTTP接口,就能控制它。

二、准备阶段

在你动手写代码之前,需要先把“钥匙”拿到手。

  1. 注册账号并添加设备:先去芯步官网注册账号,在后台把PDU设备配网连上WiFi(必须要是2.4G频段)。

  2. 找到开发凭证:在控制台的“开发设置”里,找到两个关键字符串:

    • AppID:相当于你的用户名。

    • AppSecret:相当于你的密码(这个要保密,别传到GitHub上)。

  3. 拿到设备ID:在设备列表里,找到你这台PDU的编号(Device ID),是一串数字。

三、核心接口与原理解析

要控制这台PDU,你只需要对着这个网址发请求,比如:

https://api.thingboot.com/{你的AppID}/device/control/

里面必须要带上三个关键参数:device(设备ID)、order(开关指令),还有一个动态生成的签名sign)。

关于签名(Sign)的温馨提醒这个接口为了安全,不直接用密码,而是用签名。这个签名虽然官方文档写起来很绕(md5(md5(AppSecret)+ts)),你可以理解为:把密码加密一次,再结合当前时间戳,再加密一次这样做的好处是,每次请求的签名都不一样,就算被人抓包了,他也改不了指令,安全性很高。

四、怎么实现“批量管控”?

所谓的批量管控,其实分两个层面:

  1. 一台设备控制多个插口(单设备批量):这就很简单了,只需要改order这个参数就行。比如控制第1路和第3路同时打开。

  2. 一键控制多台设备(多设备批量):如果你机柜里有好多台PDU,比如一排5个PDU,你想一键重启所有设备,就在一次请求里把这几台设备的Device ID都用逗号拼起来传过去。

下面用具体的代码说话。

五、实战脚本示例

这里用最简单的 Shell + curl 来展示,你也可以轻松转换成Python或Java代码。

1. 单路控制

需求:关闭第2个插口。

2. 单设备批量操作

需求:控制一台PDU的1、3、5路打开。这个时候要用到特殊的 batch 命令。

(注:这里因为JSON套娃,引号需要转义,看着有点晕,实际在代码里构建好数组转成json就没那么乱了)

3. 多设备批量操作

需求:一键重启机柜A和机柜B的两台PDU(关掉再打开)。这时候device参数用逗号隔开就行。

4. 完整脚本模版

这里直接用芯步官方给的Bash模版修改一下,添加了多点位控制的逻辑:

六、进阶玩法思路

拿到这个接口,你就不只是手动敲命令了,可以把它接入你现有的运维系统:

  1. 对接Shell脚本或Python:写一个定时任务(Crontab),每天早上8点自动打开打印机电源,晚上8点自动关掉,省电。

  2. 集成到监控系统(Zabbix/Nagios):写一个脚本,让服务器死机了自动调用PDU接口拔电重启。

  3. 做成网页按钮:做个简单的HTML后台,几个大按钮,“重启服务器集群”、“关闭测试环境”,按一下就触发上面的脚本。

  4. 局域网控制:如果你不想走外网,芯步这套也支持私有化部署,数据可以完全跑在你公司内网,速度和安全性都会更好。

七、避坑小贴士

  1. 时间戳同步:生成ts的时候,一定要保证你的电脑时间是准的,如果和服务器时间差太多,会报签名过期。

  2. 网络稳定性:5位分控PDU连的是2.4G WiFi。如果放在金属机柜里,注意WiFi信号屏蔽问题,最好在后台看看信号强度。

  3. 并发控制:你的脚本里如果瞬间发了几十个指令给同一台设备,虽然设备能处理,但稍微加一点点延时(sleep 0.5秒),避免设备“反应不过来”。

只要搞定上面那个签名,发个POST请求,芯步这款PDU就能乖乖听你程序的话了。

插排产品方案:
设备机房远程管理:怎样把智能PDU[总控]|8位接入到自己的项目中
查看 >>
景观亮化设备机柜电源控制:怎么将智能插排(8位)集成到软件项目中
查看 >>
怎么在配电柜智能改造中接入智能设备来实现8 路设备电源状态监测
查看 >>
自动售货柜电源控制:怎样将总控PDU(5位)对接到项目中
查看 >>
数据中心机柜电源能耗管理:如何将机柜分控PDU5位集成到项目中
查看 >>
电源场景方案:
怎样在医院设备电源管理中对接智能设备以实现手机 APP 远程遥控
查看 >>
如何在设备机房远程运维电源管理中对接智能设备以实现故障告警通知
查看 >>
自助洗车设备机柜电源管理:如何将8位远程控制总控PDU对接到项目中
查看 >>
通信机柜设备电源管理:怎么把智能8位分控PDU集成到自己的项目中
查看 >>
如何二次开发4 路智能照明控制器来实现定时开关照明设备电源
查看 >>
管控用途方案:
怎么二次开发智能插座10A86型来实现设备用电定时管控
查看 >>
怎样在智慧教室设备电源管理中接入智能硬件来实现设备用电定时管控
查看 >>
怎么在共享茶室设备控制中接入智能硬件来实现设备用电定时管控
查看 >>
如何在自助储物柜控制中集成智能硬件以实现设备用电定时管控
查看 >>
怎样对接1路智能墙壁开关以实现设备用电定时管控
查看 >>