CATALOG

芯步智能断路器开放了标准HTTP API,二次开发的核心是通过签名鉴权后调用/device/control/接口下发指令,再结合cron表达式或任务调度器即可实现定时控制。以下是具体的技术实现方案:

1. 解决概述

要实现对大功率断路器的远程定时任务控制,我们需要利用以下两个核心接口能力:

  1. 设备控制接口(核心):用于立即执行“开”或“关”动作。

  2. 消息推送接收(可选):用于接收设备执行后的结果反馈(如是否真的成功、当前功率读数等)。

系统架构逻辑:后端服务器(定时器) -> 调用芯步API -> MQTT/HTTP推送至设备 -> 断路器执行动作 -> 设备返回执行结果 -> 平台推送给服务器

2. 准备工作:获取密钥与设备ID

在开始编码前,请登录芯步开放平台控制台,准备好以下三要素

参数说明获取方式
AppID应用唯一标识控制台 开发设置 页面查看
AppSecret应用密钥(用于加密)控制台 开发设置 页面查看(注意保密)
Device ID目标断路器设备ID设备外壳标签或控制台设备列表

3. 核心接口分析:如何发送命令

该断路器支持多种控制模式。为了实现定时任务,我们只需要调用 设备控制接口

3.1 接口详情

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方式POST

  • 参数传递: 推荐使用 BodyJSON 格式

3.2 命令格式与签名算法

该设备的核心控制参数为 power

  • 开启设备{"power": "1"}

  • 关闭设备{"power": "0"}

安全签名机制为了防止接口被篡改,每一次请求都需要携带 signts(时间戳)参数。签名生成规则如下

  1. 首先,将 AppSecret 进行 MD5 加密,得到 secret_md5

  2. 然后,拼接字符串:sign_str = secret_md5 + ts(其中 ts 为当前的 Unix 时间戳,单位:秒)。

  3. 最后,将 sign_str 再次进行 MD5 加密,得到最终的 sign

4. 解决方案实现:定时任务逻辑

要实现“远程定时任务”,通常有两种方式,这里重点介绍基于应用层服务器(或云函数)的实现方案。

  • 方案A:利用芯步平台自带的“云端定时” (最简单,无需代码)通常平台控制台会提供“定时任务”功能,直接设置即可。由于你强调的是“二次开发”,以下主要展示方案B。

  • 方案B:通过代码实现动态定时任务 (最灵活,适用于集成到现有系统)

4.1 技术选型

你需要编写一个后端服务(例如 Python + Flask、Java Spring Boot、Node.js 或 Shell 脚本),在服务内部实现一个定时任务调度器(如 Linux Crontab、APScheduler、Quartz 等)。

4.2 代码实现示例(伪代码/Python逻辑)

假设我们需要实现“每天晚上 23:00 自动关闭大功率设备”。

5. 进阶功能:获取计量数据与执行反馈

仅仅执行“开/关”对于“计量数显版”是不够的。你可能需要知道设备的当前电流、电压或本次操作是否真的成功了。

5.1 异步消息接收(推荐)

由于网络延迟,调用API返回200只代表指令送达平台,不代表设备执行完毕。为了获取更精准的结果,你需要设置一个公网URL接收平台的消息推送

你需要处理的回调数据格式示例:

5.2 查询设备状态

如果你不想搭建回调服务,也可以调用 查询设备状态 接口来获取当前的实时计量数据,用于校验定时任务是否生效。

6. 常见问题与调试技巧

  1. 签名失败 (sign error)

    • 检查步骤:确认 ts秒级时间戳(毫秒会导致错误)。

    • 编码问题:确保 MD5 生成的字符串是 32位小写 十六进制。

  2. 命令下发成功但设备无动作

    • 原因:设备离线或网络信号差。

    • 排查:在芯步官方App/控制台查看设备是否显示“在线”。如果是“离线”,定时任务无法执行。

  3. 设备支持的命令不止开/关

    • 根据产品手册,该设备可能还支持 metering(计量开关)、point(先通后断脉冲)等高级功能,如果你的定时任务需要配合警示灯,可以使用脉冲模式。

7. 总结

通过芯步的开放接口,实现大功率断路器的二次开发非常直接:

  1. 核心:调用 POST /device/control/,传递 order: {"power":"1"\/"0"}

  2. 难点:处理好 md5(md5(AppSecret)+ts) 的签名逻辑。

  3. 定时实现:在你的服务器上搭建一个调度框架(如 Cron 表达式)。

  4. 完善:配置消息推送接口,自动化处理设备上报的计量数据和执行反馈。