CATALOG

芯步的智能墙壁开关(1/2/3路)均开放HTTP API接口,支持通过云端或局域网直接控制。以下方案围绕“物理按键触发 → 云端/本地事件回调 → 业务逻辑执行 → 目标设备响应”这条链路展开,涵盖接口对接、签名鉴权、事件处理和联动策略设计。

1. 概述与适用场景

在许多智能化改造场景中(如智慧酒店、智能办公、全屋智能),用户不仅希望用App控制灯光,更保留了“随手按键”的物理习惯。本方案的目标是解决如何利用芯步3路智能墙壁开关的物理按键操作,作为触发源,通过云端或局域网接口,对同一工作区内的其他智能设备(如传感器、排风扇、窗帘电机、另一路开关)进行联动控制。

痛点解决:

  • 习惯保留: 老人或访客无需学习App,按压物理开关即可触发复杂场景。

  • 逻辑解耦: 物理按键不再仅控制本地继电器,而是作为“场景按键”触发服务器逻辑。

  • 高可靠性: 支持局域网HTTP通信,即使外网断开,联动依然有效

2. 硬件与接口能力分析

在对接前,需明确3路开关的硬件特性及其开放接口能力。

2.1 硬件参数

  • 型号参考:UNI-KG-3(86型标准底盒安装)

  • 负载能力:单路阻性负载MAX 10A / 路,适用于灯光及常规家电。

  • 连接方式:Wi-Fi 2.4GHz,直连路由器,无需额外网关

2.2 开放HTTP API命令集

芯步3路开关支持以下核心JSON命令,这是实现联动的基础

功能描述命令格式 (Order JSON)说明
控制第1路开/关{"power1": 1}{"power1": 0}1为开启,0为关闭
控制第2路开/关{"power2": 1}{"power2": 0}远程控制第二路通断
控制第3路开/关{"power3": 1}{"power3": 0}远程控制第三路通断
第1路“点动”模式{"point1": "500"}瞬时接通后断开,时间单位毫秒
第1路“状态保持”{"power1": {"keep":1, "revert":10}}强制锁定状态,用户手动干预后X秒自动恢复

3. 对接设计

为实现物理按键触发联动,不能仅靠设备直连,必须引入一个中控服务(Server)。

架构拓扑图逻辑:

  1. 设备层:3路墙壁开关(触发源)、被控设备(通断器/灯光/喇叭)。

  2. 网络层:WiFi路由器(确保局域网畅通)。

  3. 服务层

    • 方案A(推荐):私有化服务器(接收设备状态回调)。

    • 方案B:芯步公有云API(轮询状态或通过HTTP回调)。

  4. 通信协议:HTTP POST请求,签名鉴权。

工作流:用户按压物理按键(如第1路) -> 开关状态改变 -> 开关通过HTTP/SDK主动上报状态至指定服务器 -> 服务器解析“哪个设备、哪一路、什么动作” -> 服务器执行预设联动逻辑(查表) -> 服务器下发控制指令给目标设备。

4. 详细对接步骤

4.1 准备工作与签名鉴权

在调用芯步接口前,需生成动态签名,这是保障接口安全的关键步骤

  • 获取凭证:在芯步控制台获取 AppIDAppSecret

  • 签名算法

    1. AppSecret 进行一次MD5加密:secret_md5 = MD5(AppSecret)

    2. 拼接时间戳:str = secret_md5 + ts (ts为秒级时间戳)。

    3. 最终签名:sign = MD5(str)

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

4.2 物理按键事件的捕获机制

这是本方案的核心难点。要让服务器“知道”按键被按下了,有以下两种实现方式:

方式一:设备状态主动推送(最佳实践)利用芯步的“消息推送”功能。在物联网控制台中配置您的服务器回调URL。

  • 当用户按下开关的物理按键,开关状态由关变开(或反之),设备会主动向服务器发送一条包含 device_id 和最新状态 power1:1 的数据。

  • 优点:实时性比较高(毫秒级),无需轮询,节省服务器资源。

方式二:Server主动轮询(备选方案)如果无法配置公网回调地址,服务器可定时向设备查询状态。

  • 调用接口查询设备详情(需查询具体的API文档)。

  • 缺点:实时性较差,对服务器和网络负载有一定压力。

4.3 联动策略设计与执行

当服务器捕获到“设备A的第2路按键被按下”这一事件后,需执行联动逻辑。

逻辑示例:场景:按一下玄关开关的第3路,关闭客厅所有灯光并开启走廊灯。

  1. 事件接收:服务器收到 device: "Switch_3ch_LivingRoom"order: {"power3": 1}

  2. 逻辑判断

    • 查询数据库:设备 Switch_3ch_LivingRoompower3 按键绑定场景ID Scene_GoodNight

    • 场景内容:关闭 客厅射灯(device_A),关闭 客厅主灯(device_B),开启 走廊灯(device_C)。

  3. 指令下发:服务器依次调用API下发命令。

    • 下发:{"power1": 0}device_A

    • 下发:{"power2": 0}device_B

    • 下发:{"power1": 1}device_C

进阶功能——点动/互锁控制:在车库门或窗帘控制中,需要“点动”功能。

  • 技术实现:服务器收到按键触发信号后,不直接切换状态,而是发送 {"point1":"500"} 指令给被控设备(通断器),使其接通0.5秒后自动断开,模拟“点按”动作

4.4 局域网私有化部署(高稳定性方案)

对于商业项目,启用局域网对接模式,以确保联动指令在无互联网时依然生效。

  • 前提:服务器与开关设备必须在同一网段。

  • 操作:芯步设备通常支持局域网发现协议,API接口地址可替换为设备的本地IP地址(具体需查阅设备固件支持情况)。通过局域网直接发送HTTP指令,延迟可降至10ms以内

5. 代码实现逻辑示例

以下伪代码展示了服务器处理按键联动的基本逻辑(以Node.js为例):

6. 常见问题与优化

6.1 物理按键被快速连按导致逻辑错乱

  • 现象:用户快速按压开关,服务器接收到密集的HTTP请求,导致设备反复通断。

  • 解决方案:在服务器端加入“防抖”逻辑,即接收到同一设备的同一按键事件后,设置500ms的冷却时间,此时间内的重复请求直接丢弃。

6.2 状态保持(Keep)功能的应用

在联动场景中,有时不希望用户手动干扰。

  • 案例:会议室投影模式。运维人员通过软件锁定了灯光为“开”。但参会者手痒关了灯。

  • 技术手段:服务器下发 {"power1": {"keep":1, "revert":5}}。即使用户物理关掉,5秒后开关会自动恢复开启状态。这在酒店客房欢迎模式中非常实用。

6.3 设备不在线问题

  • 排查:确认开关是否连接WiFi(指示灯状态)。

  • 机制:联动指令发出后,服务器应记录指令执行状态,若设备离线,可设置为“暂存”或“重试3次”,待设备上线后执行。

7. 总结

通过对接芯步3路智能墙壁开关的开放HTTP接口,开发者可以轻松绕过复杂的硬件射频协议,利用标准的HTTP协议实现物理世界与数字逻辑的联动。本方案的核心在于将物理按键的“状态变化”抽象为软件可识别的“事件流”,再通过业务服务器转换为对其他设备的控制指令。

这种架构不仅保留了用户原有的按键习惯,还极大扩展了智能设备的控制维度(如点动、互锁、场景联动),是实现全屋智能和商业空间智能化改造的高效路径。