CATALOG

芯步40A导轨式智能断路器开放标准HTTP接口,可通过签名鉴权后直接下发指令实现远程通断。以下方案涵盖接口对接、签名计算、定时任务实现及代码示例。

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

1. 背景与概述

芯步推出的智能大功率断路器[计量数显版](型号:UNI-DLQ-M-40A-PD) 是一款支持WiFi直连、额定功率高达8000W(40A)的导轨式智能开关。该设备显著的特点是开放了底层的HTTP接口,允许开发者通过编程方式直接控制电路的通断,并支持功率计量数据读取。

本文旨在指导开发者如何利用该设备的开放接口,进行二次开发,实现远程定时通断控制。方案将重点解决定时任务的逻辑构建、接口鉴权以及执行可靠性问题。

2. 核心接口与技术准备

2.1 接口类型

该设备使用WiFi 2.4G直连路由器,无需网关。所有控制指令通过芯步云平台或局域网进行转发,采用HTTP/HTTPS协议进行通信

2.2 准备事项

在进行开发前,需要准备以下参数:

  • AppIDAppSecret:在芯步控制台注册开发者账户后获取。

  • Device ID:设备唯一标识,可在控制台查看或通过接口拉取

  • 网络环境:确保断路器和服务器(或执行脚本的PC/云主机)均能访问公网(或处于同一局域网以实现低延迟控制)。

3. 二次开发核心流程

要实现“远程定时通断”,不能仅依赖设备端的简单定时(设备可能离线),采用服务端定时任务的方案,以保证时间精准性与日志可回溯性。

3.1 签名算法(鉴权)

所有Open API调用都需要携带签名,以防止接口被恶意篡改。根据官方技术文档,签名计算逻辑如下:

  1. AppSecret 进行一次MD5加密,得到 encrypted_secret

  2. 获取当前的Unix时间戳 ts(单位:秒)。

  3. encrypted_secretts 拼接,再进行一次MD5加密,得到 sign

公式encrypted_secret = MD5(AppSecret)sign = MD5(encrypted_secret + ts)

3.2 控制指令下发

通过调用控制接口,向指定设备下发通断指令。

请求地址POST http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

请求头Content-Type: application/json

请求体(JSON格式)

citation:

3.3 实现“定时通断”的逻辑模型

由于设备本身支持“远程定时任务”的云端联动,但为了更灵活的二次开发(如循环课表、复杂节假日逻辑),采用服务端轮询或Cron任务模式:

  1. 定时器设置:在开发者自己的服务器或云函数中,设定Cron表达式(例如:每天 08:00 通电,17:00 断电)。

  2. 任务触发:当系统时间到达设定节点,服务器自动组装上述JSON命令。

  3. 指令执行:服务器向 api.thingboot.com 发起HTTPS请求。

  4. 结果验证:解析返回的HTTP状态码和响应体,确认设备是否成功执行。

4. 代码实现示例

以下是基于不同开发环境的二次开发示例,演示如何封装定时控制逻辑。

4.1 Python 实现(适用于后台服务、云函数)
4.2 Node.js 实现(适用于Web服务、小程序后端)

5. 高级功能与优化

5.1 保持功能与延时断开

如果不想维护复杂的定时任务脚本,可以利用设备内置的“保持”功能。在控制通电的同时,可以下发一个自动断开的指令。

应用场景:给电动车充电,通电1小时后自动断电。下发命令

citation:

5.2 数据计量与闭环控制

该断路器具备计量功能,支持实时上报电压、电流、功率。二次开发时可以结合这一特性实现“能耗过高自动断电”或“空闲断电”。

示例逻辑

  1. 定时开启空调(通电)。

  2. 通过接口查询设备功率数据。

  3. 如果检测到功率低至待机功耗(如 < 5W)持续30分钟,判断为无人使用,执行断电操作。

5.3 私有化部署(局域网)

对于工厂、机房等对数据安全要求比较高的场景,该设备支持私有化部署。如果开发的服务运行在同一局域网内,可以将请求地址指向本地网关IP,实现纯局域网控制,彻底断开外网依赖

6. 总结

通过芯步开放的HTTP API接口,开发者可以轻松绕过复杂的嵌入式开发,仅需关注业务逻辑层。利用 Python/Node.js 等脚本语言封装 签名算法HTTP请求,并结合 Cron任务设备的延时属性,即可稳定、高效地实现40A大功率断路器的远程定时通断控制。