CATALOG

基于芯步智能墙壁开关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 执行反馈:下发自定义控制指令

服务器端判定逻辑后,调用芯步的 向设备下发指令 接口。

请求示例(控制远端设备)

  • URLhttps://api.thingboot.com/APP123/device/control/?sign=xxxx&ts=1640000000

  • Body (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回调接收自定义逻辑映射 模块,即可利用该面板实现复杂的全屋智能联动。