CATALOG

芯步的智能插排开放了完整的HTTP API接口,支持实时读取功率数据,这使得二次开发实现过流自动断电成为可能。以下方案展示如何通过API轮询电流值并设置阈值触发保护。

解决方案:基于芯步开放接口实现智能插排(8位)过流自动断电控制

1. 概述

本方案的目标是利用芯步提供的开放 HTTP API 接口,对 8 位智能插排进行二次开发。通过实时监控插排各路插孔的电流数据,一旦检测到任意一路或总电流超过预设的安全阈值,系统将自动调用接口切断对应插孔的电源,从而保护接入设备及线路安全。

适用场景:机房设备管理、老旧建筑电路改造、大功率电器无人值守监控、实验室设备保护等。

核心技术点

  • 接口鉴权:使用 MD5 加密实现设备控制权限验证。

  • 状态轮询:定时获取设备的实时功率与电流数据。

  • 阈值判断:逻辑层判断电流是否过载。

  • 指令下发:触发断电保护并可选推送告警。

2. 技术准备与接口分析

在进行开发前,需要准备以下信息(在芯步控制台获取):

  • AppId:应用唯一标识。

  • AppSecret:开发者密钥(用于生成签名)。

  • Device ID:8位智能插排在平台上的唯一序列号。

2.1 核心接口说明

根据芯步官方文档,所有设备(包括智能插排)的控制接口高度统一

  • 接口地址http(s)://api.thingboot.com/{AppId}/device/control/

  • 请求方式POST

  • 鉴权参数

    • sign:动态签名。

    • ts:Unix 时间戳。

  • 命令对象order

2.2 签名生成算法(核心安全机制)

为了防止接口被恶意调用,每次请求必须携带动态签名。算法逻辑如下:

  1. AppSecret 进行一次 MD5 加密: Secret_MD5 = md5(AppSecret)

  2. 将加密后的字符串拼接当前时间戳: TempStr = Secret_MD5 + ts

  3. 对拼接后的字符串再次进行 MD5 加密得到最终签名: sign = md5(TempStr)

注:ts 为发起请求时的 Unix 秒级时间戳,平台会校验时间戳的有效性以防重放攻击

3. 过流断电逻辑设计

3.1 数据采集机制

芯步的计量版插排支持上报 电压、电流、功率 等数据。要实现过流保护,首先需要获取电流值。

由于 HTTP 是“请求-响应”模式而非长连接,采用 轮询机制

  • 轮询接口:调用设备状态查询接口(通常为 /device/status 或通过 /device/control/ 的扩展查询命令)。

  • 轮询频率:设定为 1秒/次2秒/次。对于大功率设备,过流发生极快,频率过低可能无法及时保护,但频率过高会增加服务器压力,需根据实际电路情况权衡。

3.2 阈值判断策略

针对 8 位插排,由于每位插孔独立可控,采用 分级阈值策略

  1. 单路阈值:针对单独某个插孔(如位1接空调,位2接服务器)。设定独立电流上限(如 10A)。

  2. 总路阈值:8 位插排本身有一个总输入电流上限(通常为 16A)。虽然物理上通常有保险丝,但通过软件可在熔断前提前干预。

逻辑伪代码

4. 二次开发实施步骤

4.1 基础控制函数封装

首先需要封装一个底层的请求函数,自动处理签名和 JSON 数据。

示例:Python 实现

4.2 实现过流监控模块

需要两个核心功能:读取数据执行动作

在芯步体系中,8位插排的控制指令通常通过 order 字段中的 powerX 属性实现

  1. 读取电流数据:假设设备状态接口返回类似 {"current_1": 5.2, "current_2": 0.0 ...} 的数据。(注:具体字段需查阅对应设备的产品手册,但官方文档显示支持功率计量)

  2. 执行断电

    • 关闭第 3 位插孔:构造 order = {"power3": 0}

    • 关闭全部插孔:构造 order = {"power": 0} 或批量控制命令

监控循环示例

4.3 高级功能:定时自锁与恢复

单纯的断电可能造成不便,可以增加以下逻辑:

  • 锁定机制:断电后不再自动合闸,必须由管理员人工在界面上点击“故障清除”或“复位”按钮才能重新上电。这能防止设备在故障未排除的情况下反复自动重启导致损坏。

  • 定时恢复尝试:对于非短路类过流(如电机启动瞬间),可以设定断电后延时 30 秒尝试闭合一次,若仍然过流则再次断开并永久锁定。

5. 防震与抗干扰优化

为了确保过流保护系统稳定运行,不误报、不误判,代码中需加入防抖动逻辑:

  • 瞬时波动过滤:不要因为采样瞬间的峰值(如电机启动电流)立即断电。采用滑动窗口法。例如,连续采集 3-5 次数据,若都超过阈值,才判定为真过流。

  • 避开浪涌:在设备刚通电的 500ms 内,电流波动较大,监控程序可设置延时启动或忽略前两次采样值。

6. 总结

通过芯步开放的 HTTP API,开发者可以高效地构建出响应速度在 100ms 级别的过流保护系统。该方案的核心在于:

  1. 精准的签名机制:保证了设备控制的安全性。

  2. 高效的轮询与判断:利用计量数据实时捕捉异常。

  3. 果断的执行策略:结合逻辑防抖,既灵敏又稳定地切断高危电路。

该方案不仅适用于单纯的过流保护,还可以扩展为 “功率超额自动断电” (如插排监测到功率超过5000W持续10秒即断电)或 “无人状态下的节能控制”