CATALOG

芯步的这款PDU最讨喜的地方就是接口开放、文档干净——直接走HTTP就能控制,不用折腾什么复杂的网关或私有协议。

下面我把整个“二次开发”的流程捋了一遍,从拿到设备到最终跑通代码,希望能帮你少踩几个坑。

一、 搞清楚你的设备:分控还是总控?

在动手写代码之前,咱们得先确认一下你手上的设备是哪一种。芯步的8位PDU主要有两种,接口虽然一样,但控制逻辑稍有不同:

  • 8位分控:这是最常用的。8个孔位可以独立控制,想开第3路就开第3路,关第5路就关第5路,互不干扰。适合需要单独重启某台服务器的场景。

  • 8位总控:只能整体控制。虽然插了8个设备,但一关全关,一开全开。适合只需要统一断电或送电的场景。

从“折腾”的角度来说,分控的可玩性最高。我们今天的方案也是围绕分控来展开的,因为总控其实就是把“8个按钮”变成了“1个开关”,逻辑上更简单。

二、 核心思路:一句话的事儿

芯步没有搞私有SDK(软件开发工具包)或者复杂的加密库,它的原理极其简单:

你(你的服务器) —— 发一个HTTP请求(带密码) ——> 芯步云 ——> 转发给 ——> PDU(执行动作)

只要你的设备能联网(配网流程产品手册里有,用小程序或者电脑后台配好Wi-Fi),只要你的电脑能上网,用任何编程语言(Python, Java, PHP, 甚至是命令行curl)都能控制它。

三、 准备工作:找到你的“钥匙”

在写代码前,我们需要先拿到三样东西,这相当于你控制设备的“账号密码”。

  1. AppID(应用ID):注册芯步账号后,在“物联网控制台”里找到你的应用ID。

  2. AppSecret(应用密钥):这个跟ID是一对,注意保密,生成签名用的。

  3. Device ID(设备ID):把你的PDU添加到控制台后,设备列表里会有一个唯一的设备编号。

四、 签名机制(重要!)

芯步的接口为了安全,要求在请求里带上一个签名(sign)。很多人在这一步会被劝退,其实没那么复杂。我们不需要自己从零写加密算法。

通常芯步会提供“签名生成示例代码”,直接复制粘贴就行。如果找不到,逻辑如下(以分控PDU为例):

我们要开第1路插座,需要生成一个字符串,一般是把 AppID + DeviceID + 时间戳 + 密钥 混在一起算MD5(信息摘要算法)。

不用纠结算法,我们看怎么用。

五、 实战演练

假设我们要写一个Python脚本,用来远程重启连接在第1口上的路由器。

第一步:找到接口地址

根据分控PDU的手册,控制接口大概是这样的(具体路径请查阅最新PDF):

https://api.yoyoiot.com/orderpdu/control

第二步:准备参数

我们需要告诉服务器:你是谁?你要控制谁?你要干什么?

第三步:撸起袖子写代码

这里我写一段很直白的Python代码,你复制保存成 control_pdu.py 就能跑(记得先安装requests库)。

注意:上面代码中的签名拼接逻辑是我推测的常见写法,实际开发时请请一定要对照芯步官方的《接口文档》中的“签名算法”章节来微调,别直接复制粘贴就以为完事了。

第四步:进阶玩法(定时任务)

既然代码能跑,那我们就可以玩点花的了。

场景:每天晚上2点,自动关闭所有测试设备,省电。

这时候不需要写死循环,利用你操作系统的定时任务就行。

  • Windows任务计划程序:把 control_pdu(1, "off") 保存成一个脚本,设置每天02:00触发。

  • Linux Crontab(定时任务)编辑终端,输入 crontab -e,加入一行:0 2 * * * /usr/bin/python3 /home/pi/control_pdu.py(这行代码的意思就是:每天凌晨2点,系统自动帮你跑一遍Python关电脚本)

六、 避坑指南

在开发过程中,有几个小问题可能会让你卡住,提前做个心理准备:

  1. Wi-Fi频段:芯步的这款PDU只支持2.4G Wi-Fi。如果你的路由器是双频合一的,最好在手机App里把2.4G和5G分开,用2.4G去配网,不然设备可能连不上

  2. 签名失败:这是新手最容易遇到的问题。返回“sign invalid”

    • 检查时间戳:你的服务器时间不能和真实时间差太多(一般不能超过5分钟)。

    • 检查编码:参数里尽量不要有中文,如果有,注意统一UTF-8编码。

  3. 频繁控制:PDU内部的继电器是机械结构,频繁(比如每秒好几次)开关可能会缩短寿命。记得在代码里加个 time.sleep(1) 或者限制调用频率,别让它“抽搐”。

  4. IP变更:如果你们公司网络环境比较复杂,PDU重启后IP可能会变。直接用设备ID控制,走芯步的云平台接口,这样不管设备在哪,只要能上网就能控。如果是局域网内使用,可以用 ping 或者 ARP(地址解析协议)绑定一下路由器的DHCP(动态主机配置协议),给PDU一个固定内网IP。

七、 总结

说白了,二次开发芯步的PDU,本质上就是在调一个HTTP接口

  • 简单点:你用浏览器地址栏或者 Postman(接口测试工具),带上参数和签名,直接 GET 一下,设备就动了。

  • 复杂点:把它集成到你公司的监控系统里。比如,Zabbix(开源监控系统)检测到服务器宕机 -> 自动调用这个接口 -> 强制重启电源第3口。甚至你可以给它写个Web界面,做成一个内部用的“电闸管理平台”。

这套方案确实比较轻量,够用,关键是省去了写驱动的麻烦。

插排产品方案:
广告灯箱设备机柜电源管理:怎么把智能插排(8位)对接到项目中
查看 >>
广告灯箱设备机柜电源管理:怎样将PDU插排(8位)接入到自己的项目中
查看 >>
无人值守门店机柜电源控制:如何把机柜总控PDU8位对接到软件项目中
查看 >>
怎么对接智能总控PDU5位以实现集中一键控制5路设备电源
查看 >>
怎样二次开发智能分控PDU5位以实现过流自动断电控制
查看 >>
电源场景方案:
怎样在主题酒店特色包间管理中集成智能硬件来实现照明换气扇电源控制
查看 >>
如何在自助售货机电源管理中对接智能硬件以实现10A 额定电流控制
查看 >>
仓储设备电源控制:怎样把50A导轨式智能断路器对接到项目中
查看 >>
通信机柜设备电源管理:怎样将8位远程控制分控PDU集成到软件项目中
查看 >>
仓储设备电源控制:如何把AC4-20A 物联网开关对接到自己的项目中
查看 >>
关闭用途方案:
怎样在社区公共设备机柜电源管理中集成智能硬件以实现远程打开关闭5路设备电源
查看 >>
怎样对接智能插座16A以实现远程打开关闭电器电源
查看 >>
怎么在居家电器控制中集成智能设备来实现远程打开关闭大功率电器电源
查看 >>
怎么在数据中心机柜中集成智能硬件以实现远程打开关闭5路设备电源
查看 >>
怎样在共享自习室照明门禁控制中接入智能硬件来实现远程打开关闭照明与门禁
查看 >>