CATALOG

一、背景与概述

随着智能家居的普及,用户不再满足于单一设备的远程控制,而是希望通过“场景联动”实现多设备协同工作——例如“回家模式”:开门瞬间玄关灯亮起、客厅灯光调至舒适亮度。芯步开放平台提供完整的HTTP/MQTT接口体系,赋能开发者将智能照明、智能门锁等硬件接入自有系统,实现高度灵活的自定义场景控制。

本方案的目标是回答:如何基于芯步的开放接口,将智能硬件接入照明门禁联动系统,并实现可自定义的场景化控制。 核心思路是通过云端API下发指令,结合事件触发机制,构建“条件判断→设备控制”的自动化引擎

二、核心开放接口能力

芯步开放平台的核心控制接口为 “向设备下发指令” ,这是实现所有联动操作的基础。

2.1 接口调用方式

协议方式地址/主题格式适用场景
HTTP请求http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}单次控制、低频操作、调试测试
MQTT发布发布主题:api/{AppID}/device/control高频控制、实时性要求高、服务端集成

2.2 关键请求参数

调用接口时需携带以下核心参数以精确控制设备

  • device(必填):目标设备的唯一ID,可从控制台或设备外壳获取。支持同时控制多台设备,用 ,| 分隔,单次最多100台。

  • gateway(选填):若设备需通过网关转发指令(如Zigbee子设备),需指定网关ID。

  • order(必填):控制命令的核心载体。支持简单格式(如power=1)或JSON格式(推荐),可携带业务标识extra字段用于异步回调追踪。

2.3 典型控制示例

场景:用户开门后,联动客厅灯带调至暖光模式(亮度80%),同时关闭安防门磁的警戒状态。

注意:接口返回200仅代表平台成功接收指令,设备实际执行结果需通过异步消息推送确认,以应对设备离线或参数错误的情况

三、照明门禁联动系统设计

为实现稳定的自定义场景控制,采用 “事件回调→规则匹配→设备控制” 的三层架构。

3.1 系统拓扑结构

  • 感知层(门锁/传感器):智能门锁(检测开门/关门/特定指纹)、人体传感器(检测移动)、光照传感器(检测环境亮度)。

  • 执行层(照明设备):智能开关、调光驱动、RGB灯带、色温灯。

  • 逻辑层(云平台/本地网关):芯步开放平台接收事件并转发指令;用户的业务服务器负责复杂逻辑判断(如时间段、用户身份)。

3.2 联动执行流程

  1. 触发:用户通过指纹开锁。

  2. 上报:门锁设备通过芯步平台向用户服务器推送开门事件(含用户ID、时间)。

  3. 决策:服务器判断当前时间(如18:00-22:00)及用户身份(如“家庭管理员”),匹配“回家模式”。

  4. 下发:服务器调用芯步/device/control接口,向客厅灯、玄关灯下发开灯及调光指令。

  5. 反馈:灯带执行完毕后通过异步消息回传状态,完成闭环。

四、自定义场景设置功能实现

自定义场景的本质是将“触发条件”与“执行动作”的映射关系可视化、可配置化。

4.1 场景配置数据结构设计

要在业务层实现自定义场景,需要设计一张通用的场景规则表(逻辑示例):

字段名称示例值说明
场景名称“深夜观影模式”用户自定义
触发设备1003445678 (智能门锁)绑定门锁ID
触发条件lock_sensor = "unlock" AND lock_user_id = "123"指定用户开门
有效时间每天 20:00 - 23:59时间窗约束
执行设备组2003987654(灯带), 2003987655(投影幕布)照明+影音设备
执行动作light_2.power=1, light_2.brightness=30, light_2.color=red灯光调暗变红
启用状态true是否激活

4.2 自定义场景的交互逻辑

用户在APP或管理后台配置自定义场景时,系统需完成以下步骤:

  1. 拉取设备列表:通过芯步的设备信息接口,获取当前账号下所有可控的照明设备和门锁设备

  2. 定义触发器:用户选择门锁的“开门/关门”事件,或门磁的“开启/闭合”事件作为触发源。

  3. 设置条件过滤器

    • 时间滤镜:仅在特定时段生效(如夜间模式仅在天黑后触发)。

    • 身份滤镜:不同家庭成员开门联动不同灯光(如孩子开门只开夜灯)。

  4. 编排执行动作:用户设置照明设备的期望状态(开关、亮度、色温、颜色)。芯步支持多参数组合下发,满足复杂照明需求

  5. 保存与生效:系统将上述逻辑存入数据库,并启动对门锁事件的监听。

五、典型场景案例

案例1:回家模式(指纹区分)

  • 需求:男主人回家打开客厅主灯(冷白光);女主人回家打开走廊灯带(暖黄光)。

  • 实现

    1. 业务服务器接收门锁事件,解析user_id

    2. 查询数据库匹配该用户的“回家场景”配置。

    3. 调用芯步接口,根据用户ID向不同照明设备下发包含brightnesscolor_temp参数的JSON指令。

    4. 接口调用示例:

案例2:离家警戒联动

  • 需求:所有人员出门并反锁门后,5秒内自动关闭所有照明灯光。

  • 实现

    1. 门锁检测到“反锁”动作,上报服务器。

    2. 服务器启动5秒延时(等待用户完全离开)。

    3. 服务器批量调用接口device=light1,light2,light3,下发{"power":0}指令。

    4. 利用芯步支持的多设备同指令特性,实现一键全关

六、开发实施关键要点

6.1 设备状态同步机制

由于HTTP指令下发是异步的,使用MQTT订阅方式接收设备状态回执,或通过芯步的消息推送功能实时获取设备执行结果,确保UI界面上的开关状态与实际灯光同步。

6.2 异常处理策略

  • 设备离线:服务器接收到门锁触发但下发灯光指令失败时,可记录日志并尝试重试3次(间隔2秒)。

  • 网络抖动:在order中携带唯一的extra字段(如订单号),在异步推送中匹配该字段做调用机制处理,防止重复执行

6.3 安全性

  • 签名机制:所有API请求需严格按照芯步规则生成sign,防止接口被恶意伪造。

  • 设备权限:在业务层验证设备归属,确保用户A无法通过抓包重放控制用户B的灯光。

七、总结

通过芯步开放平台的标准化接口,开发者能够高效打通智能照明与门禁系统。核心路径可概括为:

门禁事件回调 → 场景规则匹配 → 构造order指令 → 芯步API下发设备控制

该方案不仅支持基础的“开门亮灯”,更能通过自定义配置实现“指定人、指定时段、指定灯光氛围”的精细化智能家居体验。开发者可参考本架构,快速落地具备竞争力的场景联动产品