CATALOG

“智能墙壁复合开关|2路”的核心价值在于将“灯光控制”与“门禁管理”整合到一个86型面板中,通过开放HTTP接口,你可以用一套系统同时管理这两类设备。以下是详细的对接方案:

解决方案:基于芯步开放接口的定时灯光门禁控制系统

1. 概述与场景定义

本方案的目标是利用芯步的 “智能墙壁复合开关|2路” (UNI-KG-KC)“智能墙壁开关2路” (UNI-KG-2),通过其开放的HTTP API接口,实现以下智能化场景:

  • 灯光控制: 设定定时任务,如“每天早上8:00 打开走廊灯,18:00 关闭”。

  • 门禁控制: 设定允许通行时间,如“工作日晚19:00-早7:00 自动给门锁供电(解锁)或 断电(闭锁)”或结合传感器实现逻辑判断。

  • 统一管理: 将设备集成进现有Web/App/小程序后台,不再使用第三方公版App。

该设备物理上支持2路独立输出,通常定义为:第1路接照明灯,第2路接门禁锁(或门磁吸)

2. 硬件与接口准备工作

在开始对接代码前,请确保完成以下物理与账号配置(依据[芯步官方文档]):

  1. 设备安装

    • 确认开关已接入 2.4GHz WiFi 网络(无需网关)

    • 接线逻辑:火线接入L端;第一路(L1)接灯光负载;第二路(L2)接门禁锁(注意门锁电压需在100-240V AC范围内,或通过中间继电器转接)。

  2. 平台账号配置

    • 登录芯步工作台,获取 AppIDAppSecret(开发密钥)

    • 在控制台获取设备唯一ID(Device ID),这是单条指令的目标地址

3. 核心技术原理与签名规则

芯步接口采用 HTTP POST + MD5签名 机制,只要你的服务器能发HTTP请求,就能控制设备。

  • 请求地址http(s)://api.thingboot.com/{AppID}/device/control/

  • 签名算法 (防篡改)

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

    • 步骤2:拼接 tmp = secret_md5 + ts (ts为Unix时间戳,秒)

    • 步骤3:计算 sign = md5(tmp)

  • 请求头/体Content-Type: application/json

4. 关键执行逻辑与代码示例

以下是你在后端服务器中需要编写的核心逻辑。我们把它拆分为“灯光控制”、“门禁控制”和“定时任务”三个部分。

4.1 基础签名函数 (Python示例)

无论执行什么命令,都需要先生成签名,代码如下:

4.2 灯光定时控制 (第一路)
  • 目标:控制灯光开关。

  • 对应参数power1power。文档显示 power1 特指线路1

  • 实现代码

4.3 门禁定时与动态控制 (第二路)

门禁控制通常需要更复杂的逻辑。以配合“电磁锁”为例:

  1. 常闭式电锁(断电开锁,通电上锁)

    • 上班时间开锁:保持该路通电(power2:1)。

    • 下班时间闭锁:保持该路断电(power2:0)。

    • 开门动作:如果当前是断电状态,用户需要开门,你需要发送 {"point2":"3000"} (先通电3秒开门,然后自动断电)。

  2. 定时开放策略

4.4 基于环境传感器的联动 (高级应用)

如果你希望“晚上有人经过自动亮灯”或“特定条件下开门”,可以将该开关与芯步的“人体存在传感器”结合

  • 逻辑:传感器检测到人 → 回调你的服务器 → 服务器执行 control_device({"power1": 1})

  • 应用:利用 reset1 (先断后通) 或 point1 (先通后断) 指令可以创建脉冲信号。

5. 关于“定时任务”的架构

由于物联网设备本身不存储复杂的定时表(可能会因断网导致任务丢失),将定时逻辑部署在你的云端服务器上

推荐架构

  1. 定时触发器:在服务器中使用 Cron (Linux) 或 Task Scheduler (Windows) 或 函数计算 (云函数)。

  2. 任务脚本:按脚本调用上述 control_device 方法。

  3. 日志记录:每次控制后,记录操作日志,便于排查“为什么灯没亮”(检查返回的code码,如200代表指令平台已接收)。

6. 常见调试与报错处理

根据接口文档和手册,在对接中请注意:

  1. 指令返回 200 但设备无反应

    • 原因200 仅代表平台接收指令,不代表设备执行。此时设备可能离线或WiFi信号弱。

    • 解决:检查设备在线状态,或订阅MQTT消息推送(异步反馈)。

  2. 签名错误 (sign error)

    • 检查点:确认ts秒级时间戳(10位),不是毫秒级(13位);确认MD5顺序是先对Secret做一次,拼接ts后再做一次

  3. 门锁烧毁或不动作

    • 检查点:第二路负载功率。如果是高功率电锁(如磁力锁),确保在额定电流10A内。小功率开关通过220V交流接触器转接控制大功率门禁电源。

  4. 复合开关的“左灯右门”属性

    • 界面设计上,如果是复合开关,通常左边大按键控制灯,右边小按键控制门。通过接口发送 power1 对应左灯,power2 对应右门