芯步的25A智能断路器开放了标准的HTTP API接口,通过签名认证即可下发控制指令。以下方案涵盖接口对接、单次控制、定时任务实现及工程化落地的完整流程。
解决方案:基于芯步开放接口实现25A智能断路器远程定时任务控制
一、 概述
芯步25A智能断路器(UNI-DLQ-25A)核心优势在于开放了底层的HTTP API接口,允许开发者或集成商绕过其原生App,直接通过代码控制设备的通断。
本方案的目标是指导开发者如何通过对接这些接口,在自有业务系统(如园区能源管理系统、智慧公寓SaaS、共享设备平台)中实现定时任务控制(如:每天8:00通电,18:00断电)。
技术路径:业务系统 -> 生成签名与时间戳 -> 调用芯步API -> 设备响应(延时约80-120ms)。
二、 准备工作
在编写代码前,需完成以下三项基础设施的配置:
硬件就绪:确保25A智能断路器已安装并入网。
供电:接入AC 85-265V市电。
联网:通过芯步小程序或控制台进行“网络配置”,将设备连接至2.4G WiFi(注意:不支持5G频段)或4G网络(视型号而定)。
获取凭证:登录芯步开放平台/控制台。
获取 AppID(应用唯一标识)。
获取 AppSecret(秘钥,用于签名计算)。
获取设备ID:在控制台的设备列表中,获取目标断路器的 Device ID(如示例中的820720)。
三、 接口鉴权机制
为了防止接口被恶意调用,所有OpenAPI请求均需携带动态签名。签名算法如下,兼容所有支持MD5的后端语言
参数准备
AppSecret(明文)、ts(当前Unix时间戳,单位:秒)。计算第一步MD5
encrypted_secret = md5(AppSecret)拼接字符串
sign_str = encrypted_secret + ts计算最终签名
sign = md5(sign_str)
请求地址结构https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
四、 核心功能:实现远程定时任务
由于设备本身支持“单次延时断开”或“定时通断”,我们可以通过在服务端建立定时任务调度系统来管理这些指令。
1. 单次延时控制(硬件级定时)
如果你希望设备在接通1小时(3600000毫秒)后自动关闭,可以利用接口参数中的reset或point命令,无需在服务器维护定时队列。
场景:空调插座定时关闭,防止忘关。
指令示例
2. 周期性定时任务(系统级调度)
针对“每天固定时间段”或“每周几执行”的复杂规则,在您的业务服务器端使用Cron Job(定时任务脚本)或消息队列延迟任务来实现。
实现逻辑
定时器触发:服务器时间到达设定点(如 08:00)。
执行脚本:服务器向API发起HTTP POST请求。
代码实战(基于Python / 后端)这是一个完整的定时任务执行片段,用于控制断路器的通断。
注:多路控制命令参考:{“power1”:1}(第一路通),{“power2”:0}(第二路断)。
五、 工程化与集成
为了将断路器无缝对接到您的实际业务系统中,采用以下架构:
多设备批量管理如果需要同时控制几十个断路器,有两种方案:
批量Device ID:在
device字段中用逗号分隔ID,如“device”:“820720,820721”,一条指令控制多个设备。标签控制:在芯步控制台预先设置标签(如“一楼照明”),调用
/tag/control/接口向整个标签组下发命令,实现群控。
私有化部署(高安全场景)如果数据安全要求比较高,不希望经过公网,25A断路器支持局域网和私有化部署。您可以将API请求地址指向自建的服务器,数据完全在内网流转。
负载安全考量请一定要注意:该断路器虽然额定25A/5000W,但在控制LED灯、电机、节能灯等感性或容性负载时,实际带载能力需降额至800W以下,否则容易导致触点粘连或损坏。对接系统需在业务逻辑层做好功率限制校验。
六、 总结
通过对接芯步25A智能断路器的开放接口,实现远程定时任务在技术上仅需两行核心命令(通/断)加一个定时触发器即可完成。开发者无需关心底层通信协议,只需关注业务逻辑(何时断、何时通) 和签名计算。
实施步骤
使用Postman测试签名算法及单次通断指令。
在服务器编写脚本,使用
crontab -e添加测试任务(如:每分钟执行一次,观察日志)。全量部署前,请一定要确认现场断路器固件版本及WiFi信号强度。