CATALOG

芯步的智能3路墙壁开关通过HTTP接口开放控制能力,对接的核心是签名计算和命令格式构造。以下从接口准备、签名算法、三路独立控制命令到状态保持等高级功能,给出完整的对接方案。

解决方案:基于芯步开放接口对接智能3路墙壁开关实现三路独立线路控制

1. 概述

芯步的智能墙壁开关3路(型号:智能墙壁开关3路)是一款支持Wi-Fi联网的86型智能开关,核心优势在于其开放的HTTP API接口。开发者无需复杂的MQTT协议或嵌入式开发,只需通过标准的HTTP POST请求,即可实现对设备三路电路(通常对应三盏灯或三个电器)的独立远程控制

本方案的目标是指导开发者如何快速对接该产品的开放接口,实现:

  • 单一路线的独立开启/关闭(如只开客厅灯,关卧室灯);

  • 全量控制(一键全开/全关);

  • 高级定时与状态保持功能。

2. 前置准备与硬件接线

2.1 账号与设备准备

  1. 注册开发者账号:访问芯步官网注册账号,并登录工作台

  2. 获取凭证:在“开发设置”中获取 AppId(应用ID)和 AppSecret(应用密钥)。

  3. 设备ID:将智能3路墙壁开关通电并配网成功后,在“物联网控制台”中查看该设备的 Device ID

2.2 硬件接线(仅作参考,请以电工规范为准)

  • 注意:请委托专业电工操作,安装前请一定要断开总闸。

  • 零火线要求:该开关通常需要接入零线火线。需在86底盒内预留零线。

  • 负载接入

    • 将第一路照明灯的火线接入“L1”接线柱。

    • 将第二路照明灯的火线接入“L2”接线柱。

    • 将第三路照明灯的火线接入“L3”接线柱。

    • 公共火线进线接“L”或“COM”,零线接“N”

3. 接口鉴权机制(签名计算)

芯步的接口采用动态签名验证 (sign) 和时间戳 (ts) 机制,防止接口被恶意篡改。

请求地址POST http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

签名算法步骤

  1. 准备 AppSecret(开发者密码)。

  2. 计算 step1 = MD5(AppSecret)。

  3. 拼接字符串 step1 + 当前时间戳 ts(单位:秒)。

  4. 计算 sign = MD5(拼接后的字符串)。

示例代码(伪代码)

4. 核心功能实现:三路独立控制

该设备的控制指令通过 order 参数传递,格式为 JSON。通过修改 order 对象中的字段,实现对不同路的控制

4.1 命令格式基础

  • 设备标识device 字段填入上述获取的设备ID。

  • 控制指令order 字段是一个 JSON 对象。

4.2 独立控制三条线路

  • 控制第1路{"power1": 1} (1为开,0为关)

  • 控制第2路{"power2": 0}

  • 控制第3路{"power3": 1}

4.3 请求示例(cURL)以下命令演示了同时关闭第1路、打开第2路、关闭第3路的组合操作:

引用来源:搜索结果中明确提到请求数据格式为 {"device":820720, "order":{"power1":1, "power2":1, "power3":0}}

5. 高级功能:定时与状态保持

为了提升场景智能化体验,接口支持一次性定时任务和状态锁定。

5.1 定时开关(延时恢复)无需在服务器端维护定时任务,只需发送命令即可实现“打开后自动关闭”或“关闭后自动打开”。

  • 场景:打开排风扇,让它工作1小时后自动关闭。

  • 命令{"power1": 1, "reset1": 3600000}(单位:毫秒,即1小时)

5.2 状态保持(点动/联动模式)此功能常用于门禁或临时控制场景。下发指令后,用户若手动按了开关,系统会在指定时间后自动恢复原状。

  • 场景:会议室投影幕下降。下发“保持开”命令,即使用户手贱按了关,2秒后开关也会自动回到“开”状态(继续下降)

  • 命令{"power1": {"keep": "1", "revert": "3"}}(保持开,用户关3秒后自动打开)

6. 对接流程时序图

sequenceDiagram
    participant Dev as 开发者服务器
    participant API as 芯步API网关
    participant Device as 墙壁开关(3路)

    Note over Dev: 1. 计算签名 & 构造命令
    Dev->>Dev: MD5(AppSecret) + ts -> sign
    Dev->>API: POST /control/ (device=ID, order={power1:1, power2:0})
    Note over API: 2. 校验签名 & 设备状态
    API-->>Dev: 200 OK (立即返回)
    API->>Device: 推送控制指令 (基于MQTT长连接)
    Device->>Device: 第1路闭合(灯亮), 第2路断开(灯灭)
    Device-->>API: 上报执行结果

7. 总结

对接芯步的智能3路墙壁开关非常轻量级,开发者只需关注业务逻辑层:

  1. 无需关心协议栈:设备已经通过Wi-Fi联网并维持了与云端的MQTT长连接,开发者只需调用HTTP接口。

  2. 操作即见效:接口响应极快(80-120ms),并且支持单路独立控制。

  3. 灵活性:通过 resetkeep 参数,可轻松实现复杂的工业或家居自动化逻辑,而无需在应用层编写复杂的定时器代码

开发者在开发初期,使用 Postman 等工具配合签名计算脚本,先行验证签名算法和设备ID的正确性,再进行业务代码的集成。