芯步的60A智能断路器开放了HTTP接口,签名校验方式是双层MD5,配合消息推送可以实时获取设备状态。下面从技术对接的角度梳理一下实现方案。
一、 背景与目标
在很多工厂、基站或智慧园区的项目中,60A断路器通常负责保护大功率线路。单纯的远程开关往往不够,我们需要监控它的实时功率、电压以及在线/离线状态,以便在设备跳闸或异常时第一时间告警。
芯步的这款60A断路器(型号:UNI-DLQ-M-60A)优势在于开放了HTTP API接口,支持二次开发,而且可以直接走WiFi 2.4G,不需要额外买网关,很适合快速集成到现有的管理系统里。
下面我会从接口准备、主动监控(控制与查询)、被动接收(消息推送)三个层面,分享一下怎么把这套逻辑跑通。
二、 准备工作:拿到设备的“钥匙”
在写代码之前,我们需要先准备好几个关键凭证:
AppID / AppSecret:登录芯步开放平台后台,在“开发设置”里找到这两个字符串。这就相当于你账户的密钥,请求接口的时候得靠它做签名。
设备ID:把60A断路器配网绑定之后,在控制台设备列表里能看到一串数字(比如
123456)。API地址
https://api.thingboot.com/{AppID}/device/control/
这里有个小细节需要注意:它的鉴权方式是双层MD5加密。简单说,就是把你的Secret进行一次MD5,然后拼接上当前时间戳,再整体做一次MD5。
这里有个在线调试的逻辑:
假设你的
AppSecret是abc123,当前时间是1712000000。第一层:md5("abc123")=e99a18c428cb38d5f22e03...第二层:md5(第一层结果 + "1712000000")= 最终的sign。注: 时间戳参数ts也必须跟在请求URL里。
三、 核心功能实现:读取与监控
在二次开发中,监控设备状态通常分为两个维度:一是你主动去问设备现在啥情况,二是设备出事儿了主动告诉你。
1. 主动查询:获取实时读数(功率、电压、开关状态)
虽然官方的/device/control/接口主要用来下发命令,但通常它支持查询属性,或者配合order指令获取状态。
场景: 每隔5秒钟,服务器主动问一次断路器:“你现在电流多少A?开关是开着还是关着?”
请求示例(思路):我们需要向指定的URL发送POST请求,带上device和order参数。
代码逻辑(Python示意):虽然官方给了C语言和Shell的例子,但咱们做二次开发最常用的还是Python或Java。你可以参考下面的逻辑封装一个函数:
注意: 这里有个坑点,官方接口文档里提到,返回code 200只代表平台收到了指令,并不代表设备已经执行。如果你想要确认设备真的已经动作了(比如继电器真的吸合了),或者想看实时功率数据,靠轮询效率低且不实时,这时候就要用到下面的消息推送了。
2. 被动接收:搭建消息推送服务器(推荐)
这是实现“监控”最高效的方式。你可以把它想象成:断路器有了心事,会主动给你打电话汇报,而不是等你每次都去问。
配置方法:在芯步控制台设置一个消息推送URL(比如你的服务器地址:http://你的公网IP:8080/iot/callback)。
推送第一种场景:设备上下线告警当60A断路器断电、断网或者重新连上时,平台会立刻往你的服务器发一条JSON,这是监控设备是否“掉线”的关键。
如果你的服务器收到了
reason: timeout,就可以触发告警逻辑,比如发短信通知电工:“某配电箱断路器离线了”。
推送第二种场景:状态与数据上报这是你最关心的运行状态监控。当设备监测到功率过高、电压不稳或者有人按了断路器上的按钮时,平台也会推数据过来。
拿到这个数据,你只需要写几行简单的逻辑存入数据库,就搞定了实时监控大屏或者历史报表。
四、 实际应用场景举例:自动联动与保护
假设你二次开发的目标是为了防止过载,虽然断路器本身有过载保护,但你想在电流超过50A的时候就提前预警,而不是等到60A跳闸。
开发逻辑如下:
订阅消息:你的服务器接收断路器推送上来的实时数据。
逻辑判断
下发指令这时候你需要调用控制接口,发送
{"power":0}给这个设备,强制断开线路,保护后端昂贵的设备。
五、 一些小
关于局域网:芯步的设备支持私有化部署,如果你的监控系统对数据安全性要求比较高,或者现场没有外网,记得选购的时候确认开启局域网API功能,可以在纯内网环境下控制,不经过云平台。
关于离线:断路器毕竟是强电设备,WiFi信号不好容易掉线。在开发监控系统时,除了依靠云推送的
disconnect消息,最好在服务器端做一个心跳检测机制(比如超过5分钟没收到设备任何数据,判定为离线)。并发处理:如果你管理成百上千个这种断路器,把接收推送的接口写得轻量一些,收到数据后直接丢进消息队列(MQ)处理,不要同步去写数据库,这样能避免数据量大了之后接口超时。
总结
二次开发芯步60A断路器其实不复杂:
控制就是发HTTPS POST请求(别忘了双层MD5签名);
监控就是接收平台回调的JSON数据。
基于这套逻辑,你可以轻松把断路器集成到自己的MES系统、楼宇自控系统或者小程序里去。