过流自动断电的核心思路,是用程序持续读取断路器的实时电流,当电流超过阈值且持续一定时间后,自动调用断路器的断开接口。以下方案基于芯步开放的HTTP接口进行实现。
1. 产品概述与准备
“智能大功率断路器[计量数显版]|60A” 是一款支持 WiFi 直连、无需网关、具备精确计量功能的大功率控电设备。要实现基于电流阈值的自动断电保护,核心逻辑是:系统通过 API 轮询设备当前电流 -> 判断是否超过设定的过载阈值 -> 执行断电指令。
在开始开发前,请准备以下信息:
AppID / AppSecret:在 创建“工作台”后获取,用于接口签名认证。
设备ID (Device ID):设备配网成功后,在控制台设备列表页获取,用于定位具体设备。
设备配网:确保断路器已接通 2.4G WiFi 网络,设备指示灯常亮表明在线。
2. 接口认证与通用请求方法
芯步采用动态签名认证,所有控制指令都需要携带 sign 和 ts 参数。计算公式如下:
将
AppSecret进行一次 MD5 加密。将加密结果拼接上当前的 Unix 时间戳(秒)。
将拼接后的字符串再次进行 MD5 加密,得到
sign。
公式:sign = md5( md5(AppSecret) + ts )
请求示例:
URL:
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}Method: POST
Header:
Content-Type: application/jsonBody:
3. 核心功能实现:读取实时电流
要实现过流判断,首先需要获取设备当前的实时电流值。由于断路器是“计量数显版”,它会上报计量数据。芯步通常提供获取设备最新状态或根据设备上报数据接收回调的机制。
逻辑实现:
采用 “定时轮询” 策略。由于设备可能不支持主动推送毫秒级数据,你需要服务端每隔 1-5秒 调用一次查询接口(假设接口为 device/status 或通过查询设备详情接口,具体需参考官方API文档),拉取最新的设备状态。
返回数据中的关键字段(预期):解析返回的 JSON,提取电流字段,通常单位为 安培 (A)。
4. 核心功能实现:断路器通断控制
当检测到电流异常时,系统需要向设备下发“断开”指令。
命令对象:{"power": 0}
power: 1:闭合(通电)power: 0:断开(断电)
5. 过流自动断电逻辑开发
为了区别“瞬时浪涌”和“真实过载”,在代码中引入去抖逻辑(Debounce)。
算法流程:
读取数据:获取当前电流值
I_current。阈值判断:设定目标阈值,例如 50A(额定60A的80%作为预警点)。
延时确认
如果
I_current >= 50A,启动计时器。如果在 3秒 内连续检测到电流持续超标,则触发保护。
如果中途电流回落,则重置计时器。
执行动作:调用断开接口,并记录日志。
核心代码逻辑 (伪代码示例):
注意: 上述代码中的
query_device_status功能依赖芯步提供的状态查询接口。如官方未开放直连查询接口,通过控制台配置 “消息推送” 功能,让设备主动将消息推送到你的服务器,效率更高且在轮询模式下不会触发API限流。
6. 进阶保护策略
除了简单的过流跳闸,结合该设备的计量特性,还可以实现更完善的保护机制:
1. 延时自动重合闸
在某些无人值守场景(如基站、机房),短暂的过流可能是设备风机会启动。断电后,可设计一段冷却时间(如 30秒),然后调用 {"power": 1} 尝试恢复供电。如果合闸后再次检测到过流,则“锁死”不再尝试,等待人工介入。
2. 功率限定保护
除了看电流(I),也可以看功率(P)。针对纯电阻性负载(如加热管),直接限制功率更为直观。
逻辑:
if power >= 12000: control_power(0)(额定 60A * 220V ≈ 13200W,留 10% 余量设为 12000W)。
7. 总结
接入芯步智能大功率断路器实现过流保护,流程总结为 “两查一控”
鉴权准备:妥善保管 AppId 和 Secret,实现签名生成函数。
状态读取:利用轮询或推送机制,实时获取
current或power字段。智能控制:编写具有迟滞回路的逻辑判断程序,在确实发生持续过流时,调用
{"power": 0}指令分闸,保护后端线路与设备安全。
该方案完全基于标准 HTTP 协议,可轻易集成到现有的 Python、Java、PHP、Node.js 或任意支持 HTTP 请求的 SaaS 低代码平台中。