CATALOG

芯步的开放接口基于标准HTTP协议,照明开关直接提供power命令,门禁类设备则推送状态变化事件,两者天然具备联动基础。以下方案展示如何在不依赖云平台规则引擎的情况下,用自己的服务器把这两类设备串联起来。

解决方案:智能家居照明门禁联动系统对接方案

1. 项目概述与系统架构

本方案的目标是利用芯步开放平台的开放API,将独立的智能照明开关与门禁系统(门锁或门磁)进行逻辑联动。实现“有人开门即开灯”或“长时间未关门警报”等自动化场景。

系统核心组成:

  • 硬件层:芯步智能WiFi墙壁开关(用于控制照明)、智能门锁/门磁传感器(用于检测门状态)。

  • 网络层:标准WiFi 2.4G网络。芯步设备支持WiFi直连,无需额外网关

  • 云平台层:芯步开放API,用于设备状态上报和指令下发。

  • 应用层:您的私有服务器(用于处理联动逻辑,例如:Node-RED、Python后端或Java Spring Boot)。

架构逻辑图:门磁传感器 --(开门事件上报)--> 芯步云 --(HTTP推送)--> 您的业务服务器 --(逻辑判断:是否亮灯?)--> 下发指令给照明开关 --> 照明开关执行动作

2. 对接准备工作

在开始代码集成前,您需要在芯步控制台完成以下配置:

  1. 添加设备:将“智能墙壁开关”和“智能门锁/门磁”绑定到同一账户下。获取关键的设备ID (Device ID)

    • 注:芯步平台支持多通道开关控制,可独立控制1路或多路照明

  2. 获取凭证:在开放平台获取 AppIdAppSecret,用于生成接口签名 (Sign)。

  3. 配置消息推送:设置您的服务器公网回调URL (Webhook),并订阅门禁设备的上行消息(如门磁状态变化)。

    • 提醒:如果是局域网私有化部署,需将推送地址指向您的内网服务器地址

3. 核心接口对接详解

本方案主要涉及两个方向的接口调用。

3.1 接收门禁状态变化(监听事件)当门被打开时,门磁传感器会上报状态。您的服务器通过预先配置的Webhook接收数据。

  • 请求方式:POST (由芯步云发起)

  • 数据格式:JSON

  • 入参示例

开发处理:您的后端服务接收到此消息后,解析出status为“open”,即触发照明控制逻辑。

3.2 下发照明控制指令(执行动作)您的服务器在确认开门事件后,调用此接口打开灯光或关闭灯光。

  • 请求地址http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方式: POST

  • 请求Body

  • 关键鉴权参数

    • sign: 由 AppId + AppSecret + Timestamp 按规则生成的MD5签名,防止接口被篡改

    • ts: 当前Unix时间戳(秒),用于防止重放攻击。

4. 业务场景与代码逻辑伪代码

第一种场景:【回家模式】开门自动亮灯逻辑:检测到门锁“从关变为开” -> 检查当前时间(如:下午6点后)或室内光照传感器 -> 打开客厅照明开关的1号线路。

第二种场景:【离家提醒】关门延时关灯逻辑:检测到门锁“从开变为关” -> 等待30秒 -> 查询该房间是否还有人存在(可结合人体传感器) -> 若无人,关闭照明。

后端逻辑伪代码示例 (Python/Node.js 思路):

5. 关键注意事项

  1. 状态同步(调用机制)如果门一直开着,传感器可能会每几分钟上报一次“open”状态。你的后端需要有去重机制(例如用Redis记录上一次状态),避免在门已开的情况下频繁向照明开关发送“开灯”指令,导致网络拥塞或继电器频繁跳动。

  2. 网络延迟与重试智能家居联动对响应速度有要求。芯步接口响应通常在80-120ms左右。在调用照明开关接口时,设置合理的超时时间(如3秒),并建立失败重试队列(如MQTT),确保“开门亮灯”的成功率达到99.9%以上。

  3. 设备独立控制能力多路开关处理:如果使用的是2路或3路智能墙壁开关,芯步的接口支持独立控制每一路。order字段中可以指定具体的线路索引,例如控制“厨房灯”还是“客厅灯”

6. 方案扩展

基于本次的“1路照明”对接经验,你可以轻松扩展到全屋智能系统,利用芯步开放的消息推送机制,实现更多联动:

  • 安防联动:离家模式下,门磁触发异常开门 -> 联动开启全屋灯光闪烁(威慑)+ 推送报警信息。

  • 环境联动:门锁开启 -> 检测温湿度传感器数值 -> 如果温度过高,联动打开空调插座(智能插座)

通过以上方案,开发者无需关心底层通信协议,仅通过标准HTTP请求即可快速构建以门禁为核心的智能照明控制系统。