芯步的10A86型智能插座通过标准HTTP接口实现远程控制,签名认证采用双层MD5加密,命令响应约80-120ms。以下是完整的接入方案:
一、 概述与准备
本方案的目标是指导开发者如何通过芯步开放的HTTP API接口,实现对10A86型智能墙壁插座的远程指令控制。
在开始开发之前,请确保完成以下准备工作:
硬件准备:已完成10A86型智能墙壁插座的安装(替换原有86型插座),设备已通电并连接至2.4GHz Wi-Fi网络。
账号准备:在芯步官网注册开发者账号。
获取凭证:登录芯步控制台,在“开发设置”中获取以下三个核心凭证:
AppId: 应用的唯一标识。
AppSecret: 接口调用的密钥(请勿泄露)。
Device ID: 已添加的10A86型插座的设备ID。
二、 接口协议与地址
芯步采用标准的HTTP POST请求进行通信,具体协议细节如下:
请求方式: POST
数据格式: JSON
响应速度: 从指令下发到设备动作执行约80-120ms。
核心URL结构
https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
注:{AppId}、{sign}、{ts} 需替换为实际值。
三、 核心认证机制:签名计算
为了确保安全性,所有API请求必须携带动态签名(sign)和时间戳(ts)。芯步使用双层MD5加密算法。
签名生成步骤(伪代码逻辑):
将
AppSecret进行一次MD5加密,得到Secret_MD5。获取当前Unix时间戳(秒级),赋值给
ts。将
Secret_MD5与ts进行字符串拼接,得到字符串Str。将
Str再次进行MD5加密,结果即为sign。
公式化表达:
计算示例(概念):假设 AppSecret = “123456”,ts = 1712642400。
Step1_MD5 = md5(“123456”) = “e10adc3949ba59abbe56e057f20f883e”Step2_Str = “e10adc3949ba59abbe56e057f20f883e” + “1712642400”sign = md5(Step2_Str) = “xxxx...”
四、 指令下发参数详解
请求Body体(Request Body)需要包含两个关键字段:device 和 order。
请求头(Header)
| 参数名 | 值 | 必选 |
|---|---|---|
Content-Type | application/json | 是 |
请求体(Body)结构
| 字段 | 类型 | 说明 |
|---|---|---|
device | String | 目标设备的唯一ID,支持批量控制(用英文逗号间隔),例如 “820720,820721”。 |
order | Object | 控制指令JSON对象。 |
针对10A86型插座的 order 命令取值表:
| 功能描述 | 命令格式 (JSON) | 参数说明 |
|---|---|---|
| 即时开启 | {“power”: 1} | 1代表接通电源,0代表关闭。 |
| 即时关闭 | {“power”: 0} | — |
| 先通后断 (点动) | {“point”: 5000} | 立即开启,延时 毫秒 后自动关闭。5000 = 5秒。 |
| 先断后通 (重启) | {“reset”: 10000} | 立即关闭,延时 毫秒 后自动开启。10000 = 10秒。 |
五、 实际操作:发送开启与关闭指令
以下提供几种典型环境下的调用代码逻辑。
1. Curl命令示例(用于测试)
最快捷的测试方式,适用于Linux终端或Postman。
2. Python示例
六、 进阶功能:定时与计量
除了简单的开关,该产品接口还支持更复杂的逻辑,无需在云端或本地维护定时任务队列。
1. 延时任务(自动关闭)
如果需要在打开插座1小时后自动关闭(防止忘关),可以直接使用 point 命令,由设备本地执行。
命令
{“point”: 3600000}解释:插座立即闭合(通电),1小时后(3600000毫秒)自动断开。
2. 读取功率计量
对于带功率计量版本的10A插座,设备会主动上报或支持数据读取功能,可以获取实时的电压、电流和功率数据。这对于监测电器状态(如判断设备是否故障)非常有用。
七、 常见问题与排障
返回“签名错误”
原因:通常是由于时间戳(
ts)与服务器时间相差过大,或者MD5计算的字符串格式不正确(如未处理换行符)。解决:确保服务器时间同步;检查MD5函数输出的字符是否为小写。
设备无响应
原因:10A插座仅支持2.4GHz Wi-Fi,不支持5G频段;或者设备ID填写错误。
解决:确认手机/路由器开启双频合一功能时,设备是否连接了正确的信号;检查控制台获取的Device ID是否与代码中的一致。
AppId与AppSecret找不到路径:登录[芯步控制台] -> 进入“工作台” -> “物联网控制台”模块 -> 开发设置/应用管理页面。
通过以上步骤,开发者即可在10分钟内完成对芯步10A86型智能插座的远程控制集成。