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)验证身份,防止接口被恶意调用。
二、 准备工作
在开始编码之前,需要完成以下物理配置和账号准备:
硬件准备
AC3-10A 计量版设备一台(型号:UNI-TDQ-AC3-10A-P)。
220V交流电源及待控制的电器。
账号与平台
注册芯步官方平台账号。
登录后,在“工作台” -> “物联网控制台” -> “开发设置”中获取以下关键凭证:
AppID:应用的唯一标识。
AppSecret:用于计算签名的密钥。
设备激活与配网
给AC3设备通电。
在物联网控制台或官方小程序中,为设备配置现场的2.4GHz WiFi网络。
配网成功后,在控制台的“设备列表”中获取该设备的唯一标识符——Device ID(例如示例中的
1878)。
三、 接口鉴权机制
芯步的API采用了动态签名(Sign)的方式保证安全性。所有的控制请求都需要在URL参数中携带 sign 和 ts。
签名算法如下
获取当前的Unix时间戳(秒),例如
1747212640。将你的
AppSecret进行第一次MD5加密,得到字符串S1。拼接字符串:
S1+ts(时间戳字符串)得到S2。将
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 计量版的核心价值在于不仅能控制,还能获取能耗数据。
触发上报:当设备状态变化(如开关动作)或功率变化超过阈值时,设备会自动向云端上报数据。
接收数据(需配置回调)如果你需要实时获取电压、电流和功率数据,需要在物联网控制台配置“消息推送”服务(即设置你的服务器URL)。当设备上报计量数据时,芯步云会向你的服务器发送如下格式的POST数据
应用场景:你可以设置逻辑,例如“当功率 > 3500W 时,自动发送 {"power":0} 命令切断电源,实现过载保护”。
七、 注意事项
WiFi频段:设备仅支持 2.4GHz WiFi,不支持5GHz WiFi。请确保配网时手机连接的也是2.4G信号,或关闭路由器的5G融合功能。
私有化部署:如果项目需要在纯局域网或内网运行,芯步支持私有化部署。这种情况下,API地址将变更为你的私有服务器地址,具体实施需联系官方技术支持。
Device ID 获取:代码中的
1878为示例ID,实际ID请以控制台显示的数字字符串为准。
通过以上步骤,即可快速完成 AC3-10A 计量版电器开关的 HTTP 接口远程控制接入。