共享麻将馆的无人化运营,核心挑战是如何让用户在小程序上自助完成开门、通电,订单结束后又能自动断电锁门。以下方案基于芯步的智能包间控制器和开放接口,帮你把硬件选型、接口对接和业务联动串起来。
1. 项目概述与选型分析
在共享麻将馆的无人值守场景中,痛点是“人房比”过高以及“电耗管理”粗放。传统的管理模式依赖人工现场开关门、送电,不仅运营成本高,而且无法实现 24 小时自助服务。
本方案基于芯步的开放平台,旨在通过其成熟的智能硬件与全开放的 HTTP API 接口,将传统麻将馆改造为“用户手机下单 -> 系统自动授权 -> 远程通电开灯 -> 订单结束自动断电关门”的全流程自动化场所。
核心选型:智能包间控制器
针对共享麻将馆的特定场景,普通插座无法控制门禁,而单路通断器无法独立管理麻将机、空调、照明、排风等多路负载。因此,推荐使用 芯步的“智能包间控制器” (如 7 路版本)。
该设备专为服务型门店包间设计,具有以下优势
多路独立控制:提供 1 路 30A(空调用)、3 路 10A(照明/排风)、2 路 10A(插座/麻将机)、1 路门禁控制。实现一个包间单设备全覆盖。
门禁直连:直接提供直流输出接口控制电磁锁/电插锁,无需额外采购门禁控制器。
TTS 语音播报:支持远程下发文字转语音,可在订单即将结束时提醒顾客续费。
2. 硬件设备选型清单与拓扑结构
为了实现“门禁+照明+电器”的联动,我们需要利用包间控制器内的多个独立“继电器”来分别管理不同的线路。
推荐设备清单
| 设备名称 | 型号/规格推荐 | 功能作用 | 对接关键点 |
|---|---|---|---|
| 智能包间控制器 | 芯步 7路控制器 | 核心控制单元,负责通断电、门磁控制 | HTTP/MQTT 双协议,支持远程下发指令 |
| 电磁锁/电插锁 | 标准 12V 磁力锁 | 控制大门开关 | 必须接入控制器的 NC(常闭)或 NO(常开) 端口 |
| 出门开关 | 86型复位开关 | 内部紧急出门使用 | 接入门禁控制器的信号线接口 |
| 强电线路 | 2.5㎡/4㎡ 线缆 | 负责照明、麻将机、空调线路 | 需区分线路,分别接入控制器的 L1-L4 等接线端 |
物理接线拓扑
在项目的落地实施中,强电布线是集成的基础。将配电箱内的原有回路进行拆分:
总闸 -> 智能包间控制器(进线端)。
控制器出线端
Relay 1 (L1):接 照明灯 线路(灯光控制)。
Relay 2 (L2):接 麻将机/插座 线路(设备供电)。
Relay 3 (L3):接 排风扇/吸烟灯。
NC/COM 端口:串联至 电磁锁(门禁控制)。
独立供电:控制器保持 24 小时通电,确保门禁控制板在关门状态下依然有电,但门锁本身的电路通过继电器断开。
3. 开放接口集成开发方案
芯步的开放接口是连接“业务端(小程序/SAAS系统)”与“硬件设备”的桥梁。整个集成过程基于标准的 HTTP 请求,签名机制简单,可在 10 分钟内完成首次对接测试。
3.1 接口基础设定
请求地址
http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}鉴权方式动态签名。
sign = md5( md5(AppSecret) + ts )。这种双重 MD5 的加密方式既保证了传输安全,又避免了明文传输密钥的风险。数据格式
application/json。
3.2 关键指令集成逻辑
针对麻将馆场景,我们需要封装以下核心 API 指令(以 Java/Python/Node 后端均可实现):
| 业务动作 | 下发指令 (Order JSON) | 指令解析 |
|---|---|---|
| 开门 + 通电 | {"device":"xxx","order":{"power1":1, "power2":1, "reset_time": 3600}} | power1 控制门禁断电(开门);power2 控制照明线路闭合;reset_time 是定时任务,即 1 小时后自动执行全关,用作看门狗保护。 |
| 临时关门(打扫) | {"device":"xxx","order":{"power1":0}} | 单独控制门锁继电器吸合(关门),但保持屋内灯光和麻将机不断电,方便保洁人员打扫。 |
| 订单续费提醒 | {"device":"xxx","order":{"play:gbk:16":"[message_3]您的订单还剩15分钟,请续费"}} | 调用 TTS 语音播报功能。[message_3] 为提示音前缀。 |
| 订单结束全关 | {"device":"xxx","order":{"batch":{"relay":[1,2,3],"power":0}}} | 批量控制。将门禁(线路1)、照明(线路2)、麻将机(线路3)同时断电。 |
3.3 状态同步机制
为了保证系统稳定性,除了主动下发指令,还需利用消息推送机制。
场景:用户在包间内按了“出门开关”,物理断开了门禁。
处理:芯步云端会向我们的服务器推送设备状态变更。我们的系统收到推送后,更新订单状态为“已结束”或“门未锁”,防止出现订单进行中但门被意外打开的安全漏洞。
4. 业务流程控制逻辑
将上述接口与业务逻辑结合,共享麻将馆的无人化流程如下:
4.1 用户端小程序下单
用户支付成功 -> 后端系统获取订单开始时间与时长。
生成动态密码(可选):若需配合密码门禁,可通过接口下发密码:
{"device":"xxx","order":{"pwd":"123456"}}。
4.2 联动控制执行
步骤一:授权开门系统调用设备控制接口,发送 {"power1": 1}。
物理结果:Relay 1 断开,门禁电磁铁失电,门体吸力消失,顾客推门进入。
步骤二:进房通电为了防止“干烧”或安全隐患,门磁传感器检测到门打开(或简单逻辑:开门指令发出 10 秒后),系统自动发送 {"power2": 1, "power3": 1}。
物理结果:灯光亮起、麻将机得电、排风扇启动。
步骤三:计时中间状态
在订单剩余 15 分钟时,系统自动调用 TTS 语音指令,包间内喇叭播报:“剩余时间不足,请及时续费”。
若用户未续费,倒计时结束。
步骤四:自动断电与锁门订单结束后,系统发送全关指令 {"batch":{"relay":[1,2,3],"power":0}}。
物理结果:所有电器断电、电磁锁上电(如果是断电开门的锁型,需注意逻辑;配套使用断电开锁型磁力锁,即平时通电吸合,断电开门)。
注:为了保证安全,此方案通常使用 通电上锁 的锁型,即控制器继电器默认为闭合状态保持门锁通电锁住;断电或异常时门自动打开,符合消防安全要求。
5. 异常处理与安全机制
在集成开发中,需要特别关注以下几个边界情况:
5.1 设备离线处理
问题:调用接口返回
code:200但设备未执行。机制
code:200仅代表平台收到指令,不代表设备收到。此时需轮询设备状态 API 或等待设备重连后的消息补发。策略:在系统设计时,如果执行开门指令后 5 秒内未收到设备状态反馈,应触发短信告警通知管理员,防止顾客被锁在门外。
5.2 防劫持与签名安全
所有接口均需携带 sign 签名和时间戳 ts。服务端需验证时间戳与当前时间的差值(只允许 5 分钟内的请求),防止重放攻击。
5.3 最长通电保护
在 order 指令中增加 reset 或定时任务。例如:{"reset": 14400} (4小时后自动断开)。作为保险机制:即便软件层面因为死循环未发送“关闭”指令,硬件本身会在 4 小时后强制断开所有继电器,从根本上避免火灾隐患。
5.4 本地应急方案
当网络故障或服务器宕机时,集成方案需保留“本地应急”能力。
利用包间控制器自带的 RJ45 网口/WiFi 健壮性,若网络中断,通过配置在网关层面的触发器(如:本地物理按键)仍可开启灯光。
在软件层面,开发“管理员 24 小时应急码”功能,本质是一个存储在本地数据库的预设指令,用于极端情况下的手动放行。