芯步的智能触摸墙壁开关2路开放标准HTTP接口,支持任何编程语言调用。以下方案涵盖从配网、签名计算到代码实现的完整流程,你可以直接复制示例代码进行测试。
解决方案:基于芯步开放接口二次开发智能触摸墙壁开关2路
1. 准备工作与环境分析
在开始二次开发之前,你需要明确硬件特性并准备好开发环境。
硬件特性:芯步智能触摸墙壁开关 2 路(型号:UNI-KG-CM-2)是一款标准 86 型开关,支持 WiFi 2.4G 直连,无需网关。它本质上是将物理触摸按键映射为可编程的继电器输出。
接口协议:设备使用极简的 HTTP 协议。这意味着无论你是用 Python 写一个智能家居服务,还是用 PHP 搭建一个 Web 控制台,甚至是用 Shell 脚本做自动化联动,都可以通过发送 HTTP 请求来控制灯的开关。
触发逻辑:你的核心任务是将“触摸按键事件”转化为“HTTP API 调用”。在编程实现中,通常是通过监听 GPIO 中断或通过 UI 点击事件,触发执行下方代码段中的请求函数。
2. 获取凭证与设备ID
在编写任何代码前,需要先获取以下关键参数:
注册与登录:访问芯步官网注册账号,并进入“工作台”。
获取密钥:在“开发设置”中获取 AppID 和 AppSecret。这是你调用 API 的身份凭证。
设备配网:将开关通电。通过“物联网控制台”或“芯步小程序”进行网络配置。配网成功后,在控制台的设备列表中查看你的 设备ID(Device ID)。
注意:配网时确保手机热点或 WiFi 是 2.4G 频段。
3. 核心API签名算法详解
芯步的接口安全性基于动态签名,每次请求都需要携带计算出的 sign。签名生成规则如下(通用逻辑):
将你的
AppSecret进行第一次 MD5 加密,得到secret_md5。获取当前的 Unix 时间戳(秒级),记为
ts。将
secret_md5与ts进行字符串拼接。将拼接后的字符串进行第二次 MD5 加密,得到最终的
sign。
公式Sign = MD5( MD5(AppSecret) + ts )
PHP 示例$sign = md5( md5($AppSecret) . $ts );
Python 示例
4. 开发实战:实现触摸按键控制照明
针对“智能触摸墙壁开关2路”的二次开发,核心是调用设备控制接口,通过传递不同的 order 参数,精准控制第一路、第二路或执行自动化场景。
接口地址https://api.thingboot.com/{AppID}/device/control/
支持的命令列表
| 功能描述 | 命令参数 (Order JSON) | 适用场景 |
|---|---|---|
| 1路 开/关 | {"power1": 1} / {"power1": 0} | 控制客厅主灯 |
| 2路 开/关 | {"power2": 1} / {"power2": 0} | 控制射灯/灯带 |
| 1路 点动(先通后断) | {"point1": 2000} | 控制电动窗帘、门禁(通电2秒后自动断电) |
| 2路 点动(先断后通) | {"reset2": 3000} | 控制复位型设备(断开3秒后自动恢复通电) |
| 1路 状态保持 | {"power1": {"keep": 1, "revert": 10}} | 场景联动:用户手动关灯,10秒后自动开灯(防差错) |
代码示例 (Curl & Bash)你可以直接在 Linux 终端或路由器脚本中使用以下命令:
代码示例 (Python)适用于集成到 HomeAssistant 或自建智能中枢中:
5. 高级应用:实现“保持”与“互锁”逻辑
在智能家居改造中,单纯的“开”和“关”往往不够,比如楼道灯需要自动熄灭。利用接口的高级参数可以实现更复杂的逻辑,而无需修改物理硬件代码:
第一种场景:楼梯灯/感应灯(自动复位)
需求:触摸按键打开楼梯灯,希望 20 秒后自动关闭,防止忘记关灯。
解决方案:二次开发时,调用状态保持接口。
命令:
{"power1": {"keep": 1, "revert": 20}}效果:收到此命令后,第一路立刻开启,20秒后自动关闭。
第二种场景:窗帘/卷帘电机控制(互锁与点动)
需求:控制 2 路电机(正转/反转),必须确保两个继电器不能同时吸合,且松开按键即停止。
解决方案:利用“先断后通”和“点动”组合。
开窗帘:
{"reset1": 0}(确保另一路断开) +{"point2": 持续时间}由于设备支持局域网控制,你可以在本地服务器设置防呆逻辑,发送命令前先检查状态。
6. 架构和需要注意的点
局域网直连(低延迟):由于设备支持纯局域网环境,若你的二次开发服务器(如树莓派、群晖NAS)与开关处于同一局域网,使用本地发现或固定IP方式通信,响应速度可达毫秒级,且断外网也能用。
安全性
AppSecret至关重要。在原生 APP 开发中,严禁将 AppSecret 硬编码在前端代码中。在后端服务器计算签名,前端通过 Websocket 或 Ajax 请求后端接口,再由后端调用芯步 API,以此保护密钥安全。状态同步:触摸开关本身有物理反馈。如果你在做全屋智能系统,订阅设备状态变化回调(Webhook)来同步设备当前是开还是关,避免状态不一致。
通过上述方案,你可以基于芯步的开放接口,快速将硬件能力集成到现有的软件项目中,实现触摸按键与远程逻辑的深度联动。