CATALOG

芯步的2路智能墙壁开关开放了标准HTTP API接口,支持云端和局域网两种控制方式。二次开发的核心思路是:通过API签名认证,向指定设备下发power1/power2命令实现开关控制,再通过前端交互(如触摸按键)调用这些接口即可。以下是具体实现方案。

一、 总体技术架构

要实现触摸按键控制照明,核心是建立 “触摸事件 -> 业务逻辑 -> API指令 -> 物理设备” 的闭环。

  1. 硬件层:芯步2路智能墙壁开关(已接入WiFi,获得Device ID)。

  2. 接口层:芯步开放平台提供的 device/control HTTP API。

  3. 控制端:您的二次开发程序(运行在手机APP、微信小程序、Web网页或嵌入式触摸屏上)。

  4. 通信协议:HTTPS(公网)或 HTTP(局域网)。

二、 前期准备与环境搭建

在编写代码前,需要先在芯步平台完成以下配置,获取必要的凭证:

  1. 注册与创建:在芯步官网注册账号并创建工作台

  2. 获取凭证:在控制台的“开发设置”中获取 AppIDAppSecret。这是调用接口的钥匙。

  3. 获取设备ID:将2路智能墙壁开关配网成功,在控制台查看其 Device ID(例如:1878889010

  4. 命令确认:该设备的控制命令为 power1(线路1)和 power2(线路2),参数 1 为开启,0 为关闭

三、 核心开发:接口调用与签名生成

芯步的API采用动态签名验证,不能直接明文传输AppSecret,必须按照规则生成sign

1. 签名生成算法

算法规则如下md5(md5(AppSecret) + ts),即:

  1. AppSecret 进行一次MD5加密得到 str1

  2. str1 与当前时间戳 ts(秒级)拼接成字符串 str2

  3. str2 再次进行MD5加密,得到最终的 sign

2. 请求端点

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

  • Method:POST

  • Content-Type:application/json

3. 代码示例(Python)

以下代码演示了如何封装一个控制函数,用于实现触摸按键背后的逻辑。

四、 进阶开发:高级功能与场景联动

除了简单的开/关,芯步的接口还支持丰富的状态控制,非常适合实现复杂的照明逻辑。

1. 实现“一键全开/全关”

可以在您的界面上设置一个“总控”按钮,通过一次API调用同时控制两个继电器,或者通过代码分别调用control_device(1, "on")control_device(2, "on")

2. 实现“回家模式”联动

结合传感器或其他业务逻辑。例如:当门磁打开(触发事件)-> 调用本接口(power1, 1)-> 客厅灯亮起。

3. 状态保持(暂态)功能

若您需要实现类似“楼道灯”或“门铃灯”的效果(按下后亮一段时间自动熄灭),可以使用状态保持命令。该命令会强制改变开关状态,并在延时(毫秒)后自动恢复

  • 命令示例{"reset1":"3000"} (先断后通,延时3秒)

  • 应用场景:控制排风扇或临时照明,防止忘记关闭。

五、 局域网控制(可选)

若您的二次开发程序运行在与开关同一个局域网内(如家庭服务器、本地中控屏),芯步支持纯局域网控制,无需经过云端,响应更快且更稳定。

  1. 获取设备IP:开关联网后,可在路由器管理界面或通过mDNS发现其局域网IP。

  2. 替换请求地址:将请求URL中的 https://api.thingboot.com/{AppID}... 替换为 http://[设备IP]/device/control/...。请注意,局域网模式下不需要 AppID 和 Sign 验证,或者验证逻辑更简单(需参考具体产品手册)

  3. 优势:即使外网断开,触摸按键仍能通过您的程序控制照明。

六、 方案总结

通过上述方案,您可以成功将芯步标准的2路智能开关集成到您自己的系统中。

模块实现方案技术要点
用户输入触摸屏/小程序按钮绑定点击事件(如 @click="toggleLight(1)"
逻辑处理后端/云函数生成动态签名(MD5嵌套),构造JSON命令
设备控制HTTP API调用发送POST请求至 api.thingboot.com 或局域网IP
硬件执行2路墙壁开关接收命令,执行继电器吸合/断开,控制照明

这一方案简化了复杂的IoT底层开发,您只需关注前端交互与业务逻辑,无需处理设备固件升级、网络重连等问题,利用开放HTTP API即可快速实现 “触摸按键控制照明” 的完整功能闭环。