CATALOG

芯步的2路墙壁开关通过HTTP接口开放了设备控制能力,二次开发的核心是构造签名并调用API,即可实现对两路线路的独立控制。以下方案涵盖接口协议、签名算法、命令格式及多场景代码示例。

解决方案:基于芯步开放接口的2路照明墙壁开关二次开发

1. 概述

目标:利用芯步提供的开放HTTP API接口,对“智能墙壁开关2路”硬件进行二次开发,实现通过软件(Web/App/小程序/后台脚本)独立控制两路照明电路的通断,并支持高级定时/联动逻辑。

核心能力

  • 独立线路控制:第1路与第2路物理隔离,电气上互不干扰。

  • 双通道反馈:可分别获取两路的当前开关状态。

  • 高级功能:支持“点动”(先通后断/先断后通)、“状态锁定与恢复”等工业及家居场景常用逻辑

2. 准备工作与环境配置

在开始编码前,需完成以下硬件与账号配置:

步骤操作内容详细说明
1. 硬件准备安装设备将“芯步智能墙壁开关2路”接入86底盒。关键点:需区分接线,L(火线)进,L1(第一路负载)、L2(第二路负载)出
2. 网络配置设备配网设备支持2.4G WiFi。使用“芯步”小程序或控制台进行“网络配置”,将设备SSID与密码写入模块
3. 获取凭证平台注册登录芯步官网控制台,在“开发设置”中获取 AppIDAppSecret,这是调用接口的钥匙
4. 获取Device ID设备标识在控制台设备列表页面查看到该开关的唯一标识符 Device (通常为一串数字)。

3. 接口鉴权与核心协议

所有二次开发均基于HTTP协议,请求地址(Endpoint)格式如下:

https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

为了保证安全性,请求需携带动态签名。

  • ts:当前Unix时间戳(秒),如 1715673600

  • sign:基于 AppSecretts 的MD5加密字符串。

签名生成算法(伪代码)

step1_temp = md5(AppSecret)
step2_source = step1_temp + str(ts)   // 字符串拼接
sign = md5(step2_source)

请求结构

  • MethodPOST

  • Content-Typeapplication/json

  • Body

4. 二次开发核心指令集

针对2路开关,order 对象是控制逻辑的核心。以下是针对 第一路第二路 的独立控制参数映射表:

功能描述场景第1路指令 (order 值)第2路指令 (order 值)
开启线路远程开灯{"power1":"1"}{"power2":"1"}
关闭线路远程关灯{"power1":"0"}{"power2":"0"}
点动/脉冲 (先通后断)控制门禁、电机{"point1":"2000"} (开启2秒后自动关闭){"point2":"2000"}
点动/脉冲 (先断后通)设备重启复位{"reset1":"5000"} (断开5秒后恢复开启){"reset2":"5000"}
状态保持/互锁勿扰模式{"power1":{"keep":"1","revert":"10"}} (1路锁定开启,用户手动关闭后10秒自动重开)结构相同,替换key为power2

开发注意事项

  • 若需同时控制两路,可以合并指令:{"power1":"1", "power2":"0"} 代表开第一路,关第二路。

  • pointreset 的时间参数单位为毫秒(ms)

5. 代码实战:多语言二次开发示例

以下示例展示了如何通过代码实现对2路照明的独立控制。所有示例均假设 AppIDAppSecretDevice 已定义。

5.1 Python (适用于后端/脚本)

使用 requests 库实现独立线路控制函数。

5.2 Shell (适用于嵌入式系统/路由器)

对于资源受限的环境,直接使用 curl 是最佳实践。

5.3 Java (适用于Android或企业级后端)

6. 高级场景:实现“互斥”与“场景联动”

在二次开发中,您可能不希望两个灯同时打开(例如控制卷帘门的上升和下降),或需要实现按键互锁。

逻辑示例当用户点击“打开窗帘”(第1路)时,系统应自动确保关闭“关闭窗帘”(第2路)。前端/后端逻辑代码

7. 总结

通过芯步的开放接口,对2路墙壁开关进行二次开发是高度灵活且低门槛的。开发者只需关注 签名鉴权JSON命令结构,无需关心底层无线协议。无论是将开关接入HomeAssistant(通过REST API)、企业内部OA系统,还是共享经济平台,都可以通过上述标准的HTTP调用实现稳定可靠的2路独立线路控制