芯步3路智能墙壁开关支持完整的HTTP API接口,可基于人体传感器、门磁等设备触发场景联动。以下方案涵盖签名认证、联动引擎设计及典型场景代码实现。
解决方案:基于芯步3路智能开关的二次开发实现场景联动照明控制
1. 概述
本方案的目标是指导开发者利用芯步3路智能墙壁开关的开放HTTP API接口,通过二次开发,实现照明设备与其他传感器(如人体红外传感器、门磁传感器、光照传感器)之间的场景联动。
核心目标是打破单一设备独立控制的局限,构建“条件触发即执行”的自动化体系(如:人来灯亮、人走延时关灯、开门亮灯等)。
2. 核心开放接口能力解析
芯步3路智能墙壁开关支持通过HTTP协议进行控制,这是实现联动的技术基础。其核心命令字如下
即时控制
power1/power2/power3(参数:1为开,0为关)。脉冲控制(点动)
point1/point2/point3:先通后断(如:触发后立即开启,延时后关闭)。reset1/reset2/reset3:先断后通(如:触发后立即关闭,延时后开启)。
状态保持(场景复位):在控制指令中嵌套
keep和revert参数,可实现用户临时干预后的自动状态还原。
3. 系统设计
为了实现“场景联动”,二次开发需要构建一个中心化的事件处理引擎(可以是一个云端微服务,也可以是本地的网关脚本)。
架构流程:
触发层:各类传感器(如红外人体传感器、智能门锁、光照传感器)检测到环境变化,向服务器上报事件。
联动引擎(核心开发层):开发者部署的业务逻辑服务接收事件,根据预设的联动规则(如“当红外检测到人且光照度<10lux时”)进行条件判断。
执行层:条件满足后,引擎调用芯步开放平台的
/device/control/接口,向指定的3路墙壁开关下发指令。
4. 场景联动实战开发:以“人来灯亮,人走灯灭”为例
以下通过三个典型的场景联动方案,展示具体的二次开发逻辑与代码实现。
4.1 第一种场景:走廊/楼梯的感应联动控制
需求:当人体传感器检测到有人经过时,打开楼梯灯(接在3路开关的第1路);人员离开设定的延时后(如30秒),自动关闭灯光,节约能源。
开发逻辑
触发源:人体红外传感器(需接入网络,通过MQTT或HTTP推送数据至你的服务器)。
处理逻辑
传感器上报“有人”事件。
调用开关接口:
{"power1": 1}(开灯)。等待30秒。
调用开关接口:
{"power1": 0}(关灯)。
二次开发代码片段(Python / Flask 示例)
4.2 第二种场景:回家/离家场景联动
需求
回家模式:打开大门(门磁触发),联动打开客厅主灯(3路开关的第1路)和走廊灯(第2路)。
离家模式:按下门口的智能开关面板(或APP一键执行),关闭所有灯光,但开启“安防闪烁模式”(第3路接报警灯,每隔1秒闪烁一次)。
开发逻辑
回家逻辑:门磁状态
Open-> 调用 Batch 控制。芯步支持批量指令,一次请求控制多路。离家逻辑:接收到离家指令 -> 关灯 -> 执行闪烁。
关键指令(批量控制)为了降低延迟,可以利用HTTP接口支持在一次请求中控制多个设备或多个端口
4.3 第三种场景:影院/阅读模式(状态保持与恢复)
需求:用户想通过语音或APP开启“阅读模式”——关闭主灯(线路1),开启辅助射灯(线路2)。但是,如果家人手动按墙壁开关把主灯打开了,5秒钟后自动关闭,强行维持“阅读模式”。
开发逻辑利用芯步开关硬件的状态保持功能。只要下发一次指令,即使本地手动操作,硬件也会在指定时间内自动复位。
关键指令(状态保持)
注:这极大地简化了服务端逻辑,开发者不需要使用定时器去轮询状态,硬件自身保证了场景的纯粹性。
5. 接口封装与最佳实践
为了避免每次调用都重复编写签名算法,建立统一的设备控制服务类。签名规则如下
sign = md5( md5(AppSecret) + ts )ts为当前Unix时间戳(秒)。
安全性
AppSecret 绝不可放在前端:所有的接口调用必须在开发者自己的后端服务器完成。前端(小程序/APP)仅能调用开发者自己的业务接口,再由后端触发设备控制,防止密钥泄露。
私有化部署(局域网):对于对延迟要求比较高的联动(如工业控制),芯步设备支持局域网HTTP API调用。如果网关和传感器在同一局域网,可以直接发送指令,无需经过云端,可将延迟降低至10ms以内,适合无感照明体验。
设备ID管理:在数据库中建立
房间->设备ID->线路号的映射表。二次开发时,逻辑层面只处理“客厅大灯”,代码底层需自动映射为DeviceID: 123456, Power: 1。
6. 总结
通过上述二次开发方案,利用芯步3路智能墙壁开关的开放接口,开发者可以轻松实现:
跨品牌联动:只要是能发送HTTP请求的传感器或逻辑,均可控制该开关。
复杂逻辑的本地化:利用硬件自带的
point和keep指令,有效降低了服务器并发压力。场景化照明:从手动控制升级为“全自动、免干预”的智能照明体验。
开发者只需关注业务场景的逻辑构建,通信与执行层可完全依托芯步稳定的API接口完成。