CATALOG

芯步的复合开关(型号UNI-KG-KKC)将照明控制与门禁驱动集成在单一86面板中,通过HTTP接口可同时管理两路照明和一路门禁。以下方案涵盖硬件选型、API对接、触摸事件回调到业务逻辑实现的完整链路。

一、 解决概述

在许多办公空间或智能化宿舍的改造中,往往需要实现“一键离开”或“门禁联动照明”的场景。利用芯步的 智能墙壁复合开关,可以通过二次开发,将物理触摸按键的逻辑重写或增强。

本方案的目标是:通过调用芯步开放平台 HTTP API,监听并控制该复合开关,实现“触摸/点击门禁按键时,先自动关闭照明,再触发门禁电磁锁”的联动逻辑。

二、 硬件选型与解析

本方案推荐使用 芯步 智能墙壁复合开关 [左2灯右门] (型号:UNI-KG-KKC)。该设备的端口逻辑划分如下

  • 左侧按键 (线路1/2):控制照明或常规电器(常见的3路中的2路)。

  • 右侧按键 (线路3/门禁):专门设计用于控制门禁(如电插锁、电磁锁)。

  • 核心优势:设备支持 WiFi 2.4G 直连,无需额外网关;开放 HTTP API 接口,支持远程控制和状态获取。

注意:如果是通用3路开关,需确认第三路是否支持门禁所需的“点动”(即通电几秒后自动断电)功能,否则外接电磁锁可能会烧毁线圈,优先使用门禁专用版。

三、 二次开发环境准备

在进行代码开发前,需要完成以下基础配置:

  1. 注册开发者账号:登录芯步官网,进入控制台获取 AppIDAppSecret

  2. 设备配网:将复合开关接通电源,按照产品手册将其配置连接到互联网(WiFi)。

  3. 获取设备ID:在控制台获取该开关的唯一标识 Device ID

  4. 接口鉴权规则芯步的API签名规则较为独特,具体如下

    • 步骤1:计算 md5_secret = md5(AppSecret)

    • 步骤2:拼接字符串 tmp = md5_secret + tsts为Unix时间戳秒)

    • 步骤3:计算最终签名 sign = md5(tmp)

    *注:即最终的Sign = md5( md5(密钥) + 时间戳)*

四、 接口调用与业务逻辑实现

为了实现“触摸门禁按键时联动关灯”,我们不能仅仅依靠简单的云端规则引擎,因为涉及到“触发源”的判断。架构如下:

  • 物理层:用户按下开关。

  • 感知层:设备上报事件到平台(Webhook/回调)。

  • 控制层:您的服务器接收事件,执行逻辑判断,下发控制指令。

1. 接收物理按键事件

芯步支持通过 消息订阅自建消息服务器 接收设备上行消息。当用户触摸开关的物理按键时,设备会向您的服务器推送事件。

上行数据示例(推测/参考结构):

2. 联动控制代码实现

业务逻辑:当接收到的 channel 为 3(门禁键)时,程序自动向设备下发“关闭线路1”、“关闭线路2”、“启动门禁(点动)”的命令。

以下是利用Python实现的业务逻辑代码,包含完整的签名生成与命令下发:

五、 高级功能与拓展应用

除了基本的一键关灯开门,基于该API您可以实现以下更复杂的功能:

  1. 防尾随与延时关门如果用户觉得开灯状态下出门不需要关灯,可以使用 reset 命令。

  2. 状态保持与互锁针对3路复合开关,可以利用 power1 的状态保持功能(配合 keep 参数)。例如,设置门禁开启时,如果灯是亮的,保持灯亮(或者使用 batch 指令进行更复杂的组合控制)。

  3. 集成到APP或小程序由于接口是标准的HTTP协议,您可以非常方便的将这段Python代码逻辑移植到微信小程序、Flutter或Vue项目中。用户不仅可以通过物理按键联动,还可以通过手机App界面上的“离家模式”按钮,一键调用同样的API接口关闭所有灯光并锁门

六、 注意事项

  1. 门禁负载匹配:请确认购买的开关型号是否支持门禁功能。普通3路开关通常用于照明(阻性负载),直接接电锁(感性负载)可能导致触点粘连。请一定要确认开关支持 点动 功能或明确标注支持门禁。

  2. 网络延时:由于代码逻辑基于“云端回调”,如果互联网断开,物理按键与关灯之间会有短暂延时(约0.5-2秒)。如果需要毫秒级响应,可咨询芯步是否支持 局域网API(LAN模式),在局域网内直连设备IP进行控制。

  3. 签名时效:API签名中的 ts 参数通常与服务器时间误差不能太大(一般为5分钟内),否则请求会被拒绝。请确保服务器时间已同步(NTP)