CATALOG

共享自习室的照明和门禁控制是典型的“无人值守”场景,核心挑战在于如何将物理设备(开关、门锁)的状态与线上订单系统打通。以下方案基于芯步开放接口,给出从设备选型、API对接、到业务逻辑串联的完整路径。

解决方案:基于芯步开放接口的共享自习室照明门禁集成方案

一、 项目概述与核心逻辑

在共享自习室场景中,用户的核心路径是“线上下单 -> 扫码签到 -> 入座学习 -> 离座退单”。本方案的目标是通过芯步的开放接口,将“两路照明智能开关”和“门禁”纳入这个自动化流程中。

业务逻辑:

  • 门禁控制:用户在小程序端完成支付后,系统在特定时间段内开放对应门禁的权限,允许用户扫码开门。

  • 照明控制

    • 总控(大环境):根据营业时间(如08:00 - 23:00)自动控制公共区域灯光。

    • 分控(桌灯):座位下的“一路”开关用于控制该座位的顶灯/阅读灯;另“一路”可用于控制该座位的插座通断电或氛围灯,实现“一人一控,入座开启,离座关闭”。

二、 硬件选型与环境准备

为实现上述功能,我们假设选用了芯步生态中兼容 Wi-FiMQTT 协议的智能2路继电器模块(智能开关)。

准备动作:

  1. 设备注册:在芯步控制台添加设备,获取唯一的 device 字段(设备ID),这是接口调用的核心凭证

  2. API凭证:获取 AppIDAPI Key,用于生成签名(sign)以保证通信安全

  3. 网络环境:确保智能开关信号良好,处于在线状态。

三、 接口对接实施步骤

1. 门禁与照明设备的指令下发

芯步提供了两种高效的指令下发模式,针对自习室高并发场景,推荐使用 HTTP API 进行业务触发(如开门),使用 MQTT 进行长连接控制(如实时调光)。

A. 控制门禁(单设备控制)当用户扫描门禁二维码时,你的后端需验证其订单有效性,随后向芯步发送开门指令。

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

  • 请求方法:POST (JSON格式)

  • 参数示例

B. 控制两路照明(多设备/批量控制)针对自习室座位区,可能存在需要一次性开启一排座位灯的场景。芯步接口支持在 device 字段中用符号连接多个设备,实现批量下发

  • 场景:开启座位A的顶灯(通道1),同时开启插座电源(通道2)。

  • 参数示例

2. 业务状态同步与异步处理

芯步的接口返回 code:200 仅代表指令下达成功,不代表设备真的动作了(设备可能离线)为了确保用户体验(用户点了开门,门必须开),你需要利用芯步的消息推送机制

  • 配置回调URL:在芯步控制台配置你的服务器回调地址。

  • 监听执行结果:设备执行指令后,云端会推送设备当前状态(如 channel_1_status)。

  • 逻辑闭环:只有当收到设备返回的“已开启”状态回调时,才向前端用户提示“开门成功”;否则提示“设备离线,请联系管理员”。

四、 关键业务流程设计

有了接口能力,我们需要将其编排进具体的业务流程中:

阶段 1:用户预约与门禁联动

  1. 用户在微信小程序选择座位并支付。

  2. 支付回调触发你的后台:调用芯步接口,查询对应门禁状态(确保在线)。

  3. 预授权:系统记录该用户UID,并在数据库中标记该用户在预约时间段内拥有该门店的进门权限。

  4. 扫码开门:用户到达现场,扫描门口二维码,后台校验时间与权限,调用门禁设备的“开门”指令。

阶段 2:入座与照明/插座控制(“双路”场景)这是该方案的核心价值点。利用两路开关,实现精细化管理:

  1. 座位签到:用户进入自习室,点击对应座位的“签到”按钮。

  2. 下发指令:后台调用智能开关指令。

    • 第一路(照明){"channel_1": 1} —— 座位顶灯亮起,营造学习环境。

    • 第二路(电源){"channel_2": 1} —— 插座通电,允许用户给电脑/手机充电。

  3. 离座结算:用户点击“退座”或预约时间结束前15分钟,系统自动下发关闭指令:{"channel_1": 0, "channel_2": 0}

    • 优势:杜绝了用户离座后照明空耗、插座待机耗电的问题,实测可节省约30%的电费支出。

阶段 3:异常处理机制

  • 超时未还:若用户超时未离座且未续费,系统强制调用接口关闭两路开关。

  • 手动复位:保洁人员可通过管理后台,一键开启第二路开关(插座通电)进行吸尘器清洁,清洁完成后一键关闭。

五、 接口安全与效率优化

在实际开发对接中,关注以下技术细节:

  1. 签名机制(Sign)所有HTTP请求都需要携带 signts(时间戳)。sign 通常通过将 AppIDdeviceorder 参数与 API Key 拼接后进行MD5加密生成。请确保服务器时间与标准时间同步,避免因时间误差导致签名失效

  2. MQTT 长连接(提升响应速度)对于需要极速响应的场景(如现场测试开关),可以采用芯步的MQTT方案

    • 发布主题api/{AppID}/device/control

    • 优势:相比于HTTP的握手开销,MQTT维持长连接,控制指令的延迟可以降低到毫秒级,适合需要频繁开关灯的调试或高峰期操作。

  3. 透传字段(extra)的应用在共享场景中,日志审计非常重要。在 order 中携带 extra 字段(如订单号或用户ID),芯步在后续的消息推送中会原样返回

    • 应用:当用户投诉“灯没关扣费了”时,你可以通过检索推送日志中的 extra 字段,迅速定位是该座位硬件故障还是用户未操作,便于客诉处理。

六、 方案总结

通过以上配置,我们将“芯步智能开关”的两路物理控制能力、批量控制能力与自习室的订单生命周期深度绑定。

  • 对用户:实现了扫码即用、落座灯亮、离座灯灭的无感智能化体验。

  • 对运营者:通过第二路接口控制插座,有效管理非学习时段的高能耗设备;利用门禁接口实现24小时无人值守,降低了人力成本。

具体的代码实现(如签名生成Demo、设备影子状态管理)以及本项目中具体的设备ID映射表,已整理至附件,请查收。