CATALOG

芯步的86型3路WiFi开关同时支持本地触摸和远程API控制,两者互不干扰。以下方案围绕“本地优先、云端同步”的架构,详细说明接口对接、状态同步及典型场景配置。

解决方案:基于芯步开放平台对接86型3路WiFi开关实现本地触摸与远程双控制

1. 概述

本方案的目标是通过芯步开放平台提供的HTTP API接口,将86型3路WiFi智能开关集成到第三方或自有的智能控制系统(如Web应用、APP、小程序或SaaS平台)中。核心目标是实现“本地触摸物理按键”与“远程APP/云端控制”的双向同步,确保用户无论在墙边操作,还是在外用手机,都能实时控制灯光或电器,并保持状态一致。

核心设备:

  • 硬件: 芯步 86型3路WiFi智能开关(支持零火线,标准86底盒安装)。

  • 通讯协议: HTTP/HTTPS(控制指令) + TCP(状态推送)。

  • 控制逻辑: 三路独立控制(通常对应3路照明或电器),继电器输出。

2. “双控制”核心技术原理

要实现互不干扰的双重控制,依赖于设备的逻辑设计与云端的同步机制:

  • 本地触摸控制: 手指触摸开关玻璃面板时,开关内置的MCU直接驱动继电器吸合/断开,瞬间改变负载通断。此过程不依赖网络,即便Wi-Fi断开,物理触摸依然有效。

  • 远程网络控制: 外部系统通过调用芯步云端API,云端将指令(JSON格式)下发给设备,设备解析后执行继电器动作。

  • 状态同步机制(关键):

    • 上行同步: 当用户本地触摸开关后,开关会立即向云端上报最新状态(power1=1)。

    • 下行同步: 云端下发指令成功后,开发者需通过消息推送机制接收状态回执,确保界面显示与物理开关一致,消除“不同步”现象。

3. 对接开发详细步骤

3.1 前期准备:环境搭建

在开始编码前,需要在芯步开放平台完成以下配置:

  1. 注册/登录:访问芯步开放平台,进入控制台。

  2. 创建工作台(应用):创建一个新的应用,获取系统生成的 App IDApp Secret

  3. 配置安全策略

    • 设置 IP白名单:将你的服务器公网IP加入白名单。

    • 设置 消息接收地址:配置你的服务器公网回调URL(例如:http(s)://yourdomain.com/api/device/callback),用于接收设备状态变更推送

  4. 添加设备:将86型3路WiFi开关通过“智汀云联-智能家居”或类似配网应用配网绑定到你的账号下,记录下设备的 Device ID

3.2 核心功能开发:远程控制

通过调用 /device/control/ 接口实现远程控制。

  • 请求地址http(s)://api.thingboot.com/{AppID}/device/control/

  • 请求方式POST

  • 鉴权参数sign (签名) 和 ts (时间戳)

针对3路开关,下发的 order 字段(JSON格式)定义如下:

功能描述命令示例 (order)说明
控制第1路开启{"power1": 1}1代表开,0代表关
控制第2路关闭{"power2": 0}独立控制第二路
控制第3路开启{"power3": 1}独立控制第三路
批量控制{"power1":1, "power2":0, "power3":1}同时设置三路状态
临时锁定/点动模式{"power1":{"keep":"1","revert":"5"}}场景示例:用户触摸关灯后,5秒自动开灯(常用于楼道或安防威慑)

API调用示例代码(伪代码/PHP思路):

3.3 状态实时同步:消息推送机制

这是实现“双控”体验的核心环节。 由于HTTP请求是单向的,无法长时间保持连接监听设备状态,因此必须使用云端消息推送功能。

配置流程:

  1. 在平台设置好消息接收地址(URL)。

  2. 触发场景A(本地触摸): 用户触摸物理按键 -> 设备状态改变 -> 设备上报给芯步云端 -> 芯步云端POST一个JSON数据包到你配置的URL。

  3. 触发场景B(远程控制): 你的系统调用API -> 云端下发指令 -> 设备执行 -> 设备回传执行结果 -> 云端再次POST消息到你的URL。

你需要处理的推送数据格式:当设备状态变化时,你的服务器会收到类似如下结构的HTTP POST请求:

你的任务: 接收到该请求后,更新你本地数据库中的设备状态,并利用WebSocket推送到你前端正在查看的用户界面上,实现UI实时刷新。

3.4 “双控”业务逻辑处理

在实际应用中,例如“回家模式”或“离家模式”:

  1. 远程总控:用户在地铁上点击APP“离家模式”,你的后台发送 {"power1":0, "power2":0, "power3":0} 给设备。

  2. 本地打断:家人回家后,习惯性地用手指触摸开关的第1路开灯,灯光亮起。

  3. 同步处理:此时开关上报 {"power1":1} 到云端,你的后台收到推送后更新数据库。用户的APP刷新后,显示“客厅灯已开启”,实现了无论在哪操作,界面始终准确。

4. 高级应用场景与

  1. 场景联动结合芯步的人体传感器或门磁传感器:

    • 需求:卫生间人走灯灭。

    • 实现:传感器检测到无人持续5分钟 -> 触发你的业务系统 -> 调用API向3路开关下发 {"power1":0}(关闭排气扇或灯光)。

  2. 状态保持(防抖动)在一些特殊场所(如学校、医院),不希望用户随意关闭必需设备(如通风设备)。

    • 命令示例{"power2":{"keep":"1","revert":"0"}}

    • 效果:学生本地触摸关闭风扇,手一松,风扇自动重新打开(无法关闭),必须由管理员远程关闭

  3. MQTT接入(可选)如果对实时性要求比较高(如工业控制场景),芯步也支持MQTT协议接入。相比HTTP请求,MQTT长连接在批量控制设备时延迟更低,体验更流畅

5. 总结

通过对接芯步的开放接口,86型3路WiFi开关可以轻松被赋予强大的远程管理能力。开发者只需处理好以下三点,即可构建完美的“本地+远程”双控系统:

  1. 硬件安装:确认家中零火线,替换标准86盒。

  2. API调用:使用 device/control 接口下发 power1/power2/power3 指令。

  3. 接收推送:搭建公网回调接口,实时处理设备上报的状态变更,保证数据一致性。