CATALOG

芯步的智能PDU开放了HTTP接口,这意味着你可以用自己的代码直接控制每一个插座,把机柜电源管理集成到现有的运维系统里。下面这份方案会讲清楚怎么做——从接口原理到写代码,再到几个实用的落地场景。

一、这是什么玩意儿?我们先对齐一下认知

如果你有一台放在机柜里的智能PDU(比如芯步的5位总控或分控型号),它通过Wi-Fi连到了你办公室或机房的网络。二次开发的意思就是:不登厂家网页、不用点手机App,而是通过写代码(或者在你自己的运维系统里)给它发指令,让它开/关某个插座的电源。

这玩意儿对于搞运维、搞自动化测试、或者管远程设备的人来说非常实用。比如半夜服务器死机了,你不用打车跑机房,远程把电源断一下再送上,相当于“物理重启”。

简单说,这台 PDU 本质上就是一个带网口/Wi-Fi的智能排插,而芯步把它做成了一个听话的“ API 机器人”。

二、核心准备工作

在动手之前,你需要搞定三样东西,缺一不可:

  1. 一台芯步智能PDU(5位分控/总控):确保它通电并连上了网,优先选【分控】,因为能单独控制每一个孔位。

  2. 注册芯步账号:去官网注册,这相当于你设备的“身份证系统”。

  3. 找齐三个关键凭证(非常重要!):登录官网后台,进入“物联网控制台” -> “开发设置” ,你会看到两串字符,再加上设备本身的ID:

    • AppID:你的应用ID,告诉服务器“我是谁”。

    • AppSecret:你的密钥,打死也不能放在网页前端代码里,这是你的“密码”。

    • 设备ID (Device ID):在后台“设备列表”里能看到的那一串数字,告诉服务器“我要控制哪个排插”。

三、技术原理解析(也就是怎么调用它)

芯步的接口非常标准,走的是 HTTP POST 请求。说白了,不用搞复杂的SDK,任何能发HTTP请求的语言(Python, Java, Node.js, PHP, Shell)都能玩。

它的核心逻辑是:带签名的请求。为了防止别人随便控制你的插座,每一次发指令都必须做一个“签名计算”。

接口地址长这样:https://api.thingboot.com/{你的AppID}/device/control/

你需要传的参数:

  • device:就是那一串设备ID。

  • order:你要干的事。比如 {"power1":1} 代表“打开第一个插座”;{"power1":0} 代表“关闭第一个插座”。

四、最关键的难点:签名是怎么算的?

很多新手在这里被卡住了。芯步的签名算法其实很清晰,我们拆解一下:

步骤:

  1. 把你的 AppSecret 做一次 MD5 加密,得到 Secret_md5

  2. 获取当前的时间戳(秒级),比如 1734567890

  3. Secret_md5时间戳拼起来(直接字符串拼接)。

  4. 把拼好的字符串再做一次 MD5 加密

公式化:

Sign = md5( md5(AppSecret) + ts )

举个例子(伪代码):假设你的密钥是 abc123

  • 第一次加密后:md5(abc123) = e99a18c428cb38d5f22e03...

  • 拼接时间戳:e99a18c428cb38d5f22e03...1734567890

  • 第二次加密得出最终的 Sign。

五、直接上手:代码怎么写?

假设你现在想关闭第3个插座(或者是重启第3个口)。

方案A:如果你会用 Python(最推荐,简单粗暴)

注意:上面代码里的 {"power3": 0} 是针对分控型号的。如果买的是【总控】,那就只能全开全关,命令格式可能略有不同。

方案B:如果你只会用 Linux 命令行(Curl)

不想装Python环境?直接在Shell里敲这段也行(需要在Linux或Mac终端,或者Windows的Git Bash):

六、实战:几个立刻就能用的场景

拿到代码能跑通了,你可以用来做什么?这里有几个实实在在的生产力场景:

第一种场景:自动化“看门狗”监控你可以在服务器上写一个脚本,每分钟去 Ping 一下网关或者核心交换机。

  • 如果 Ping 不通(说明设备死机了):

    • 脚本自动调用上面的接口,先把对应的 power 口关闭。

    • 等 10 秒。

    • 再调用接口打开。

    • 发一封邮件给管理员:“已检测到设备离线,已自动重启,不用谢。”

第二种场景:集成到你的 HomeAssistant 或 私人运维大屏既然它支持HTTP,你完全可以用 Node-RED 或者低代码平台拖拽一个组件出来。

  • 在办公室里放一个物理的“急停按钮”(无线开关),按一下 -> 调用接口 -> 机柜所有端口断电。

  • 将PDU的电量数据(如果能获取)接入 Grafana 做漂亮的数据大屏。

第三种场景:给开发团队用的“测试环境一键释放”你们公司有自动化测试环境吗?测试跑崩了需要硬重启手机/盒子?

  • 把设备插在PDU上。

  • Jenkins 打包构建的最后一步,加一个 Shell 脚本调用接口重启设备。

  • 实现全自动无人值守。

七、踩坑经验

  1. 时间戳问题:服务器的时间和你电脑的时间误差不能太大,不然签名会失败。代码里请一定要用 time.time() 获取当前的、实时的时间。

  2. Wi-Fi 频段:这种物联网设备一般只支持 2.4G Wi-Fi。如果你公司全是 5GHz 或者双频合一,配置网络的时候可能会连不上,记得把路由器的 2.4G 单独开一个出来,或者用手机热点先试试

  3. 内网与外网:上面的例子用的是云端API(设备需要上网)。如果你的机柜极其机密,不允许联网,芯步的PDU也支持局域网和私有化,你只需要把请求发到设备的本地IP地址(通常在设备详情页能看到局域网IP),而不是 api.thingboot.com,这样断网也能控制

这套方案几乎不挑编程语言,核心就是把那串签名字符串算对,然后发个 POST 请求。如果开发中遇到具体的签名报错,直接带着错误码去翻芯步官方的《OpenAPI 接口文档》或者找他们的技术支持(据说他们提供全程技术指导)

插排产品方案:
怎样在共享麻将馆设备机柜电源控制中集成智能硬件来实现8路设备电源总控
查看 >>
设备机房远程管理:怎样把智能PDU[总控]|8位接入到自己的项目中
查看 >>
企业机房机柜设备电源控制:怎么将8位智能分控PDU对接到软件项目中
查看 >>
如何在智能仓储设备机柜电源控制中对接智能设备来实现设备分组控制
查看 >>
如何在设备机房远程运维电源管理中对接智能设备以实现故障告警通知
查看 >>
机柜场景方案:
广告机设备机柜电源管理:怎样把智能远程控制8位分控PDU 使用场景接入到自己的项目中
查看 >>
餐厅设备机柜电源控制:怎样把8位远程控制PDU接入到软件项目中
查看 >>
数据中心机柜电源能耗管理:如何将机柜分控PDU5位集成到项目中
查看 >>
景观亮化设备机柜电源控制:怎么将智能插排(8位)集成到软件项目中
查看 >>
医院设备机柜电源管理:如何把智能远程控制8位总控PDU对接到软件项目中
查看 >>
远程控制用途方案:
怎么在快递柜设备控制中集成智能硬件来实现远程控制16路线路
查看 >>
如何接入远程控制智能通断器模块来实现HTTP接口远程控制
查看 >>
如何二次开发1路智能墙壁复合开关以实现HTTP接口远程控制通断
查看 >>
怎样二次开发射频转WiFi网关来实现HTTP接口远程控制
查看 >>
怎样接入空调红外信号转发器来实现远程控制空调运行
查看 >>