CATALOG

芯步的智能断路器开放了HTTP接口,你可以直接通过云端API远程控制设备通断、获取实时用电数据。下面以60A计量版断路器为例,聊聊怎么实现“过流自动断电”这个功能——核心思路是:轮询电流数据 → 判断是否超限 → 调用断电接口

一、 我们面对的是什么设备?

首先要清楚咱们手里拿的是什么“家伙”。这次的主角是芯步的 “智能大功率断路器[计量版]” ,型号通常是 UNI-DLQ-M-60A-P

它的几个关键特点决定了我们的接入方案:

  • 自带计量功能:这玩意儿不仅能当开关,还能实时告诉你现在跑了多少电流、电压、功率。

  • WiFi直连:它不需要额外买网关,连上家里的2.4G WiFi就能上网

  • 接口友好:支持HTTP协议,意味着你在任何地方(只要联网)用任何语言(Python, Java, PHP, Go)都能给它发命令

很多传统方案需要自己写代码解析电流波形来判断过载,但有了这个设备,我们只需要做简单的“业务逻辑判断”:取值 -> If 大于60A -> 关闸

二、 准备工作

动手之前,先把钥匙配好。你需要拿到以下三样东西:

  1. AppID 与 AppSecret:登录芯步控制台,在“开发设置”里找。这相当于你的账号密码。

  2. Device ID:把设备通电配网后,在控制台设备列表里能看到那一串数字ID。这就是你要控制的那个开关的身份证。

  3. API文档:重点看“设备控制”和“消息推送”两个章节。

一个小提醒:芯步的接口鉴权方式是 Sign = md5(md5(AppSecret) + ts)。说白了就是把你的Secret先MD5一次,再拼上时间戳,整体再做一次MD5。这种双重加密比较常见,写代码时注意 ts 是用秒为单位的时间戳。

三、 核心思路:怎么实现“过流即断”?

实现自动断电,一般有两种路子,我比较推荐方案B,因为它更及时、更节省服务器资源。

方案A:定时轮询(简单,适合新手)

写一个后端脚本(例如每隔5秒跑一次),调用“获取设备状态”的接口,读取电流值 current

  • 逻辑if current > 60A : 调用断电接口

  • 缺点:会有几秒的延迟;如果设备数量很多,轮询对服务器和云端都有压力。

方案B:异步消息推送(推荐,适合生产环境)

芯步平台支持 “设备主动上报+接收推送” 的模式 你需要搭建一个公网可访问的URL(或者使用消息队列)。

  • 断路器会实时把电流消息推送到你的服务器地址。

  • 逻辑:你的服务器收到推送 -> 解析出电流值 -> 判断超限 -> 立即回调断电接口。

  • 优点:实时性比较高,没有轮询的成本。

四、 动手实战:代码逻辑示例

假设我们用方案A(轮询)来演示,因为这对服务器环境要求最低。我们写一段伪代码,展现核心逻辑。

第一步:封装一个函数,下发“断开”命令

这是最关键的步骤。参考官方的 device/control 接口,我们要发送一个POST请求

请求示例:

  • URL: https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}

  • Body (JSON):

第二步:获取实时电流值

既然是要带计量的,我们还需要一个获取数据的接口。通常通过 device/get 或类似的数据接口获取。

通常返回的JSON中会有类似这样的字段:

第三步:编写控制循环(Python 示例)

这里写一段简单的Python逻辑,帮助你理解整个过程: