CATALOG

芯步的50A智能断路器开放了标准HTTP接口,可以用任何编程语言通过简单的API调用实现远程通断控制。下面是一个完整的二次开发解决方案。

解决方案:基于芯步开放接口二次开发50A智能限流断路器实现远程通断控制

一、 准备篇

在动手写代码之前,我们需要确认硬件和账号权限已经就绪。

  1. 硬件确认

    • 设备型号:请确保你的设备是芯步的 UNI-DLQ-M-50A 型号。这款产品支持WiFi连接(仅支持2.4G频段),不需要买额外的网关,只要给它通上电,它就能自己连网

    • 核心参数:它是50A的大功率版本,阻性负载最大支持10000W。如果你的项目是控制电机、空调这类感性负载,功率需要降额到1700W以内

  2. 账号与环境准备

    • 注册账号:去芯步官网注册一个开发者账号,登录到“工作台”。

    • 获取密钥:在“开发设置”里找到两个关键字符串:AppID(应用ID)和 AppSecret(应用密钥)。这两个东西相当于你调用接口的账号和密码,不要泄露给无关的人

    • 设备联网:按照说明书,用官方App把断路器配网绑定了。你可以在后台的设备列表里看到它的 Device ID(设备编号)。

二、 接口原理篇

芯步的接口设计得比较“简单粗暴”,走的是标准的 HTTP POST 请求。

你不需要懂底层的复杂协议,只需要记住:向一个固定的网址,发一段JSON文本

  • 请求地址http(s)://api.thingboot.com/{你的AppId}/device/control/

  • 核心参数:只需要传两个东西:device(设备ID) 和 order(命令)。

三、 实战开发篇

想要“远程通断控制”,核心就是搞定 签名计算发送命令。签名验证是很多人在开发时比较容易卡住的环节。

1. 重点:签名算法为了安全,接口每次请求都需要一个动态签名(sign)。很多刚接触API的朋友在这一步会觉得有点绕,我拆解一下:

  • 第一步:把你刚才拿到的 AppSecret 做一次 MD5 加密,得到一个32位的字符串(记作 Sec_MD5)。

  • 第二步:获取当前的Unix时间戳(秒数,例如 1714352400,记作 ts)。

  • 第三步:把 Sec_MD5ts 拼接起来,再整体做一次 MD5 加密,结果就是 sign

口语化人话版:就是对密码加密一次,加上当前时间,再一起加密一次。这样每次请求的密码都不一样,防止被别人破解。

2. 代码怎么写?

假设你用的是 Python 写后台脚本,代码如下:

3. 如果你用的是Shell脚本(比如在OpenWrt路由器里)有时候我们想在Linux服务器或路由器上直接控制,用 curl 命令也很方便

4. 不止是通断,还有“计量”与“限流”你提到了要实现“计量”和“限流”功能,这需要稍微多走一步:

  • 如何获取电量数据(计量)设备不会主动推送数据,需要你主动去查询。你需要调用 “查询设备状态” 的API接口。

    • 通常你会拿到一个包含电压、电流、功率的JSON串。

    • 小技巧:如果你要做实时监控,记得做个定时任务(比如每5秒查询一次)去轮询,然后存入数据库,做成图表给用户看。

  • 如何实现“限流”这其实是一个软件逻辑,而不是硬件指令。

    • 你可以通过接口轮询当前的实时电流数值。

    • 设定逻辑:判断 if 当前电流 > 50A: 调用上面的断开接口 {“power”: 0}

    • :为了避免频繁通断损坏设备,触发了限流之后,最好设置一个“闭锁时间”(比如5分钟后才能再次尝试合闸)。

四、 特色功能与进阶玩法

1. 定时任务如果你不想每次都自己写代码去关,可以利用接口里的“保持”或“定时”参数。在一些芯步的固件里,支持直接在命令里带时间参数,比如 “reset”:3600000 表示接通后1小时自动断开(具体需确认产品手册),这比你自己在服务器上写定时任务要靠谱得多

2. 批量控制如果你有50个电表箱,想一键全开:你可以用 device 参数传多个ID,用逗号隔开,例如 device=“820720,820721,820722”,这样一条指令就能搞定全楼断电,非常方便

3. 集成到BPM系统你可以把这几个HTTP请求封装成一个简单的 Python SDKJava Jar包

  • 工单系统联动:当有人在微信小程序支付了电费 -> 你的后端收到支付回调 -> 调用 {“power”: 1} -> 用户来电了。

  • 告警通知:如果检测到电压异常或过载跳闸,可以在你的业务系统里自动发一条短信给管理员。

五、 避坑指南

  1. 签名不对(401/403错误)

    • 检查时间戳 ts,服务器时间和你电脑时间误差不能太大(通常几百毫秒内)。如果你的电脑时间慢了一分钟,肯定报错。

    • 检查MD5是32位小写。

  2. 命令发了没反应

    • 确认设备在线:看看设备指示灯是不是常亮(或呼吸状态),如果快闪说明掉线了。

    • 确认 DeviceID 是字符串还是整型,参考API文档来。

  3. 50A大功率注意事项

    • 这款设备是导轨式安装,直接接在入户电箱里的。

    • 由于电流大,接线时 螺丝必须拧紧,虚接会导致发热,这是电气安全的大忌。

    • 感性负载:如果控制的是中央空调外机或大电机,由于启动电流很大(可能是额定电流的5-7倍),在命令里增加延时吸合逻辑,或者直接把这个断路器当总闸用,尽量不频繁带载分断。

总结

芯步的这个50A断路器开发门槛很低,核心就是把 AppID + AppSecret + DeviceID + 时间戳 算出一个签名,然后往指定URL POST 一个 {“power”: 1} 的JSON数据就行。

你可以把这个逻辑集成到任何后端语言里,配合轮询查询电流数据,就可以轻松实现“超限自动跳闸”、“远程缴费通电”等高级功能。