CATALOG

共享自习室的电力管理痛点在于:用户订单与座位电源必须联动,同时还要保障网络安全(防止路由器被误重启)。芯步的开放接口正好可以通过 HTTP/MQTT 方式实现对 8 位分控 PDU 的精准控制。以下方案涵盖设备选型、接口对接逻辑、异常处理及小程序联动。

解决方案:共享自习室设备机柜电源控制 —— 基于芯步开放接口集成智能远程8位分控PDU

1. 背景与需求分析

在共享自习室的无人值守场景中,痛点是 “人、座位、电”的实时匹配

  • 业务需求:用户预订成功后,不仅要解锁门禁,还应自动为指定的座位插座通电;用户签离或超时后,系统需自动断电。

  • 设备管理需求:自习室通常将核心网络设备(路由器、主交换机)放置在机柜中,这要求 机柜电源绝对不能误操作;而分给用户的插座控制端口需要严格隔离。

  • 硬件选择:采用 芯步生态内的8位分控智能PDU(如奥盛、其他兼容网关的智能PDU)。该设备支持独立控制每一路插孔的开关,共8个通道,符合自习室分区/分座位的精细化控制需求

2. 整体设计

我们将以 “SaaS后台 + 小程序 + 智能PDU” 的架构进行集成。

  • 设备层:机柜内部署智能PDU。其中:

    • 第1路:连接核心路由器/光猫(常开,严禁程序控制)。

    • 第2-8路:连接对应自习桌位的插排或地插。

  • 网络层:PDU通过Wi-Fi或以太网连接至芯步云网关。

  • 集成层:你的业务服务器通过调用 芯步开放平台 HTTP 接口,向指定设备下发指令。

  • 应用层:用户小程序/管理后台。

3. 核心集成步骤:如何将PDU接入你的项目

3.1 物理部署与端口映射逻辑

在集成代码之前,需建立 物理端口号业务座位号 的映射表。

  • 举例

    • Seat_01 (座位A) —— PDU设备ID:12345678 —— 端口号:1

    • Seat_02 (座位B) —— PDU设备ID:12345678 —— 端口号:2

  • 安全:在机柜PDU上粘贴标签,明确标记哪些端口是“用户端口”,并物理遮盖“核心设备端口”,防止运维误触

3.2 API 对接开发:下发电源指令

根据芯步的接口规范,控制PDU开关的核心逻辑是向设备下发属性设置命令

场景 A:用户扫码上座(通电)当用户在小程序点击“开始学习”并支付成功,业务后台需调用以下API:

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

  • 请求方法:POST (推荐使用JSON格式)

  • 核心逻辑:设置PDU通道的开关状态为 1 (开启)。

请求示例(JSON):

参数详解

  • device:从芯步控制台获取的PDU唯一ID。

  • order:芯步平台的命令参数。此处假设PDU的标准化功能点为 outlet_1outlet_8(具体参数名请参考该PDU产品的物模型)。值为 1 代表开启,0 代表关闭

  • extra:这是一个非常实用的字段。你可以将业务订单号传入,当芯步平台异步推送执行结果时,你可以据此更新对应订单的状态

场景 B:用户离座/超时关断(断电)逻辑同上,仅将 order 中的对应端口值修改为 0

3.3 异步消息处理:确保执行闭环

由于网络延迟或设备离线,HTTP接口返回 200 仅代表指令被平台接收,并不代表设备真的断电。为了严谨的计费逻辑,你需配置 消息推送服务

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

  • 回调内容:当PDU真正执行完开关动作后,平台会推送一条包含 device_idoutlet 状态、以及你之前传入的 extra 字段的消息。

  • 你的代码逻辑:收到此消息后,将数据库中对应订单的状态更新为“供电中”或“已断电”。

4. 不同模式下的差异化策略

4.1 租赁模式 vs 计时零售模式
  • 租赁模式(月租/季租)通常不需要动态频繁开关。你的系统可以做一个定时同步任务

    • 每日凌晨检查该座位的租赁有效期,如已过期,调用接口 outlet_x=0 切断电源;如缴费,调用接口 outlet_x=1 通电。

  • 计时零售模式(按时/按小时)依赖 Webhook

    • 订单生成 -> 通电。

    • 剩余时间检测(如剩余5分钟) -> 通过小程序提醒用户续费。

    • 时间归零 -> 立即调用断电接口

4.2 异常情况下的“保活”机制

机柜里的核心设备(路由器)绝对不能断电!

  • 代码熔断机制:在调用API时,你可以在代码逻辑层增加判断。例如,如果你的API请求参数涉及 outlet_1(假设为路由器端口),系统应直接拒绝执行并发出告警。

  • 硬件级保护:部分高端PDU支持 “开机状态设置” ,可以配置为“断电恢复后,端口状态保持为开启”。即使机柜重启,路由器也会自动通电,不需要程序介入

5. 实施与测试计划

第一阶段:沙箱与设备调试

  1. 在芯步控制台添加PDU设备,确认设备在线。

  2. 使用API调试工具(如Postman)直接调用接口,测试单路开关的响应速度(通常在1-3秒内)。

第二阶段:业务逻辑串联

  1. A/B 测试:找一个测试座位。使用小程序走通“下单 -> 端口通电”的链路。

  2. 压力测试:模拟多个用户同时下单,观察API接口的并发处理能力。芯步接口一次请求最多支持控制100台设备,但对普通自习室来说,单次请求只控制单台设备,避免网络波动导致批量失败

第三阶段:运维可视化

  • 在你的后台管理系统中,开发一个 “机柜电源地图” 页面。

  • 点击按钮即可可视化控制PDU的每一路通断,这在处理“用户反馈插座没电”或“某座位设备死锁需要重启”时极为有用。

6. 总结

将芯步的8位分控PDU接入共享自习室项目,核心在于逻辑映射(谁占哪个座 -> 控制哪个口)和安全隔离(路由器永不掉线)。通过芯步标准化的 device/control 接口,你可以在两天内完成从设备上架到代码联调的全过程,实现真正的“无人值守、随用随开、人走断电”。