一、背景与需求分析
在共享麻将馆、无人自习室、24小时健身房等新兴业态中,门禁系统的智能化改造是“无人值守”模式的核心环节。传统机械出门按钮只能实现本地物理开门,无法与订单系统、用户身份、计时计费等业务逻辑联动,导致运营数据断裂、超时占用无法处理等问题。
芯步的智能墙壁触摸出门开关(型号:UNI-KG-CM-C)是一款支持WiFi直连、开放HTTP接口的智能硬件。本方案的目标是指导开发者如何将该设备的“触摸出门”动作接入自有项目,实现“用户身份校验→订单有效性判断→远程开锁”的完整业务闭环。
二、核心技术架构
2.1 整体架构图(文字描述)
整个系统采用分层解耦设计,共分为四层:
设备层:芯步智能触摸出门开关 + 电磁锁(第三方采购)。设备通过WiFi 2.4G网络直连云端,无需额外网关。
接入层:芯步开放API网关(),负责设备指令的下发与状态上报。
业务层:自建SaaS后台(或小程序云开发环境),处理订单校验、权限管理、设备控制逻辑。
应用层:面向C端用户的小程序/APP,以及面向商家的管理后台。
2.2 关键流程设计
用户操作“触摸出门开关”时,采用以下两种方案之一:
方案A(推荐):触摸开关仅作为信号输入,触发业务服务器校验,由服务器通过API发送“开锁”指令。
方案B:触摸开关直连电磁锁(传统接线方式),同时上报“已开门”事件用于记录。
核心逻辑:物理按钮不应具备直接的断电开锁权限,而应与云端业务联动。具体流程为:
用户在包间内点击“出门”按钮。
设备将“按钮被按下”的事件通过HTTP/MQTT上报至业务服务器。
服务器接收事件后,校验当前订单状态(是否在有效期内、是否已完成支付)。
若校验通过,服务器调用芯步
/device/control/接口,向该设备下发断电开门指令。设备执行继电器断开,电磁锁失电,门体打开。
三、接口对接详解
芯步全系门禁产品(出门开关、密码门禁等)均遵循统一的HTTP API协议。
3.1 鉴权机制
调用芯步接口前,需在物联网控制台获取AppId和AppSecret。签名算法采用双重MD5加密:
Sign = MD5( MD5(AppSecret) + ts )
参数说明
AppSecret:开发者密钥,需严格保管。ts:Unix时间戳(秒),用于防止重放攻击。MD5():32位小写哈希函数。
示例步骤假设AppSecret = "123456",ts = 1700000000。
计算第一层:
md5_str1 = md5("123456") = "e10adc3949ba59abbe56e057f20f883e"拼接时间戳:
str2 = "e10adc3949ba59abbe56e057f20f883e" + "1700000000"计算最终签名:
sign = md5(str2)
3.2 核心指令:远程断电开门
需求场景:服务器主动要求电磁锁断电(开门),并在若干秒后自动恢复供电(锁门),以防止门体长时间敞开。
请求地址POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
请求体(JSON)
命令详解
reset:生产环境中最为常用,模拟“按一下开门,几秒后自动复位”的物理逻辑。power:直接控制通断。若传入{"power": 0}则断开线路并保持,会造成门一直无法吸合,一般不单独使用。point:点动模式,先接通后断开。
响应处理:正常响应下,设备会在80-120ms内执行指令。
3.3 事件监听:接收按钮按下通知
若要实现“由用户触摸动作触发开门”,需配置消息推送或设备主动上报。
方案A(推荐):在芯步控制台中配置“消息推送URL”。当用户触摸按钮时,设备会向该URL发送POST数据包,业务服务器接收后根据数据包中的
device_id触发对应的开锁逻辑。方案B:业务服务器开启轮询查询设备状态(不推荐实时性场景)。
上报数据示例
服务器收到此消息后,调用3.2章节中的接口反向控制设备完成开门。
四、业务逻辑集成方案
在无人共享麻将馆场景中,需解决“用户超时后,出门按钮是否可用?”的问题。
4.1 状态机设计
在业务数据库中,需维护以下状态表:
| 字段 | 类型 | 说明 |
|---|---|---|
order_id | varchar | 订单号 |
room_id | int | 房间号 |
device_id | int | 对应的门禁设备ID |
status | enum | 1-进行中,2-已超时,3-已完成 |
expire_time | datetime | 订单预计结束时间 |
4.2 出门权限判断逻辑
当业务服务器收到“出门按钮按下事件”时,执行以下判断:
4.3 小程序端联动体验
进门流程:用户小程序下单 → 支付成功 → 服务器调用
reset指令开门 → 用户进入,计时开始。出门流程:用户点击物理出门开关 → 云端核销订单 → 调用
reset开门。远程关门/强制断电:管理员在后台点击“清场”,发送
{"power":0}指令强制关闭门禁电源,限制人员进入。
五、硬件安装与网络配置要点
5.1 接线说明
芯步智能墙壁出门开关通常为86型面板,内置继电器。
输入端:接220V交流电(L/N)。
输出端:接电磁锁电源线(通常需要配合12V电源适配器或直接控制220V电插锁)。
重要提示:官方手册特别强调,请勿将电插锁直接接在出门开关的输出端上而不加外置电源,必须根据锁具类型(断电开锁型 vs 断电闭锁型)正确接线。
5.2 网络配置
设备仅支持WiFi 2.4G频段,不支持5G Hz。
配网步骤
注册芯步账号并创建工作台。
在物联网控制台添加现场WiFi的SSID和密码。
手机开启2.4G热点(名称需与步骤2一致),设备通电后会自动搜索并连接。
生产环境中,为麻将馆单独设置一个IoT专用SSID,避免带宽争抢导致指令延迟。
六、常见问题与优化
6.1 延迟与稳定性
芯步官方数据显示公网指令响应约80-120ms。若对网络稳定性要求比较高(如断网仍可开门),可咨询官方私有化部署方案,将API服务部署在门店本地局域网中,实现纯内网控制。
6.2 防“逃单”机制
物理层面:电磁锁安装在房间外侧,内部面板仅作信号触发,用户无法物理绕过服务器直接断电。
软件层面:增加“超时惩罚”——若订单超时超过30分钟且未补缴,系统标记该设备禁用,用户下次下单需先还清欠款。
6.3 出门按钮的“长按”与“误触”
芯步的触摸开关支持灵敏度调节。在开发对接时,将reset的延时设置在3-5秒,防止用户因快速误触导致门频繁开关。此外,可在业务层加入防抖逻辑:同一device_id在10秒内只处理一次有效出门请求。
七、总结
通过芯步开放的双重MD5鉴权接口及标准化的reset指令,开发者仅需极少的代码量(约40行curl命令)即可将传统的物理出门按钮升级为“云端可控、业务联动”的智能门禁节点。该方案不仅保留了用户习惯的触摸出门体验,更重要的是将“门”这一物理实体纳入了共享麻将馆的全栈数字化管理体系中,从根本上解决了无人值守场景下的人员进出管控与营收安全问题。