共享棋牌室的“人走断电”看似简单,但真正的难点在于:如何区分“顾客暂时离席上厕所”和“订单结束真正离开现场时”?本文将结合芯步智能包间控制器的开放接口,设计一套可监测设备实时功率的“真断电”方案——通过电流检测反推 occupancy 状态,而非单纯依赖门磁或定时器。
1. 背景与需求分析
在共享棋牌室的无人值守运营模式中,“人走断电”不仅是为了节约能源,更是安全运营的核心要求。然而,在实际场景中,单纯依靠“订单结束断电”往往过于死板,无法应对用户早退、续费不及时等复杂情况。同时,经营者亟需掌握包间内空调、麻将机等大功率设备的真实运行状态(如是否故障、是否被恶意关机),以避免资产损失和客户投诉。
本方案基于芯步智能包间控制器的开放 HTTP 接口,旨在解决以下两个痛点:
精细化断电控制:实现订单结束自动断电、超时未续费强制断电、客人手动请求断电等多触发机制的“人走断电”。
设备状态可视化监控:实时监测各路电器的电流、电压及开关状态,通过算法判断设备是“正常断电”还是“故障离线”,并支持远程复位。
2. 核心技术架构与选型
本方案采用“云+端”的物联网架构,所有核心逻辑均通过 API 接口交互,确保系统响应速度与数据一致性。
2.1 硬件选型:智能包间控制器
根据芯步的产品规格,推荐使用 智能包间控制器(Max 或 标准版)。该设备专为服务型包间设计,具备以下关键能力:
多路独立控制:提供 7-8 路输出(含 1 路 30A 空调专用接口),可分别控制门锁、总照明、麻将机、空调、新风系统等。
负载监测能力:支持实时读取每一路输出的电流、功率数据,这是实现“设备运行状态监控”的技术基础。
通信协议:标准 HTTP API 与 MQTT 协议。鉴于共享场景对状态同步要求高,后台轮询与主动上报结合,但核心控制指令采用 HTTP 请求,便于各类语言集成。
2.2 接口集成逻辑
芯步提供的开放接口采用签名验证机制,集成公式为:Sign = md5(md5(AppSecret) + ts)。所有业务系统(小程序、SaaS 后台)通过调用该接口与包间控制器通信。
3. “人走断电”控制逻辑实现方案
相比全屋总闸的简单粗暴,本方案强调基于状态的分路控制,确保断电体验更加人性化。
3.1 订单周期驱动的自动断电流程
订单开始(线上开门)
用户通过小程序支付后,系统调用
control接口。发送指令
{"power1":"1", "power2":"1", "power7":"1"}(开启门禁、照明、空调)。联动逻辑:麻将机电源(接于线路3)暂不通电,需等待用户进入包间后通过面板手动开启,或检测到门磁开启状态后自动通电,以降低空载损耗。
订单进行中(续费提醒)
定时任务:在订单结束前 15 分钟,系统不直接断电,而是调用 TTS 语音播报接口(仅限 TTS 版本):
发送指令
{"play:gbk:16":"您的订单即将结束,如需续费请扫码操作"}。
订单结束(人走断电)
订单倒计时归零或用户点击“退场”。
发送指令
{"batch":{"relay":[1,2,3,4,5,6,7],"power":0}}——一次性断开所有继电器。特殊处理:空调线路执行延迟断电策略(例如延迟 2 分钟),利用
{"reset":{"relay":[7],"interval":2000}}指令,保护空调压缩机寿命。
3.2 防误判机制:离席检测与“请求通电”
为了解决“人去上厕所但空调没关”的浪费问题,单纯的断电不可取,本方案利用接口状态查询实现“防呆”机制:
场景:系统检测到门磁打开(若门磁接入开关量接口),或用户在 App 点击“暂时离开”。
动作:系统不进行物理断电,而是将空调温度自动调高(需配合红外遥控器或智能空调,开关量无法直接调温)或仅关闭照明。
回归检测:用户返回包间需重新验证(如输入订单码),系统调用接口恢复照明和麻将机供电。
4. 设备运行状态监控实现方案
这一部分是重点,解决了“设备是否真的在工作”的问题。单纯的通断电反馈无法反映设备是否插电、是否损坏。
4.1 基于电流与功率的“虚实结合”监测
棋牌室的主要设备为麻将机和空调,其状态监测逻辑如下:
| 设备类型 | 预期状态 | 监测参数 | 异常判定逻辑 | 系统响应 |
|---|---|---|---|---|
| 麻将机 | 待机/洗牌 | 实时功率 | 继电器闭合但功率=0W | 判定为“未插电或电源故障”,推送员工检修工单 |
| 麻将机 | 洗牌中 | 实时功率 | 功率值低于参考阈值 | 判定为“电机故障”,后台预警 |
| 空调 | 制冷中 | 电流波动 | 继电器闭合但电流=0A | 判定为“跳闸或设备离线” |
| 照明 | 开启 | 状态反馈 | 线路通断状态反馈 | 如反馈断开但指令为通,判定为灯泡损坏 |
4.2 接口数据轮询与异常报警
由于棋牌室多为市电直连,意外跳闸时有发生。集成步骤如下:
状态获取:业务服务器每隔 30 秒调用一次
device/status接口(或通过芯步云平台推送机制接收),获取orderStatus和具体power值。故障注入测试:当后台连续 2 次轮询发现“指令状态(On)与实际功率(0W)”矛盾时,触发报警。
远程复位:若判断为“设备死锁”而非物理损坏,系统自动发送先断后通指令:
{"reset":{"relay":[线路号],"interval":1500}},尝试重启设备。
4.3 数据可视化看板
通过开放接口获取的数据,可在商家管理后台生成以下报表:
设备在线率统计:基于心跳包判断控制器是否离线。
空耗电统计:顾客离开现场时未关空调的多余电费统计,用于提醒商家优化策略。
麻将机使用频次:通过累计通电时长,预判电机保养时间。
5. 集成开发关键步骤
要在现有系统中集成上述功能,开发团队需完成以下工作:
接口鉴权对接
在芯步控制台获取
AppID和AppSecret。实现签名生成算法,公式为:
md5(md5(AppSecret) + timestamp),以通过服务器验证。
设备 ID 映射
将硬件设备的 Device ID(如 1878)与业务系统中的“包间 ID”进行一对一绑定,存入数据库。
指令封装与重试
封装一个通用的
sendCommand(deviceId, orderJson)函数。注意:考虑到网络波动,需实现指令下发失败后的重试机制(最多 3 次,间隔 2 秒)。
WebSocket 实时推送集成(进阶):
如果轮询频率过高可能导致 API 限流,使用芯步提供的 WebSocket 服务,订阅设备变更实时消息,实现毫秒级状态同步。
6. 预期效益
通过实施此方案,共享棋牌室可实现:
电费节约 30%-40%:彻底杜绝空转耗电。
运维效率提升:麻将机故障从“客户投诉才知”变为“后台秒级发现”,大幅提升客户满意度。
设备寿命延长:通过防浪涌的“先断后通”逻辑,减少电器因电压冲击损坏的风险。
注:以上方案基于芯步通用 HTTP 接口设计。具体实施时,请请一定要核对设备固件版本,TTS 语音、批量控制等功能可能需要特定型号硬件(如 TTS 版本)支持。