CATALOG

这是一篇关于如何二次开发芯步35A智能断路器,实现“过流自动断电”功能的解决方案。我尽量写得详细且通俗易懂,方便你和开发团队沟通。

一、 背景与需求分析

在很多用电场景(如充电桩、机房、大功率设备)中,单纯的定时开关往往不够安全。我们更希望设备能“智能”一点:当电流超过额定负载(例如超过35A)或设定的阈值时,立刻跳闸,保护线路。

利用芯步35A智能断路器的开放接口,我们可以绕过复杂的底层硬件开发,通过“读取实时数据 -> 逻辑判断 -> 下发指令”的闭环,快速实现过流保护功能。

二、 核心逻辑思路

要实现这个功能,我们的程序需要像一个“交警”一样,站在云端或本地服务器上,死死盯着电流数据:

  1. 获取数据:利用芯步平台获取断路器的实时电流(这是关键数据)。

  2. 逻辑判断:程序判断获取到的电流值是否大于预设的阈值(例如自定义设定为30A,或者标称的35A)。

  3. 执行动作

    • 如果 电流 ≥ 阈值,立即调用“断开”接口,让断路器跳闸。

    • 可选功能:跳闸后发送告警通知(邮件、钉钉、企业微信)。

  4. 恢复机制:如果是临时过载,可以设定自动重合闸逻辑(比如断开5秒后尝试闭合),或者由人工远程确认后闭合。

三、 准备工作:需要什么?

在写代码之前,你需要搞定以下几样东西,缺一不可:

  1. 硬件设备:芯步 35A智能断路器(确认型号,如WiFi版或4G版,确保已通电并配网成功)

  2. 平台账号:登录芯步开放平台,把你的设备绑定到账号下。

  3. 开发者密钥(AppID & AppSecret):在控制台的“开发设置”里找到这两个关键字符串,这相当于你调接口的“身份证”

  4. 设备ID:在控制台的设备列表里找到你那台35A断路器的唯一ID(长这样:像一串数字)。

  5. 开发环境:任何能支持HTTP请求的语言(如Python、Java、Go、Node.js等)。

四、 关键接口详解

首先,我们需要了解几个核心的API,这是实现功能的基础。

1. 获取设备状态(读取电流)

这个接口是用来“看”数据的。你要定期去问设备:“现在电流多少?”

  • 目的:获取电压、电流、功率等实时参数。

  • 方法:通常有两种方式,推荐第一种

    • 消息推送(推荐):在平台配置回调URL,设备会自动把消息推送到你的服务器,实时性最好。

    • 主动查询:你的程序主动调用接口去拉取数据。

2. 控制设备通断(执行跳闸)

这是用来“动手”的。

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

  • 请求方式:POST

  • 核心参数

    • device:你的设备ID。

    • order:控制命令。

    (小提示:调用接口时需要在URL中携带动态生成的签名sign和时间戳ts,用于验证身份。签名算法一般是 md5(md5(AppSecret) + ts)

五、 实战步骤:如何一步步实现?

为了方便理解,我们画个流程图,然后是具体的代码思路。

流程图解

  1. 启动定时器 -> 每隔 1秒(频率自定,别太频繁)执行一次;

  2. 调用API -> 获取实时电流数据;

  3. 判断 -> 电流 >= 35A?(或者你设定的30A);

  4. 分支

    • :调用【断开】API -> 记录日志 -> 发送告警。

    • :什么都不做,继续等待下一次循环。

关键点:如何获取“电流”数据?

这是整个方案最核心的一步。

通过查阅芯步的文档,对于35A智能断路器,获取实时数据的order参数通常是metering相关的指令,或者设备会自动上报数据。

方案A:查询实时数据(主动拉取)你可以构造一个这样的命令去查询状态:

(注:不同型号指令可能有差异,如果这个不行,试试{"get":"meter"},请以官方文档为准)

方案B:接收实时上报(被动接收 - 最推荐)这是最高效的方法。在芯步控制台设置一个 “消息推送URL”(比如 http://你的服务器IP/webhook)。设备一旦有数据变化,平台会主动把电流、电压等信息 POST 到这个地址。你的后端只需要写一个接口接收数据,解析JSON里的电流字段,判断并处理即可。

六、 代码实战(伪代码/逻辑示例)

假设我们用Python写一个简单的守护脚本(主动查询模式),方便大家理解这个过程。