CATALOG

芯步的智能触摸墙壁开关2路通过标准HTTP接口开放控制能力,开发者可按需独立控制每路照明。下面从硬件准备、接口对接、签名计算到代码实现,给出完整方案。

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

1. 概述与硬件准备

本方案的目标是通过调用芯步开放的HTTP API接口,实现对智能触摸墙壁开关2路产品的远程及本地控制,最终达到通过手机App、微信小程序或Web管理平台触摸按键控制两路灯具通断的目的。

硬件: 芯步-智能触摸墙壁开关2路关键特性:

  • 双路独立控制:可分别控制两路照明电路,互不干扰。

  • 标准86型安装:可直接替换现有墙壁开关,零火线供电

  • WiFi直连:支持2.4GHz WiFi,无需额外购买网关

  • 开放接口:提供标准的HTTP API,支持JSON格式指令,响应速度极快(约80-120ms)

物理接线说明在开始软件对接前,请确保硬件已正确安装:

  1. 零火线接入:确保开关底盒内留有零线(N)和火线(L),因为智能开关需要持续供电。

  2. 负载连接

    • 将“照明1”的火线接入开关背面的 L1 接口(对应控制指令中的power1)。

    • 将“照明2”的火线接入开关背面的 L2 接口(对应控制指令中的power2)。

2. 接口对接架构

芯步采用设备端 + 云平台 + 应用端的架构。开发者无需关心底层通信协议,只需通过HTTP请求向云端发送指令,云端负责将指令推送给设备。

  • 控制端:手机App/微信小程序/Web后台。

  • 通信协议:HTTPS (HTTP POST)。

  • 数据格式Content-Type: application/json

  • 鉴权机制:AppID + 动态MD5签名(Sign)。

3. 详细开发步骤

3.1 前期准备(控制台设置)

首先需要在芯步开放平台完成账号注册与应用创建,以获取鉴权所需的密钥信息。

  1. 注册并登录芯步控制台。

  2. 在“开发设置”中获取:

    • AppID:应用的唯一标识。

    • AppSecret:开发者密钥(用于计算签名,请勿泄露)。

  3. 获取设备ID

    • 给开关通电,长按配网键。

    • 在控制台中搜索并绑定该设备,获得唯一的 Device ID(例如:1878820720),后续指令需通过该ID指向具体的物理设备

3.2 核心接口逻辑:计算签名(Sign)

芯步的API要求在URL参数中携带签名和时间戳以防止重放攻击。签名生成规则如下

Sign = md5( md5(AppSecret) + ts )

参数说明

  • ts:当前的Unix时间戳(秒级),例如 1715385600

  • md5():标准的32位小写MD5加密函数。

示例计算流程(伪代码):

将此signts拼接在URL中。

3.3 指令下发:控制灯具开关

使用通用的API端点,通过修改order参数中的power1power2值来操控对应线路。

  • 请求地址https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

  • 请求方法:POST

  • 请求体(Body)

3.4 代码实现示例

以下提供cURL(命令行)、Python(后端/嵌入式)、微信小程序(前端)三种对接方式的代码模板,可直接复用。

1. cURL命令(用于测试连通性)

2. Python 实现(适用于后端逻辑或自动化脚本)

3. 微信小程序端(触摸按键交互)当用户在手机上点击按钮时,调用云函数或直接通过HTTPS请求发送指令。由于小程序安全限制,将签名计算过程放在后端云函数中执行,前端仅负责调用

说明:为了保障密钥安全,不在小程序代码中直接存放 AppSecret,应将控制逻辑封装在开发者自己的后端服务中。

4. 高级功能:状态同步与反馈

单纯的“发指令”存在丢包或设备离线风险,为了保证App按键后灯光确实亮了,需要利用平台的状态上报能力。

  • 配置回调地址:在控制台设置“消息推送URL”。

  • 工作机制:当用户物理触摸墙壁开关时,设备会上报当前状态;当设备收到远程指令执行后,也会返回执行结果。

  • 应用:后端接收到状态变更通知后,可通过WebSocket推送给App,实现App按钮状态的实时同步。

5. 总结

通过芯步开放的HTTP接口,对接“2路独立控制墙壁开关”非常简单,主要流程可概括为:

  1. 接线:确认零火线,分清L1/L2。

  2. 获取凭证:拿到 AppID, AppSecret, DeviceID。

  3. 动态签名:按照 md5(md5(Secret)+ts) 计算Sign。

  4. 下发指令:使用POST请求,order字段中填入 {"power1":1}{"power2":0}

此方案不仅支持公网远程控制,还支持局域网(LAN)控制和私有化部署,在断外网的情况下,只要手机和开关在同一局域网下,依然可以控制,极大提升了系统的稳定性