芯步的2路智能触摸开关开放标准HTTP接口,支持单路控制、状态保持、先通后断等多种命令模式。以下方案以“人来灯亮+人走延时关”为例,展示如何通过传感器触发、云端逻辑判断、设备指令下发三个环节实现联动控制。
1. 项目概述
在智能家居和智慧办公场景中,常常需要实现设备间的联动控制。本文以 芯步 2路智能触摸墙壁开关 为核心执行设备,结合其开放的 HTTP API 接口,旨在解决如何通过第三方服务器或云平台对接该开关,实现复杂的场景逻辑控制(如:传感器触发开关动作、定时策略、互锁逻辑等)。
适用场景:
走廊灯联动:人体传感器感应到人,自动打开开关一路(走廊灯),人走后延时关闭。
全屋场景模式:一键触发开门狗,联动打开开关的第1路(客厅灯)和第2路(射灯)。
安防联动:烟雾报警器触发时,强行将开关所有路关闭并断开电源。
2. 核心技术依托
对接的核心依赖于芯步提供的 免费HTTP API接口。该接口无需网关,设备直连 WiFi 2.4G,只要设备在线,即可通过标准的 HTTP POST 请求进行控制。
接口特点:
双向通信:不仅支持下发命令,还支持设备状态实时上报,这是实现“逻辑控制”的基础。
高实时性:命令下发到设备响应约为 80-120ms。
私有化支持:支持局域网和私有化部署,保障数据安全。
3. 准备工作与鉴权机制
在开发前,需要完成以下准备,所有后续接口调用都依赖于此鉴权。
3.1 硬件与环境准备
硬件:芯步 2路智能触摸墙壁开关、传感器(模拟输入源)、WiFi 路由器(2.4GHz)。
软件账号:注册芯步官网账号,登录控制台。
设备配网:使用“物联网控制台”或“芯步小程序”为开关配置 WiFi。
3.2 开放接口鉴权说明
所有 API 请求均需要在 URL 中携带签名参数,防止接口被恶意篡改。核心逻辑如下
公式
Sign = md5( md5(AppSecret) + ts )参数说明
AppID:应用唯一标识。AppSecret:应用密钥(需保密,服务端存储)。ts:当前 Unix 时间戳(秒)。
请求地址
http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
4. 2路触摸开关接口指令详解
针对“2路”设备,JSON 命令中的 order 字段决定了具体的动作。不同于1路设备使用 power1,2路设备的路数控制字段定义如下。
| 功能描述 | 命令JSON格式 (order) | 业务含义 |
|---|---|---|
| 控制第1路开 | {"power1":1} | 闭合第1路继电器,接入的Light 1亮 |
| 控制第1路关 | {"power1":0} | 断开第1路继电器 |
| 控制第2路开 | {"power2":1} | 闭合第2路继电器 |
| 控制第2路关 | {"power2":0} | 断开第2路继电器 |
| 第1路状态保持 | {"power1":{"keep":"1","revert":"3"}} | 用户物理触摸关掉后,3秒自动恢复开 |
| 第2路先通后断 | {"point2":"3000"} | 第2路立即开启,持续3秒后自动关闭(点动模式) |
注:point 命令常用于门磁/电插锁场景,keep 命令常用于公共卫生间照明保持。
5. 联动场景逻辑实现方案
为了实现智能联动,我们不能仅靠“设备控制设备”,必须构建一个 事件中心(您的服务器)。拓扑结构如下:传感器触发 -> 上报数据至服务器 -> 服务器执行逻辑判断(if this then that) -> 调用开关API执行动作
5.1 第一种场景:走廊灯联动控制
需求:当人体传感器探测到有人移动时,自动打开2路开关的第1路(走廊灯);人离开1分钟后,自动关闭。解决方案
接收事件:服务器接收“人体传感器”上报的有人/无人状态。
逻辑处理
若收到“有人”状态:调用开关控制接口。
代码示意(伪代码/Python思维)
延时关闭逻辑:若收到“无人”状态,设定60秒延时。为避免误判,需配合传感器的心跳检测机制,确认无人状态持续60秒后下发关闭指令。
5.2 第二种场景:点动模式(先通后断)
需求:按下App中的“按铃”按钮,开关第2路立即接通,驱动外部门铃响一声(1秒),随后自动断电。解决方案直接利用设备固件内置的 point 命令,无需服务器侧写循环代码。
请求Payload
效果:第2路接通1秒后自动断开,既完成了逻辑,又避免了因网络延迟导致指令无法下达的“长通”风险。
5.3 第三种场景:互锁逻辑
需求:控制窗帘或卷帘门(电机正反转)。第1路控制“正转”,第2路控制“反转”。要求两路绝对不能同时打开(否则烧毁电机)。解决方案必须在服务器逻辑层进行强校验。
禁止同时触发:在代码中检查,如果接收到的命令是开启
power1,必须先执行一次power2的关闭指令(或通过状态机检查)。指令下发顺序
场景:用户点击“开”。
动作1:服务器下发
{"power2":0}(确保反转回路断开)。动作2:间隔200ms,下发
{"power1":1}(接通正转)。注:虽然硬件继电器有物理间隙,但在逻辑控制中软件互锁是最佳实践。
6. 对接开发步骤指南
第一步:设置消息推送(接收设备状态)
要实现“联动”,您的服务器需要知道触发源的状态。请在芯步控制台设置 API 推送(Webhook) URL。
当开关状态被物理触摸改变时,芯步服务器会主动推送
{"power1":0/1}到您的服务器。您的服务器根据此推送触发后续逻辑。
第二步:调用接口核心代码逻辑
发起 HTTP 请求控制 2 路开关的模板(基于 Bash/Curl 示例,展示签名过程)
第三步:故障排查与优化
设备离线:确认设备指示灯常亮。若不亮,需重新配网。确保 WiFi 是 2.4G 频段。
签名错误:核对
md5的编码格式(UTF-8)以及时间戳ts的单位(秒),服务器时间误差不宜过大。局域网直连(低延迟):若服务器与设备在同一个内网,解析
api.thingboot.com得到内网 IP 并直接调用,响应速度可达极致。
7. 总结
通过芯步提供的标准化 HTTP 接口,开发者可以在 1-2 小时内完成 2 路智能触摸开关的基础对接。实现联动场景的关键在于 事件中心化
利用
power1/power2指令实现独立双路控制。利用
point指令实现脉冲/点动场景。利用业务层逻辑(互锁、延时)实现复杂自动化。
该方案无需网关,成本低,且支持私有化部署,可稳定应用于智能家居、智慧教室及工业控制领域。