芯步智能触摸墙壁开关3路(UNI-KG-CM-3)开放标准HTTP接口,可直接通过WiFi(2.4G)远程控制三路照明或设备,无需网关 。以下是完整的接入方案:
1. 准备工作:获取凭证与设备ID
在开始编码前,你需要在芯步控制台获取以下三个关键信息:
AppID(开发者ID) 与 AppSecret(开发者密码):注册并登录芯步官网,进入“工作台” -> “物联网控制台” -> “开发设置”页面获取 。
设备ID(Device ID):将智能触摸墙壁开关3路接通电源并连接至WiFi(仅支持2.4G网络),然后在控制台的“设备列表”页面查看该设备的ID 。
2. 接口鉴权:签名计算规则
芯步的开放接口通过双重MD5加密方式进行鉴权,这是保证接口安全的核心步骤 。
核心公式
sign = md5( md5(AppSecret) + ts )
参数说明
AppSecret:你的开发者密码。
ts:当前Unix时间戳(秒),必须是10位数字。
计算步骤
将
AppSecret进行一次 MD5 加密,得到32位小写字符串sign_a。将
sign_a与时间戳ts进行字符串拼接,得到sign_b。对
sign_b再次进行 MD5 加密,得到最终的sign。
示例假设 AppSecret = "123456", ts = "1698732000"。
sign_a = md5("123456")= "e10adc3949ba59abbe56e057f20f883e"sign_b = "e10adc3949ba59abbe56e057f20f883e" + "1698732000"sign = md5(sign_b)= "49981a0e0dacb7101a5ecfddb973a5f2"
3. 核心接口:远程控制指令
本方案的核心是通过HTTP请求向特定URL下发JSON指令 。
请求URL:
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求方法:
POST请求头:
Content-Type: application/json请求体
4. 详细命令参数(Order 对象详解)
对于“智能触摸墙壁开关3路”型号(UNI-KG-CM-3),我们通过 order 中的不同字段来控制三个独立的线路 。
4.1 基础开关控制
控制三路照明或设备的独立开关,适用于标准的远程开启/关闭场景。
| 功能描述 | Order 命令示例 | 说明 |
|---|---|---|
| 打开第1路 | {"power1": 1} | 1为开 |
| 关闭第1路 | {"power1": 0} | 0为关 |
| 打开第2路 | {"power2": 1} | - |
| 关闭第2路 | {"power2": 0} | - |
| 打开第3路 | {"power3": 1} | - |
| 关闭第3路 | {"power3": 0} | - |
4.2 状态保持功能(防误触/场景联动)
此功能用于保持线路状态。例如,在无人值守场景下,强制某路保持关闭,用户手动打开后会在规定时间内自动恢复。
keep"0"保持关,"1"保持开。revert:恢复时间(秒)。例如用户触发相反动作后,间隔几秒复原。
4.3 脉冲控制模式(点动/门禁)
适用于控制门禁电插锁、排风扇、报警器等需要通电一段时间后自动断电的设备 。
| 功能 | Order 命令示例 | 效果说明 |
|---|---|---|
| 第1路先通后断 | {"point1": "2000"} | 立即通电,2000毫秒(2秒)后自动断开 |
| 第2路先通后断 | {"point2": "3000"} | 立即通电,3秒后断开 |
| 第1路先断后通 | {"reset1": "1000"} | 立即断电,1秒后自动恢复通电 |
| 第3路先断后通 | {"reset3": "5000"} | 立即断电,5秒后恢复 |
5. 实战代码示例
以下是三种最常见的接入方式示例。
5.1 Linux / Mac 系统 (使用 CURL)
在终端中直接运行,无需编译,适合快速测试或嵌入Shell脚本 。
5.2 微信小程序 / JavaScript (前后端通用)
如果你的前端应用(如小程序、网页)需要控制设备,强烈将以下逻辑放在你自己的后端服务器执行,以保护 AppSecret 不被泄露。
5.3 Python 语言实现
适合嵌入式开发板或后端服务集成。
6. 高级选项与排错
6.1 MQTT 接入(推荐高实时性场景)
如果轮询请求过于频繁,使用 MQTT 协议可以获得更高的实时性和更低的服务器负载 。
Host:
mapi.thingboot.comPort:
1883Username: 你的
AppIDPassword: 你的
AppSecret(无需MD5加密)发布主题:
api/{AppID}/device/control
将 {"device":"设备ID", "order":{...}} JSON字符串发布到上述主题即可,设备端会实时响应。
6.2 私有化部署(局域网场景)
芯步支持私有化部署,如果你的开关和服务器处于同一局域网且不希望经过外网,可以将域名 api.thingboot.com 替换为部署在内网的私有服务器地址,并开启设备的局域网通信模式 。
6.3 常见错误排查
| 错误代码 | 原因 | 解决方案 |
|---|---|---|
| 5003 | ts 时间戳错误 | 确保服务器时间为中国标准时间(CST),且 ts 为10位秒数 。 |
| 5006 | sign 签名错误 | 检查 AppSecret 是否正确,特别是MD5计算是否为32位小写,注意拼接顺序。 |
| 5009 | 请求过于频繁 | 单个设备指令频率限制为 1次/秒。若实现“长按”或“连续调节”,需在代码中增加节流或延迟控制 。 |