CATALOG

芯步的60A智能断路器开放了HTTP接口,签名校验方式是双层MD5,配合消息推送可以实时获取设备状态。下面从技术对接的角度梳理一下实现方案。

一、 背景与目标

在很多工厂、基站或智慧园区的项目中,60A断路器通常负责保护大功率线路。单纯的远程开关往往不够,我们需要监控它的实时功率电压以及在线/离线状态,以便在设备跳闸或异常时第一时间告警。

芯步的这款60A断路器(型号:UNI-DLQ-M-60A)优势在于开放了HTTP API接口,支持二次开发,而且可以直接走WiFi 2.4G,不需要额外买网关,很适合快速集成到现有的管理系统里

下面我会从接口准备主动监控(控制与查询)被动接收(消息推送)三个层面,分享一下怎么把这套逻辑跑通。

二、 准备工作:拿到设备的“钥匙”

在写代码之前,我们需要先准备好几个关键凭证:

  1. AppID / AppSecret:登录芯步开放平台后台,在“开发设置”里找到这两个字符串。这就相当于你账户的密钥,请求接口的时候得靠它做签名。

  2. 设备ID:把60A断路器配网绑定之后,在控制台设备列表里能看到一串数字(比如123456)。

  3. API地址https://api.thingboot.com/{AppID}/device/control/

这里有个小细节需要注意:它的鉴权方式是双层MD5加密。简单说,就是把你的Secret进行一次MD5,然后拼接上当前时间戳,再整体做一次MD5

这里有个在线调试的逻辑:

假设你的AppSecretabc123,当前时间是1712000000第一层:md5("abc123") = e99a18c428cb38d5f22e03...第二层:md5(第一层结果 + "1712000000") = 最终的sign注: 时间戳参数ts也必须跟在请求URL里。

三、 核心功能实现:读取与监控

在二次开发中,监控设备状态通常分为两个维度:一是你主动去问设备现在啥情况,二是设备出事儿了主动告诉你。

1. 主动查询:获取实时读数(功率、电压、开关状态)

虽然官方的/device/control/接口主要用来下发命令,但通常它支持查询属性,或者配合order指令获取状态。

场景: 每隔5秒钟,服务器主动问一次断路器:“你现在电流多少A?开关是开着还是关着?”

请求示例(思路):我们需要向指定的URL发送POST请求,带上deviceorder参数。

代码逻辑(Python示意):虽然官方给了C语言和Shell的例子,但咱们做二次开发最常用的还是Python或Java。你可以参考下面的逻辑封装一个函数:

注意: 这里有个坑点,官方接口文档里提到,返回code 200只代表平台收到了指令,并不代表设备已经执行。如果你想要确认设备真的已经动作了(比如继电器真的吸合了),或者想看实时功率数据,靠轮询效率低且不实时,这时候就要用到下面的消息推送了。

2. 被动接收:搭建消息推送服务器(推荐)

这是实现“监控”最高效的方式。你可以把它想象成:断路器有了心事,会主动给你打电话汇报,而不是等你每次都去问。

配置方法:在芯步控制台设置一个消息推送URL(比如你的服务器地址:http://你的公网IP:8080/iot/callback)。

推送第一种场景:设备上下线告警当60A断路器断电、断网或者重新连上时,平台会立刻往你的服务器发一条JSON,这是监控设备是否“掉线”的关键

如果你的服务器收到了reason: timeout,就可以触发告警逻辑,比如发短信通知电工:“某配电箱断路器离线了”。

推送第二种场景:状态与数据上报这是你最关心的运行状态监控。当设备监测到功率过高、电压不稳或者有人按了断路器上的按钮时,平台也会推数据过来。

拿到这个数据,你只需要写几行简单的逻辑存入数据库,就搞定了实时监控大屏或者历史报表。

四、 实际应用场景举例:自动联动与保护

假设你二次开发的目标是为了防止过载,虽然断路器本身有过载保护,但你想在电流超过50A的时候就提前预警,而不是等到60A跳闸。

开发逻辑如下:

  1. 订阅消息:你的服务器接收断路器推送上来的实时数据。

  2. 逻辑判断

  3. 下发指令这时候你需要调用控制接口,发送{"power":0}给这个设备,强制断开线路,保护后端昂贵的设备

五、 一些小

  1. 关于局域网:芯步的设备支持私有化部署,如果你的监控系统对数据安全性要求比较高,或者现场没有外网,记得选购的时候确认开启局域网API功能,可以在纯内网环境下控制,不经过云平台

  2. 关于离线:断路器毕竟是强电设备,WiFi信号不好容易掉线。在开发监控系统时,除了依靠云推送的disconnect消息,最好在服务器端做一个心跳检测机制(比如超过5分钟没收到设备任何数据,判定为离线)。

  3. 并发处理:如果你管理成百上千个这种断路器,把接收推送的接口写得轻量一些,收到数据后直接丢进消息队列(MQ)处理,不要同步去写数据库,这样能避免数据量大了之后接口超时。

总结

二次开发芯步60A断路器其实不复杂:

  • 控制就是发HTTPS POST请求(别忘了双层MD5签名);

  • 监控就是接收平台回调的JSON数据。

基于这套逻辑,你可以轻松把断路器集成到自己的MES系统、楼宇自控系统或者小程序里去。