CATALOG

芯步的25A智能断路器开放了标准的HTTP API接口,通过签名认证即可下发控制指令。以下方案涵盖接口对接、单次控制、定时任务实现及工程化落地的完整流程。

解决方案:基于芯步开放接口实现25A智能断路器远程定时任务控制

一、 概述

芯步25A智能断路器(UNI-DLQ-25A)核心优势在于开放了底层的HTTP API接口,允许开发者或集成商绕过其原生App,直接通过代码控制设备的通断

本方案的目标是指导开发者如何通过对接这些接口,在自有业务系统(如园区能源管理系统、智慧公寓SaaS、共享设备平台)中实现定时任务控制(如:每天8:00通电,18:00断电)。

技术路径:业务系统 -> 生成签名与时间戳 -> 调用芯步API -> 设备响应(延时约80-120ms)

二、 准备工作

在编写代码前,需完成以下三项基础设施的配置:

  1. 硬件就绪:确保25A智能断路器已安装并入网。

    • 供电:接入AC 85-265V市电。

    • 联网:通过芯步小程序或控制台进行“网络配置”,将设备连接至2.4G WiFi(注意:不支持5G频段)或4G网络(视型号而定)

  2. 获取凭证:登录芯步开放平台/控制台。

    • 获取 AppID(应用唯一标识)。

    • 获取 AppSecret(秘钥,用于签名计算)。

  3. 获取设备ID:在控制台的设备列表中,获取目标断路器的 Device ID(如示例中的820720)

三、 接口鉴权机制

为了防止接口被恶意调用,所有OpenAPI请求均需携带动态签名。签名算法如下,兼容所有支持MD5的后端语言

  1. 参数准备AppSecret(明文)、ts(当前Unix时间戳,单位:秒)。

  2. 计算第一步MD5encrypted_secret = md5(AppSecret)

  3. 拼接字符串sign_str = encrypted_secret + ts

  4. 计算最终签名sign = md5(sign_str)

请求地址结构https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

四、 核心功能:实现远程定时任务

由于设备本身支持“单次延时断开”或“定时通断”,我们可以通过在服务端建立定时任务调度系统来管理这些指令。

1. 单次延时控制(硬件级定时)

如果你希望设备在接通1小时(3600000毫秒)后自动关闭,可以利用接口参数中的resetpoint命令,无需在服务器维护定时队列

  • 场景:空调插座定时关闭,防止忘关。

  • 指令示例

2. 周期性定时任务(系统级调度)

针对“每天固定时间段”或“每周几执行”的复杂规则,在您的业务服务器端使用Cron Job(定时任务脚本)消息队列延迟任务来实现。

实现逻辑

  • 定时器触发:服务器时间到达设定点(如 08:00)。

  • 执行脚本:服务器向API发起HTTP POST请求。

代码实战(基于Python / 后端)这是一个完整的定时任务执行片段,用于控制断路器的通断。

注:多路控制命令参考:{“power1”:1}(第一路通),{“power2”:0}(第二路断)

五、 工程化与集成

为了将断路器无缝对接到您的实际业务系统中,采用以下架构:

  1. 多设备批量管理如果需要同时控制几十个断路器,有两种方案:

    • 批量Device ID:在device字段中用逗号分隔ID,如“device”:“820720,820721”,一条指令控制多个设备

    • 标签控制:在芯步控制台预先设置标签(如“一楼照明”),调用/tag/control/接口向整个标签组下发命令,实现群控

  2. 私有化部署(高安全场景)如果数据安全要求比较高,不希望经过公网,25A断路器支持局域网私有化部署。您可以将API请求地址指向自建的服务器,数据完全在内网流转

  3. 负载安全考量请一定要注意:该断路器虽然额定25A/5000W,但在控制LED灯、电机、节能灯等感性或容性负载时,实际带载能力需降额至800W以下,否则容易导致触点粘连或损坏。对接系统需在业务逻辑层做好功率限制校验。

六、 总结

通过对接芯步25A智能断路器的开放接口,实现远程定时任务在技术上仅需两行核心命令(通/断)加一个定时触发器即可完成。开发者无需关心底层通信协议,只需关注业务逻辑(何时断、何时通)签名计算

实施步骤

  1. 使用Postman测试签名算法及单次通断指令。

  2. 在服务器编写脚本,使用crontab -e添加测试任务(如:每分钟执行一次,观察日志)。

  3. 全量部署前,请一定要确认现场断路器固件版本及WiFi信号强度。