芯步的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 前期准备:环境搭建
在开始编码前,需要在芯步开放平台完成以下配置:
注册/登录:访问芯步开放平台,进入控制台。
创建工作台(应用):创建一个新的应用,获取系统生成的
App ID和App Secret。配置安全策略
设置 IP白名单:将你的服务器公网IP加入白名单。
设置 消息接收地址:配置你的服务器公网回调URL(例如:
http(s)://yourdomain.com/api/device/callback),用于接收设备状态变更推送 。
添加设备:将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请求是单向的,无法长时间保持连接监听设备状态,因此必须使用云端消息推送功能。
配置流程:
在平台设置好
消息接收地址(URL)。触发场景A(本地触摸): 用户触摸物理按键 -> 设备状态改变 -> 设备上报给芯步云端 -> 芯步云端
POST一个JSON数据包到你配置的URL。触发场景B(远程控制): 你的系统调用API -> 云端下发指令 -> 设备执行 -> 设备回传执行结果 -> 云端再次
POST消息到你的URL。
你需要处理的推送数据格式:当设备状态变化时,你的服务器会收到类似如下结构的HTTP POST请求:
你的任务: 接收到该请求后,更新你本地数据库中的设备状态,并利用WebSocket推送到你前端正在查看的用户界面上,实现UI实时刷新。
3.4 “双控”业务逻辑处理
在实际应用中,例如“回家模式”或“离家模式”:
远程总控:用户在地铁上点击APP“离家模式”,你的后台发送
{"power1":0, "power2":0, "power3":0}给设备。本地打断:家人回家后,习惯性地用手指触摸开关的第1路开灯,灯光亮起。
同步处理:此时开关上报
{"power1":1}到云端,你的后台收到推送后更新数据库。用户的APP刷新后,显示“客厅灯已开启”,实现了无论在哪操作,界面始终准确。
4. 高级应用场景与
场景联动结合芯步的人体传感器或门磁传感器:
需求:卫生间人走灯灭。
实现:传感器检测到无人持续5分钟 -> 触发你的业务系统 -> 调用API向3路开关下发
{"power1":0}(关闭排气扇或灯光)。
状态保持(防抖动)在一些特殊场所(如学校、医院),不希望用户随意关闭必需设备(如通风设备)。
命令示例
{"power2":{"keep":"1","revert":"0"}}效果:学生本地触摸关闭风扇,手一松,风扇自动重新打开(无法关闭),必须由管理员远程关闭 。
MQTT接入(可选)如果对实时性要求比较高(如工业控制场景),芯步也支持MQTT协议接入。相比HTTP请求,MQTT长连接在批量控制设备时延迟更低,体验更流畅 。
5. 总结
通过对接芯步的开放接口,86型3路WiFi开关可以轻松被赋予强大的远程管理能力。开发者只需处理好以下三点,即可构建完美的“本地+远程”双控系统:
硬件安装:确认家中零火线,替换标准86盒。
API调用:使用
device/control接口下发power1/power2/power3指令。接收推送:搭建公网回调接口,实时处理设备上报的状态变更,保证数据一致性。