基于芯步智能墙壁开关3路(型号UNI-KG-3)的开放接口,本文将提供完整的按键面板接入方案。核心思路是将物理按键的按下事件转换为云端可识别的信号,再由云端执行对应的联动逻辑,从而实现“按下A键、执行B动作”的自定义控制。
1. 背景与目标
在智能家居或楼宇自动化场景中,用户往往不满足于物理按键仅控制本地负载(如按第一键只控制第一路继电器),而是希望按键能够触发复杂的场景,例如:
第一种场景:全宅联动。 按“出门键”关闭所有灯光、切断插座电源。
第二种场景:跨设备控制。 按客厅开关的第三键,关闭卧室的空调。
第三种场景:逻辑覆盖。 双击按键实现“锁定所有设备”或“离家布防”。
本方案的目标是解决如何利用芯步开放的API接口,将物理按键的触发事件转化为自定义逻辑指令,打破物理按键与本地继电器之间的“硬绑定”。
2. 硬件与接口解析
本方案以 “芯步智能墙壁开关3路(UNI-KG-3)” 为主要硬件载体。
2.1 硬件特性
物理结构:该面板拥有3个物理按键,每个按键对应控制一路继电器输出(控制灯光/插座)。
通信方式:WiFi直连(IEEE 802.11 b/g/n,2.4GHz),无需网关。
控制机制:支持“单火/零火”安装,负载能力达10A/路。
2.2 关键API接口(设备控制)
芯步开放平台通过标准的HTTP请求向设备下发指令,是实现云端逻辑控制的基础。
接口地址
http(s)://api.thingboot.com/{AppID}/device/control/请求方式:POST(Content-Type: application/json)
核心参数
device:设备ID(字符串,如820720)。order:JSON命令字串,包含指令内容。
针对3路开关,具体的 基础控制命令 如下
| 功能描述 | 指令JSON格式 | 说明 |
|---|---|---|
| 控制第一路开启 | {"power1": 1} | 1代表开,0代表关 |
| 控制第二路关闭 | {"power2": 0} | 1代表开,0代表关 |
| 控制第三路翻转 | {"power3": 2} | (若支持)2代表翻转 |
| 高级:点动/脉冲 | {"point1": 100} | 第一路接通100毫秒后自动断开(用于门禁) |
2.3 状态同步机制
为实现自定义逻辑,系统必须感知“哪个按键被按下了”。说明:当用户按下物理按键时,除了本地继电器动作(取决于是否解绑),开关也会向云端上报当前的状态变更。
订阅方案:开发者需通过芯步提供的消息推送服务,在服务器端接收设备的状态变更回调。
数据流:用户按键 -> 设备状态变化 -> 推送到开发者服务器 -> 开发者执行业务逻辑。
3. 自定义联动逻辑实现步骤
3.1 基础设置:解绑物理按键与本地继电器
要实现自定义逻辑,首先需要屏蔽物理按键对本地继电器的直接控制,否则按下一键会同时触发“本地灯亮”和“远程场景”,造成逻辑冲突。
实施方法:通过API向设备下发按键功能自定义模式指令。
目标指令:将物理按键1的模式设置为“只上报,不动作”。
(注:具体关于按键解绑的指令字段请参阅具体产品固件协议,若无此功能,可将本地继电器连接一个虚拟负载或直接短接,以实现逻辑上的解绑)
3.2 事件回调:建立回调服务
这是接入的核心环节。开发者需要一个公网可访问的Server端来接收芯步的推送。
配置消息接收地址:在芯步控制台设置您的服务器HTTP回调URL(如
http(s)://yourdomain.com/api/device_callback)。接收数据格式:当按下开关时,芯步平台会POST数据到您的服务器,格式如下
验证:服务器收到请求后,返回
{"code": 200}表示接收成功。
3.3 逻辑映射:编写联动规则引擎
在您的服务器端编写核心逻辑代码(示例伪代码):
3.4 执行反馈:下发自定义控制指令
服务器端判定逻辑后,调用芯步的 向设备下发指令 接口。
请求示例(控制远端设备) :
URL
https://api.thingboot.com/APP123/device/control/?sign=xxxx&ts=1640000000Body (JSON) :
签名计算:需使用
AppSecret进行MD5加密,即sign = md5(md5(AppSecret)+ts)。
4. 高级功能应用
4.1 定时与保持功能
利用API中的扩展参数,可以简化服务端代码。
临时任务:下发指令
{"power1":1, "reset1": 60000},表示“开灯,但60秒后自动关闭”。这种“点动/定时”功能由设备固件直接支持,无需服务器维护定时器列表。状态保持:下发
{"power1": 0, "keep1": 1},表示“关灯,且在该状态下锁定按键,防止用户手动误开”。
4.2 跨设备场景联动(组合传感器)
将3路开关与其他传感器结合。
场景:使用 3路开关 控制 智能排风扇。
逻辑:服务器接收 人体传感器 上报的“无人”状态 -> 服务器主动向开关设备下发
{"power1":0}-> 执行关闭。
5. 故障排查和需要注意的点
5.1 网络延迟
现象:按下按键后,目标设备响应慢。
优化:芯步支持局域网(LAN)通信。如果服务器部署在本地,可直接通过内网IP发送指令,延迟可降至20ms以内,避免外网波动。
5.2 设备离线
现象:API返回
200但设备无反应。原因
200仅代表指令被云平台接收,若设备WiFi断开,实际无法执行。需要借助消息推送功能,监听设备的上下线事件(online_status)。
5.3 签名错误
解决方案:所有接口调用必须携带动态
sign。请一定要检查时间戳ts单位为秒,且服务器时间与标准时间误差不宜过大。
6. 总结
通过“状态上报 + 服务端解析 + 指令下发”的闭环,芯步的3路开关面板可以轻松实现从“本地执行器”向“智能场景触发器”的转变。开发者需重点攻克 HTTP回调接收 与 自定义逻辑映射 模块,即可利用该面板实现复杂的全屋智能联动。