包间管理的痛点在于:顾客预约后需要人工送电、到点后可能超时占用、以及夜间跑电浪费。芯步的8路包间控制器通过HTTP接口开放了所有电器的独立控制能力,配合语音播报和门禁联动,可以完整实现“自助预约→自动通电→到时提醒→断电关门”的闭环。以下方案从接口对接、命令设计到业务场景,逐层展开。
1. 背景与概述
在当前线下服务门店(如共享棋牌室、茶室、自习室、影音房等)的运营中,包间管理效率与用户体验是核心竞争力。传统管理模式依赖人工送电、巡房和结算,存在人力成本高、服务响应慢、夜间“跑冒滴漏”电能浪费严重等问题。
芯步推出的智能8路包间控制器专为服务型门店设计,提供了覆盖空调、照明、麻将机、门禁等设备的完整电力管控方案。本解决方案的目标是指导开发者如何通过该产品开放的 HTTP 接口,将其无缝对接到现有的或新建的软件项目中(如小程序、SaaS后台、PC客户端),实现“订单驱动设备”的自动化管理闭环。
2. 硬件核心能力与接口特性
在对接前,开发人员需充分理解硬件载体的物理能力,以便在软件系统中设计合理的功能菜单。
2.1 设备负载能力
以芯步的 Max 版本(8路) 为例,其对包间内电器的物理划分如下表,这在软件 UI 设计上直接映射为对应的控制按钮
| 线路编号 | 推荐负载类型 | 电气参数上限 | 软件定义 |
|---|---|---|---|
| 线路 1-3 | 照明、氛围灯带、换气扇 | 10A / 2200W (阻性) | 照明类(主灯/射灯) |
| 线路 4-6 | 麻将机、饮水机、按摩椅 | 16A / 3500W (阻性) | 娱乐设备类(核心计费依据) |
| 线路 7 | 门锁、电插锁(门禁) | 10A / 2200W | 安防类(常闭/常开控制) |
| 线路 8 | 空调(2匹以内) | 30A / 6600W (Max) | 空调类(延时断电) |
2.2 接口通信特征
根据官方技术手册,智能包间控制器的接口设计极具开放性,非常适合私有化部署
协议类型:标准 HTTP/HTTPS 协议,无第三方中间件依赖。
网络要求:设备支持 WiFi 2.4G 直连,无需额外网关。只要设备与服务器网络可达(公网或局域网均可),即可下发指令。
对接语言:适用于任何支持HTTP请求的开发语言(Java, Python, PHP, Node.js, Go 等)及框架(Vue, React, 小程序等)。
响应速度:命令下发到设备执行通常在 80-120ms,满足门禁开关的实时性要求。
3. 对接架构与鉴权流程
3.1 推荐对接架构
为确保业务数据的安全性和低延迟,采用 “私有化部署/直连模式” 。软件服务器直接通过API调用设备接口,不经过芯步的公有云(或仅用于设备配网),保障门店经营数据(如开关记录、顾客时长)存储于本地。
sequenceDiagram
participant User as 顾客小程序/前台
participant BizServer as 门店业务服务器
participant Device as 包间控制器 (UNI-KZQ-BJ)
User->>BizServer: 1. 下单/扫码开门
BizServer->>BizServer: 2. 校验订单状态/时段
BizServer->>Device: 3. POST /device/control (开门+通电)
Device-->>BizServer: 4. 返回执行结果 (200 OK)
BizServer->>User: 5. 操作成功/开始计费3.2 鉴权与签名机制(技术实现核心)
芯步接口采用动态签名验证,防止接口被恶意篡改。签名算法规则如下,后端需封装统一的签名工具类
准备参数
AppId:平台颁发的应用ID。AppSecret:开发者密码。ts:当前Unix时间戳(秒),用于防止重放攻击。
计算签名注:先将Secret进行一次MD5得到字符串A,再将字符串A与时间戳拼接,最后对拼接结果再次进行MD5。
发起请求将
AppId、Sign、ts拼接在URL Query参数中,Body携带具体的JSON指令。
代码示意(Node.js):
4. 关键业务场景与指令封装
为了提升开发效率,软件系统中应构建“控制指令工厂”,将底层 JSON 封装与业务场景绑定。
4.1 单路与多路独立控制
这是最常用的接口,对应顾客在操作面板上点击“开灯”、“关空调”等操作。
| 业务场景 | HTTP Method | Order JSON 指令示例 |
|---|---|---|
| 开启一路(空调) | POST | {"device":"设备ID","order":{"power8":1}} |
| 关闭三路(照明) | POST | {"device":"设备ID","order":{"power1":0, "power2":0, "power3":0}} |
| 开启门禁(7路) | POST | {"device":"设备ID","order":{"power7":1}} |
4.2 批量场景控制(一键启动/结束)
在用户下单或订单结束时,使用批量指令可以瞬间设置包间状态。
开局通电:顾客支付成功后,系统下发
batch指令开启麻将机和空调,关闭门禁(解锁)。超时断电:订单结束后5分钟,系统下发
batch指令关闭所有电器,并开启门禁(上锁)。
4.3 语音播报与提醒(TTS)
利用控制器的TTS版本,可以在顾客计费时间即将耗尽时,直接在包间内播报警告音或语音提醒,避免超时纠纷。
场景:订单剩余5分钟时,服务器主动调用。
指令
{"device":"KJ001","order":{"play:gbk:16":"尊敬的顾客,您的订单还剩5分钟,如需续费请扫描包间二维码"}}
4.4 先断后通(门禁/空调保护)
针对空调(第8路)或门锁(第7路),直接断电可能损坏压缩机或导致锁具无法吸合。
使用指令
reset:先断开电源,等待几秒后重新通电。应用:用于远程重启卡死的网关,或清洁阿姨完成打扫后通过系统一键“重置门锁状态”。
5. 状态同步与异常处理机制
5.1 状态上报(Webhook/消息推送)
包间控制器不仅仅是被动接受指令。当服务员按下墙壁上的物理开关,或发生断电重启时,设备会主动上报状态。
建设方案:开发者需要在芯步后台配置 消息推送URL。
数据用途:接收设备上报的
power1、power2等字段状态,实时更新软件后台的“设备当前状态”,防止出现“软件显示关灯,实际物理开灯”的状态不同步问题。
5.2 离线与重试机制
由于WiFi环境存在不稳定性,软件设计必须考虑 “异步可靠性” 。
超时设置:HTTP请求设置 3-5 秒超时。
本地队列:针对关键指令(如断电),若返回超时,系统应将该指令存入Redis队列,延迟重试(最多3次)。
降级策略:若控制器离线,软件后台应立即提示客服人员“设备离线”,并在此状态下禁止自动生成“无人入住”的订单,或者引导顾客更换包间。
6. 项目实施流程
环境准备
采购芯步 智能包间控制器(Max TTS版),接通220V市电并配置WiFi。
在芯步开发者平台获取专属
AppId和AppSecret。
沙箱测试
使用Postman或Apifox模拟签名算法,测试单路灯光的通断,验证签名逻辑正确性。
请一定要测试
reset指令在门禁锁上的表现,确认上电是否自锁。
业务集成开发
后端:封装统一控制服务,集成订单生命周期(支付→通电,到期→报警,超时→断电)。
前端:设计简洁的包间管理卡片,展示8路设备状态,支持远程单独控制(如顾客致电要求关空调时使用)。
私有化部署考量
若门店数量多且注重数据隐私,可将API请求从公网切换至局域网IP(如果设备与服务器在同一网段),实现断外网下的内网管理。
通过上述方案,开发者可以充分利用芯步8路控制器的接口灵活性与硬件覆盖面,将传统线下包间改造为 “24小时无人值守、线上线下一体化、设备全可控” 的智慧空间。