CATALOG

芯步的智能触摸墙壁开关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

在编写任何代码前,需要先获取以下关键参数:

  1. 注册与登录:访问芯步官网注册账号,并进入“工作台”

  2. 获取密钥:在“开发设置”中获取 AppIDAppSecret。这是你调用 API 的身份凭证。

  3. 设备配网:将开关通电。通过“物联网控制台”或“芯步小程序”进行网络配置。配网成功后,在控制台的设备列表中查看你的 设备ID(Device ID)

    • 注意:配网时确保手机热点或 WiFi 是 2.4G 频段。

3. 核心API签名算法详解

芯步的接口安全性基于动态签名,每次请求都需要携带计算出的 sign。签名生成规则如下(通用逻辑):

  1. 将你的 AppSecret 进行第一次 MD5 加密,得到 secret_md5

  2. 获取当前的 Unix 时间戳(秒级),记为 ts

  3. secret_md5ts 进行字符串拼接

  4. 将拼接后的字符串进行第二次 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)来同步设备当前是开还是关,避免状态不一致。

通过上述方案,你可以基于芯步的开放接口,快速将硬件能力集成到现有的软件项目中,实现触摸按键与远程逻辑的深度联动。