一、背景与需求分析
共享茶室作为24小时无人值守业态,痛点在于:用户离开现场时后包间电源未关闭造成的能源浪费,以及人工巡查成本高企。本方案基于芯步智能硬件产品的开放接口,实现“预约即通电、超时即断电”的自动化闭环控制。
核心需求可分解为:
时序联动:用户下单后自动通电,订单结束后自动断电,无需人工干预
多路分控:照明、茶台、空调等设备可独立控制,避免一刀切断电影响用户体验
余量提醒:订单结束前发送提醒,给用户续时缓冲期
异常容错:网络波动或设备离线时的兜底机制
二、系统设计
2.1 整体架构图(文字描述)
整个系统采用“云+端”架构,分为四层:
| 层级 | 组件 | 说明 |
|---|---|---|
| 用户接入层 | 微信小程序/APP | 用户预约、支付、查看订单 |
| 业务应用层 | 共享茶室SaaS系统 | 订单管理、设备控制逻辑、定时任务调度 |
| 物联网平台层 | 芯步开放平台 | 设备管理、指令下发、状态消息推送(HTTP/MQTT) |
| 设备执行层 | 智能控制器/传感器 | 执行通断电指令、采集环境状态 |
2.2 核心设备选型
基于芯步产品线,推荐以下硬件组合:
| 设备类型 | 推荐型号 | 功能说明 |
|---|---|---|
| 包间电源控制器 | 智能控制器4路/8路(交流版) | 控制照明、茶台、空调等各路电源通断,支持4-8路独立控制 |
| 门禁控制器 | 智能包间控制器Mini(含电磁锁接口) | 控制包间门锁,用户扫码/小程序一键开门 |
| 人体存在传感器 | 智能人体存在雷达传感器(吸顶) | 检测包间内是否有人,用于防误判断电 |
| 语音播报模块 | 智能包间控制器Mini(TTS版) | 订单结束前15分钟语音提醒用户续费 |
三、核心功能实现方案
3.1 设备接入与控制接口
芯步开放平台提供两种设备控制方式,本方案采用HTTP接口以确保与SaaS系统的高兼容性。
接口地址
POST http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}请求示例(控制包间照明关闭)
多路设备的指令映射表
| 指令字段 | 作用对象 | 值说明 |
|---|---|---|
| power1 | 照明/氛围灯 | "1"=通电,"0"=断电 |
| power2 | 茶台/电磁炉电源 | "1"=通电,"0"=断电 |
| power3 | 空调/新风系统 | "1"=通电,"0"=断电 |
| power4 | 门禁电磁锁 | "1"=开锁,"0"=闭锁 |
| batch | 批量控制多路 | {"relay":[1,3],"power":"0"} 同时关闭1、3路 |
3.2 预约联动:用户下单后自动通电
触发时机:用户完成支付,订单状态变为“已支付”时,SaaS系统调用芯步接口下发通电指令。
实现流程
用户在小程序选择包间、时段并支付
订单系统生成订单,记录包间ID、设备ID、开始/结束时间
提前5分钟(可配置)触发定时任务:
调用
device/control接口下发order={"power1":"1","power2":"1"}(照明+茶台通电)调用门禁接口下发
order={"power4":"1"},使电磁锁在用户扫码时自动开锁
设备返回执行结果,记录操作日志
关键代码逻辑(伪代码)
3.3 定时断电:订单结束后自动断电
触发时机:订单到达结束时间且用户未续费,SaaS系统自动执行断电。
需要处理的边界场景
用户提前离开现场时但订单未结束 → 不自动断电,保留空调等设备
订单结束后传感器检测到仍有人 → 触发延迟断电(5-10分钟缓冲)
用户续费成功 → 取消原断电定时,重新计时
实现流程
订单到期前15分钟,调用TTS语音接口播报:“订单即将结束,如需续费请在小程序操作”
订单到期时刻,检查是否续费:
未续费 → 执行断电指令:
order={"power1":"0","power2":"0"}空调可延迟5分钟关闭,避免突然断电损坏设备
门禁执行闭锁:
order={"power4":"0"}调用人体传感器接口检测包间是否有人,若有人则发送异常告警给管理员
定时任务实现:使用Quartz或Redis过期回调机制管理订单到期的断电任务。
3.4 异常处理与状态同步
3.4.1 设备离线处理
芯步接口返回200仅表示平台接收指令成功,不代表设备已执行。需通过消息推送订阅设备状态:
订阅主题:
api/{AppID}/device/status若设备离线,SaaS系统应:
标记该包间设备状态为“离线”
重试3次(间隔5秒)
仍失败则推送告警给运维人员
3.4.2 网络中断兜底
当SaaS服务不可用时,需设备侧独立运行:
智能控制器支持本地定时任务,可预先写入“订单结束时间断电”规则
断网期间用户续费,设备无法接收指令时,可通过门禁二维码物理开锁
3.4.3 人与设备状态冲突处理
场景:订单结束后传感器检测到包间有人,直接断电可能导致用户被锁或设备损坏。
解决方案
if 订单到期 and 人体传感器检测到有人:
延迟5分钟后再次检测
if 仍有人:
发送告警给管理员 + 保持通电状态
else:
执行断电四、数据流与接口时序
完整业务时序(用户角度):
| 步骤 | 触发动作 | 系统响应 | 涉及接口/设备 |
|---|---|---|---|
| 1 | 用户选择包间、时段并支付 | 生成订单,预约状态变更为“待使用” | 小程序 → SaaS |
| 2 | 订单开始前5分钟 | 自动向设备下发通电指令 | SaaS → 芯步API → 智能控制器 |
| 3 | 用户到店,扫码开门 | 门锁电磁铁得电,包间门可开启 | SaaS → 控制器(power4) |
| 4 | 用户使用过程中 | 照明、茶台、空调正常供电 | 智能控制器保持通电状态 |
| 5 | 订单结束前15分钟 | TTS语音播报提醒用户 | SaaS → 控制器语音接口 |
| 6 | 订单到期,未续费 | 下发断电指令,门锁闭锁 | SaaS → 控制器(power1/2/3/4全部断) |
| 7 | 保洁人员打扫 | 后台一键临时通电 | 管理后台 → 控制器 |
五、安全与运维保障
5.1 接口签名机制
芯步接口要求携带签名参数sign和时间戳ts,防止接口被恶意调用。签名算法示例:
sign = md5(AppID + AppSecret + ts)
5.2 权限隔离
多门店场景下,每个门店的AppID独立,设备归属隔离
管理后台可设置不同角色(超级管理员、门店店长、保洁员)的设备控制权限
5.3 设备日志与审计
所有设备控制指令(包括时间、操作人、指令内容、执行结果)均写入操作日志表,便于故障排查和用户申诉。芯步接口支持在order中携带extra字段(如订单号),异步消息推送时会原样返回,便于日志关联。
5.4 远程维护
设备固件支持OTA升级,运维人员可通过芯步控制台批量升级包间控制器固件,无需现场操作。
六、总结
| 维度 | 实现效果 |
|---|---|
| 节能效果 | 订单结束后自动断电,预计单包间日均省电4-6度 |
| 用户体验 | 用户无需操作开关,到店扫码即用,离开现场时自动结算 |
| 运维成本 | 无人值守模式,省去夜间巡查人员,仅需保洁白班维护 |
| 扩展性 | 同一套控制器可接入麻将机、饮水机等更多设备,支持后续业务升级 |
通过芯步开放接口,共享茶室可实现“预约即通电、超时即断电”的全自动闭环控制,在降低能耗的同时提升用户体验和运营效率。