CATALOG

AC3-10A计量版是一款支持HTTP接口直接控制的WiFi通断器,无需网关即可接入。以下方案涵盖从设备配网、签名计算到远程通断控制的完整流程,核心命令为{"power":1}(开)和{"power":0}(关)。

一、 解决概述

芯步的智能硬件体系采用设备直连WiFi云端HTTP API相结合的架构。对于AC3-10A 计量版电器开关,开发者无需购买网关,只需将设备配置到家庭/现场2.4G WiFi网络后,即可通过芯步开放平台提供的HTTP接口,对设备进行远程控制和数据读取。

这种方案的优势在于:

  • 跨平台性:任何支持HTTP协议的语言(Java, Python, PHP, Go)或工具(Postman, curl)均可接入。

  • 低延迟:命令响应速度通常在 80-120ms。

  • 安全性:采用签名机制(Sign)验证身份,防止接口被恶意调用。

二、 准备工作

在开始编码之前,需要完成以下物理配置和账号准备:

  1. 硬件准备

    • AC3-10A 计量版设备一台(型号:UNI-TDQ-AC3-10A-P)

    • 220V交流电源及待控制的电器。

  2. 账号与平台

    • 注册芯步官方平台账号。

    • 登录后,在“工作台” -> “物联网控制台” -> “开发设置”中获取以下关键凭证:

      • AppID:应用的唯一标识。

      • AppSecret:用于计算签名的密钥。

  3. 设备激活与配网

    • 给AC3设备通电。

    • 在物联网控制台或官方小程序中,为设备配置现场的2.4GHz WiFi网络。

    • 配网成功后,在控制台的“设备列表”中获取该设备的唯一标识符——Device ID(例如示例中的 1878

三、 接口鉴权机制

芯步的API采用了动态签名(Sign)的方式保证安全性。所有的控制请求都需要在URL参数中携带 signts

签名算法如下

  1. 获取当前的Unix时间戳(秒),例如 1747212640

  2. 将你的 AppSecret 进行第一次MD5加密,得到字符串 S1

  3. 拼接字符串:S1 + ts(时间戳字符串)得到 S2

  4. S2 再次进行MD5加密,得到最终的 sign

公式化表示为Sign = md5( md5(AppSecret) + ts ),其中 + 为字符串拼接

四、 远程控制核心 API 详解

1. 请求地址

POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

路径参数替换说明

  • {AppID}:替换为准备工作中获取的AppID,需直接拼接到URL路径中,例如 /your_app_id/device/control/

  • {sign}:替换为根据上述算法计算出的签名值。

  • {ts}:替换为当前Unix时间戳(秒),该值必须与计算签名时使用的时间戳一致

2. 请求头 (Headers)

  • Content-Type: application/json

3. 请求体 (Body)

请求体为JSON格式,包含两个字段:

  • device:字符串类型。支持单个设备或多个设备(用逗号分隔,例如 "id1,id2")。

  • order:对象类型。具体的控制指令,针对AC3-10A设备,核心命令如下

功能描述Order JSON 参数示例说明
开启/闭合{"power": 1}1=接通电路(开),0=断开电路(关)
读取电量{"metering": 1}1=开启计量上报,通常用于查询电压、电流数据
点动模式{"point": 3000}先接通,持续3秒后自动断开(单位:毫秒)
重启模式{"reset": 3000}先断开,持续3秒后自动恢复接通

五、 接入代码示例

以下以计量版的“远程通断控制”为例,展示如何通过代码开关电器。

1. Bash (Curl) 脚本示例

这是最基础的测试方式,适合在Linux终端验证接口

2. Python 示例

适合集成到现有的Python后端服务中。

3. 常见返回码解析

  • {"status":200,"msg":"success"}:命令已成功下发至设备。

  • {"status":401,"msg":"sign error"}:签名错误,请检查AppSecret是否正确,或时间戳是否超出有效范围。

  • {"status":404,"msg":"device offline"}:设备离线,请检查设备电源和WiFi连接。

六、 计量数据的获取与联动

AC3-10A 计量版的核心价值在于不仅能控制,还能获取能耗数据。

  1. 触发上报:当设备状态变化(如开关动作)或功率变化超过阈值时,设备会自动向云端上报数据。

  2. 接收数据(需配置回调)如果你需要实时获取电压、电流和功率数据,需要在物联网控制台配置“消息推送”服务(即设置你的服务器URL)。当设备上报计量数据时,芯步云会向你的服务器发送如下格式的POST数据

应用场景:你可以设置逻辑,例如“当功率 > 3500W 时,自动发送 {"power":0} 命令切断电源,实现过载保护”。

七、 注意事项

  1. WiFi频段:设备仅支持 2.4GHz WiFi,不支持5GHz WiFi。请确保配网时手机连接的也是2.4G信号,或关闭路由器的5G融合功能

  2. 私有化部署:如果项目需要在纯局域网或内网运行,芯步支持私有化部署。这种情况下,API地址将变更为你的私有服务器地址,具体实施需联系官方技术支持

  3. Device ID 获取:代码中的 1878 为示例ID,实际ID请以控制台显示的数字字符串为准

通过以上步骤,即可快速完成 AC3-10A 计量版电器开关的 HTTP 接口远程控制接入。