CATALOG

芯步的智能通断器 AC3-10A 计量版开放了标准的 HTTP API 接口,通过签名认证和指令下发即可实现远程控制与定时任务。以下方案涵盖接口协议、签名算法、定时任务调度逻辑及核心代码示例,供开发参考。

解决方案:基于芯步开放接口接入 AC3-10A 计量版实现远程定时任务控制

1. 背景与概述

智能通断器 AC3-10A 计量版(型号:UNI-TDQ-AC3-10A-P)是芯步推出的一款支持电量计量、远程控制和功率保护的硬件设备。它通过 WiFi 2.4G 直接联网,无需网关,并开放了完整的 HTTP API 接口。

本方案的目标是指导开发者如何通过调用芯步的开放接口,将该设备集成到现有的软件系统(如 Web、APP 或 SaaS 平台)中,从而实现定时任务控制(如:定时开关电器)以及电量数据监测

2. 核心接口与认证机制

芯步的接口采用标准的 HTTP POST 请求进行通信,核心特点是简单、无状态

  • 请求地址http(s)://api.thingboot.com/{AppId}/device/control/

  • 认证方式:签名验证 + 时间戳

  • 参数格式Content-Type: application/json

所有控制请求必须在 URL 参数中携带以下凭证:

  1. AppId:应用唯一标识(在芯步控制台获取)。

  2. ts:当前 Unix 时间戳(秒)。

  3. sign:签名,用于身份验证。

签名算法(关键步骤)为了防止接口被恶意篡改,系统采用两层 MD5 加密。公式为:sign = md5( md5(AppSecret) + ts )

注:+ 代表字符串拼接。你需要先将 AppSecret 进行一次 MD5 加密得到字符串 A,再将 A 与时间戳 ts 拼接,最后对整个字符串再次进行 MD5 加密

3. 实现“远程定时任务”的技术架构

要实现对 AC3-10A 计量版的定时控制,通常有两种架构模式,芯步的开放接口主要支持模式二

  • 模式一(设备端离线定时):将定时规则写入设备 Flash。优点是断网也能执行;缺点是规则灵活性差。*注:AC3-10A 标准接口文档未提及设备内置 Cron 功能,因此采用模式二。*

  • 模式二(服务器端/云端调度):由您的业务服务器在到达预设时间时,主动调用 HTTP 接口下发指令。

    • 优点:逻辑灵活,日志可追溯,可结合 AI 算法(如根据天气、电价自动调节),可管理百万级设备。

系统时序图逻辑

  1. 用户配置:用户在您的 APP/Web 上设置“18:00 开启热水器”。

  2. 任务存储:您的后端服务器接收任务并存入数据库,启动定时调度器(Scheduler)。

  3. 时间触发:系统时间到达 18:00。

  4. 下发指令:后端服务器计算签名,构造 JSON,向 api.thingboot.com 发起 POST 请求。

  5. 执行反馈:设备接收到 {"power":1} 指令后执行闭合,并返回结果(HTTP 200 或特定 ACK)。

4. 详细开发步骤

4.1 设备配网与初始化

在编写代码前,需确保设备已联网。

  • 操作方式:下载“芯步”小程序或登录官网控制台。

  • 步骤:选择“网络配置” -> 输入 2.4G WiFi 密码 -> 开启手机热点模式配网

  • 获取 Device ID:配网成功后,在控制台“设备列表”中查看 Device ID(这是后续控制的唯一标识)。

4.2 接口调试:控制通断

这是实现定时任务的基础动作。AC3-10A 计量版的核心控制指令如下:

请求示例(开启设备)

计量数据读取既然是“计量版”,通常需要读取电压电流。

  • 方案 A(主动拉取):部分版本的接口支持 {"metering":"1"} 命令来主动查询电参量

  • 方案 B(被动接收):配置您的服务器接收设备的消息推送。设备会在电量变化或定时上报时,将电压、电流、功率数据 POST 到您指定的 URL

4.3 核心逻辑实现:定时任务调度

在您的业务服务器端,需要实现一个定时触发器。以下伪代码展示了核心逻辑:

Python 实现示例(Flask APScheduler 或 函数计算)

4.4 高级应用:结合计量的智能定时

利用计量版的特性,定时任务可以做得更“智能”,而不仅仅是定时通断。

  • 场景:给电动车充电,希望充满即断电,或者“充电 4 小时后断电”。

  • 实现

    1. 发出 {"power":1} 指令。

    2. 监听设备上报的 power(功率)数据。

    3. 当检测到功率从大于 100W 突然下降到 10W 以下(表示充满,浮充)且持续 1 分钟,服务器自动发送 {"power":0} 指令。

    4. 或者,直接记录开始时间,由服务器 Delay Queue 在 4 小时后自动发送关闭指令。

5. 关键注意事项

  1. 并发与多设备控制芯步接口支持一次请求控制多个设备。在 device 字段中可用英文逗号拼接 ID,如 "device": "820720,820721"。这在执行“一键全关”的定时任务时非常高效

  2. 网络稳定性设备使用 WiFi 连接,若路由器重启或网络波动,设备会自动重连。但开发定时任务时,增加指令重试机制(如:每隔 1 秒重试 3 次),因为定时任务执行时可能刚好遇到设备重启或网络延迟

  3. 私有化部署(可选)如果您对数据安全有比较高要求(如工业控制),芯步支持私有化部署。此时 API 地址将变更为您自己的服务器 IP,通信协议和签名算法不变

6. 总结

通过接入芯步 AC3-10A 计量版的开放 HTTP 接口,您可以快速具备远程硬件的控制能力。

  • 控制层:通过标准 HTTP + 签名机制,实现跨平台的远程开关。

  • 业务层:利用服务器端的定时器(Cron/Task Scheduler),轻松实现复杂的定时任务逻辑。

  • 数据层:结合计量数据回传,实现能耗统计和自动化联动保护,如“过载跳闸保护”和“充满自停”

无需关心底层射频或蓝牙配对,只需简单的 RESTful API 调用,即可将您的软件方案从纯软件升级为“软硬一体”的物联网解决方案。