智能断路器这东西,说白了就是一个可以远程控制的“电闸”。芯步这边的接口挺开放的,标准HTTP协议就能调,实现联动控制的核心思路就是:让你的业务系统通过芯步的开放API,向指定断路器下发“通/断”指令。
下面是一套对接实操方案,尽量说得白话一点。
一、 准备工作:确认你的“家伙什儿”
在动手写代码之前,得先确认硬件和账号权限都到位了。
确认设备型号:既然是“50A智能限流断路器”,这个设备通常是导轨式安装在电箱里的,支持Wi-Fi/4G联网。你要确认你手里的设备支持HTTP/MQTT远程控制,而不是仅支持遥控器配对那种。芯步的智能大功率断路器(UNI-DLQ-M-50A-PD)是直接支持这套玩法的。
注册/登录芯步开放平台
进入芯步开放平台控制台。
找到 “开发设置” ,这里有最重要的两样东西:AppID(你的应用ID)和 AppSecret(开发者密码)。这两个字符串相当于你开门的“账号和密码”。
顺便把你的服务器公网IP加入“IP白名单”,防止调用时被拦截。
获取设备ID
在控制台的“设备列表”里,找到你要控制的那个50A断路器。
记录下 Device ID(设备ID)。这就是你要控制的那个“电闸”的唯一编号。
二、 核心玩法:如何下发“合闸/分闸”指令
这是最核心的一步,也就是让你的服务器告诉断路器:“把电给我合上”或者“给我断开”。
根据芯步的接口文档,控制设备的标准姿势是调用 device/control 接口。
1. 接口形态
地址
http(s)://api.thingboot.com/{你的AppID}/device/control/方法:POST(推荐,参数长的时候用这个)
2. 请求参数详解(怎么告诉它干什么?)
你需要构造一个JSON数据包发过去,里面包含以下内容:
| 参数名 | 必填 | 说明 | 举例 |
|---|---|---|---|
| device | 是 | 就是刚才让你记下来的那个设备ID,支持同时控制多个(用逗号隔开,最多100个)。 | "123456789" |
| order | 是 | 重点! 这就是具体的命令。对于断路器,通常控制它的属性名是 power。power=1 是接通(合闸),power=0 是断开(分闸)。 | 合闸:{"power":1} 分闸:{"power":0} |
3. 实战请求示例
假设我们要把某一个灯或者充电桩所在的回路断开(关掉),你的后端代码(比如Python、Java、PHP)需要发送这样的HTTP请求:
如果返回的 code 是 200,代表指令下发成功,设备会“啪”一下跳闸(分闸)。
三、 进阶场景:如何实现“场景联动”?
既然能单控了,那“联动”就是把多个动作串起来,或者加上判断条件。
第一种场景:最简单的“一键离家模式”
需求:用户按手机上的“离家”按钮,门锁锁上,同时所有的50A断路器(比如空调、电视、热水器回路)全部断电。
解决方案这里不用一个个发指令,用 “分组控制” 效率最高。
创建分组:在芯步控制台,把客厅空调断路器、卧室电视断路器、厨房热水器断路器都放进一个叫“离家断电组”的分组里。
调用分组接口:当触发离家场景时,调用
group/control接口。
第二种场景:安全联动(过载保护/电气消防)
需求:假设50A断路器带有电量计量功能(能实时看功率)。当检测到电流超过阈值(比如40A)或者线路温度过高时,自动触发断路器断开,防止起火。
解决方案这需要你做一点简单的“轮询”或“告警订阅”。
获取实时数据:断路器会实时上报电流、功率数据。你可以写一个脚本,每隔几秒调用设备详情接口获取
current(电流值)。逻辑判断
更优雅的方式:如果不想轮询,可以利用芯步平台的消息推送。当断路器触发“过流告警”时,平台会主动推送消息到你配置的服务器地址,你收到消息后再回控断路器或处理业务逻辑。
第三种场景:定时控制(限流共享)
需求:员工食堂的空调插座,平时没事,但中午11:30-13:00必须通电,其他时间断电省电。
解决方案直接使用芯步平台的 “定时任务” 接口。你不需要一直开着服务器,直接调用API在云端设置一个Cron表达式(定时规则)。
创建任务:调用创建任务接口,设置
cron表达式0 30 11 * * ?(每天11:30执行)。任务动作:执行
power=1(合闸)。另一个任务:设置
0 0 13 * * ?(每天13:00执行),执行power=0(分闸)。
四、 避坑指南(稍微啰嗦几句经验谈)
关于“限流”你提到这是“50A智能限流断路器”,除了通断控制,它的核心优势是“限流”。你可以通过接口设置一个限定电流值(比如设为10A),如果一旦回路电流超过10A,设备会自动跳闸,除非你远程调高阈值或重新合闸,否则推不上去了。这在给电瓶车充电或者限制大功率违规电器时非常有用。
关于签名(Sign)调用接口时必带
sign和ts(时间戳)。签名的算法是md5(md5(你的AppSecret) + ts)。坑点:时间戳ts必须是秒(10位数字),不是毫秒(13位)。很多新手用Java或者JS默认生成的是13位毫秒,直接报bad ts错误。异步反馈调用接口返回200,只代表“平台收到指令并发送出去了”,不代表“断路器真的动了”。如果断路器掉线了(比如WiFi断了),它其实没跳闸。如果你的业务逻辑要求必须确认(比如银行金库门禁),你必须接收芯步平台的异步消息推送,看设备是否返回了
Success的执行结果。
总结
对接这个50A断路器,其实就是 “拿着设备ID,对着官方URL,发一条带签名的‘power=0’指令”。
单控:调
device/control。群控:先建分组,调
group/control。自动化:做逻辑判断(过流/定时)+ 调用控制接口。