CATALOG

芯步60A带计量智能断路器的开放接口基于HTTP协议,签名机制为双重MD5加密。以下方案涵盖从硬件准备、API对接、数据获取到平台集成的完整流程。

1. 产品概述与核心参数

芯步推出的智能大功率断路器[计量版](型号:UNI-DLQ-M-60A-P)是一款支持高功率(额定12000W)的远程控制设备

  • 核心功能:不仅支持远程通断控制,还具备电流、电压、功率实时计量功能,以及过载保护/限流能力。

  • 通信方式:采用WiFi 2.4GHz直连,无需额外网关。

  • 接口开放度:提供全开放的HTTP API,支持Web、APP、小程序及私有化部署系统对接。

2. 对接准备

在开发前,请完成以下准备工作:

  1. 硬件就绪:确保60A断路器已正确安装并通电(注意:60A断路器接线需要符合电气规范,由持证电工操作)。

  2. 注册与创建

    • 访问芯步官网注册账号

    • 登录后进入控制台,创建“工作台”并添加“物联网控制台”模块。

  3. 获取关键凭证

    • 在控制台的“开发设置”中获取 AppIDAppSecret

    • AppID:用于标识调用者身份。

    • AppSecret:用于签名加密,严禁直接暴露在客户端代码中

  4. 设备配网:使用官方“物联网控制台”或“芯步”APP,将断路器添加至2.4G WiFi网络,并从控制台获取设备ID

3. API对接核心技术解析

所有对接均基于HTTP协议,核心难点在于签名(Sign)的生成

3.1 签名机制

为了防止接口被篡改或重放攻击,芯步采用 双重MD5加密 + 时间戳 策略。

  • 公式Sign = md5( md5(AppSecret) + ts )

  • 参数说明

    • md5():标准的32位小写MD5加密函数。

    • AppSecret:开发者密码。

    • ts:当前Unix时间戳(秒级)。

    • +:字符串拼接。

生成算法步骤如下:

  1. AppSecret进行第一次MD5加密,得到字符串 S1

  2. S1 与当前时间戳 ts 拼接得到字符串 S2

  3. S2 再次进行MD5加密,得到最终的 Sign

3.2 接口地址与通用请求头

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方法POST

  • Query参数sign={计算出的签名}&ts={当前时间戳}

  • HeaderContent-Type: application/json

  • Body参数

4. 计量监测与数据获取

这是本次对接方案的核心需求。针对UNI-DLQ-M-60A-P型号的设备,获取计量数据的核心在于 “查询数据”“设备主动上报”

4.1 获取实时计量数据

你需要向设备下发查询计量数据的命令:

  • 命令(Order){"metering":""}{"metering":"get"}

  • 具体操作向设备发送HTTP控制指令,命令内容为获取计量数据。设备接收到命令后,会在响应中或在后续的上报中返回当前数据。

数据解析示例:通常情况下,查询返回的JSON字符串会包含以下关键字段:

  • U / v:电压 (V),如 220.5

  • I / i:电流 (A),如 12.3

  • P / p:功率 (W),如 2706

  • E / e:电量 (kWh),如 123.45

4.2 获取实时计量数据的实现方式

方式一:主动查询使用HTTP API发送查询命令,适用于轮询场景,如每隔几秒查询一次当前功率。需要将命令封装在order字段中请求:

  • 核心请求:向 API 发送命令 order={"metering":""}

  • 适用场景:实时监控页面,用户点击“刷新”或高频轮询(间隔>2秒)。

方式二:被动接收设备会在状态变化时主动推送数据。这需要你搭建一个公网可访问的回调服务,并在控制台配置“消息推送URL”。

这种方式更为高效,无需轮询,服务器资源占用更少。设备检测到数据变化(如电流剧烈波动)时,会将计量数据打包发送至指定服务器接口。

5. 智能限流的实现机制

“60A带计量限流”除了监测,核心在于“限制”。

实现逻辑如下:

  1. 设置阈值:通过API下发设置命令,设定断路器的过载阈值。例如:{"limit_power": 12000}(设定功率限制为12000W)或{"limit_current": 60}

  2. 本地执行:一旦本地电流或功率超过设定阈值,断路器芯片会立即执行物理断开动作。此过程不依赖网络,即便是WiFi断开,过载保护依然有效。

  3. 恢复供电

    • 自动恢复:过载一段时间后可自动合闸(可配置)。

    • 远程恢复:通过API下发{"power":1}命令进行远程合闸。

监测与联动示例:假设你需要监测某大型设备的运行状态(功率>500W视为运行中):

  1. 通过接口轮询获取功率数据P

  2. 若功率>500W,系统判定“设备运行中”,前端界面显示“红色运行中”图标。

  3. 若设备空转(功率与平时不符),可自动调用{"power":0}切断电源,保护设备。

6. 开发示例

以下示例展示如何利用API获取计量数据(以Bash/Python思路为例,通用逻辑):

步骤 1:计算签名

步骤 2:发起HTTP请求读取计量数据

  • URLhttps://api.thingboot.com/{AppID}/device/control/?sign=$sign&ts=$ts

  • POST Body

步骤 3:处理返回设备成功接收命令后,会在返回的日志中显示“命令已下发”。若设备配置了回调,你将在指定的服务器地址收到如下格式的数据:

7. 架构与安全

7.1 高频监测优化

  • 轮询频率不要低于2秒/次,过于频繁的请求可能触发API限流。

  • 替代方案:利用设备主动上报功能。可以配置HTTP回调服务器,让断路器在计量数据变化超过一定阈值时自动推送数据,这样可以避免无效轮询。

7.2 安全策略

  1. AppSecret保密:签名计算绝对不能在微信小程序前端、APP前端或网页前端代码中进行。必须在自建的后端服务器中完成,防止Secret泄露导致设备被非法控制。

  2. 私有化部署:如果对数据安全要求比较高,或处于纯内网环境,芯步支持私有化部署方案。此时API请求会指向本地服务器,不再经过云端,数据完全由自己掌控

8. 总结

通过芯步60A带计量智能断路器的开放API,开发者可以非常便捷地实现如下能力:

  1. 数据可视化:将电流、电压、功率实时展示在大屏或APP上。

  2. 能耗分析:通过读取电量(kWh)数据,进行分时计费或能耗报表统计。

  3. 智能联动:当监测到功率异常(如设备故障、空转)时,自动触发断电指令,实现无人值守的精细化管理。

具体对接时,首先使用芯步官方提供的“物联网控制台”进行命令调试,确认设备响应正常后,再进行代码层面的集成开发