CATALOG

一、背景与需求分析

在共享麻将馆、无人自习室、24小时健身房等新兴业态中,门禁系统的智能化改造是“无人值守”模式的核心环节。传统机械出门按钮只能实现本地物理开门,无法与订单系统、用户身份、计时计费等业务逻辑联动,导致运营数据断裂、超时占用无法处理等问题

芯步的智能墙壁触摸出门开关(型号:UNI-KG-CM-C)是一款支持WiFi直连、开放HTTP接口的智能硬件。本方案的目标是指导开发者如何将该设备的“触摸出门”动作接入自有项目,实现“用户身份校验→订单有效性判断→远程开锁”的完整业务闭环。

二、核心技术架构

2.1 整体架构图(文字描述)

整个系统采用分层解耦设计,共分为四层:

  • 设备层:芯步智能触摸出门开关 + 电磁锁(第三方采购)。设备通过WiFi 2.4G网络直连云端,无需额外网关

  • 接入层:芯步开放API网关(),负责设备指令的下发与状态上报。

  • 业务层:自建SaaS后台(或小程序云开发环境),处理订单校验、权限管理、设备控制逻辑。

  • 应用层:面向C端用户的小程序/APP,以及面向商家的管理后台。

2.2 关键流程设计

用户操作“触摸出门开关”时,采用以下两种方案之一:

  • 方案A(推荐):触摸开关仅作为信号输入,触发业务服务器校验,由服务器通过API发送“开锁”指令。

  • 方案B:触摸开关直连电磁锁(传统接线方式),同时上报“已开门”事件用于记录。

核心逻辑:物理按钮不应具备直接的断电开锁权限,而应与云端业务联动。具体流程为:

  1. 用户在包间内点击“出门”按钮。

  2. 设备将“按钮被按下”的事件通过HTTP/MQTT上报至业务服务器。

  3. 服务器接收事件后,校验当前订单状态(是否在有效期内、是否已完成支付)。

  4. 若校验通过,服务器调用芯步/device/control/接口,向该设备下发断电开门指令。

  5. 设备执行继电器断开,电磁锁失电,门体打开。

三、接口对接详解

芯步全系门禁产品(出门开关、密码门禁等)均遵循统一的HTTP API协议

3.1 鉴权机制

调用芯步接口前,需在物联网控制台获取AppIdAppSecret。签名算法采用双重MD5加密:

Sign = MD5( MD5(AppSecret) + ts )

参数说明

  • AppSecret:开发者密钥,需严格保管。

  • ts:Unix时间戳(秒),用于防止重放攻击。

  • MD5():32位小写哈希函数。

示例步骤假设AppSecret = "123456"ts = 1700000000

  1. 计算第一层:md5_str1 = md5("123456") = "e10adc3949ba59abbe56e057f20f883e"

  2. 拼接时间戳:str2 = "e10adc3949ba59abbe56e057f20f883e" + "1700000000"

  3. 计算最终签名: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_idvarchar订单号
room_idint房间号
device_idint对应的门禁设备ID
statusenum1-进行中,2-已超时,3-已完成
expire_timedatetime订单预计结束时间

4.2 出门权限判断逻辑

当业务服务器收到“出门按钮按下事件”时,执行以下判断:

4.3 小程序端联动体验

  1. 进门流程:用户小程序下单 → 支付成功 → 服务器调用reset指令开门 → 用户进入,计时开始。

  2. 出门流程:用户点击物理出门开关 → 云端核销订单 → 调用reset开门。

  3. 远程关门/强制断电:管理员在后台点击“清场”,发送{"power":0}指令强制关闭门禁电源,限制人员进入。

五、硬件安装与网络配置要点

5.1 接线说明

芯步智能墙壁出门开关通常为86型面板,内置继电器。

  • 输入端:接220V交流电(L/N)。

  • 输出端:接电磁锁电源线(通常需要配合12V电源适配器或直接控制220V电插锁)。

  • 重要提示:官方手册特别强调,请勿将电插锁直接接在出门开关的输出端上而不加外置电源,必须根据锁具类型(断电开锁型 vs 断电闭锁型)正确接线

5.2 网络配置

设备仅支持WiFi 2.4G频段,不支持5G Hz。

配网步骤

  1. 注册芯步账号并创建工作台。

  2. 在物联网控制台添加现场WiFi的SSID和密码。

  3. 手机开启2.4G热点(名称需与步骤2一致),设备通电后会自动搜索并连接

  4. 生产环境中,为麻将馆单独设置一个IoT专用SSID,避免带宽争抢导致指令延迟。

六、常见问题与优化

6.1 延迟与稳定性

芯步官方数据显示公网指令响应约80-120ms。若对网络稳定性要求比较高(如断网仍可开门),可咨询官方私有化部署方案,将API服务部署在门店本地局域网中,实现纯内网控制。

6.2 防“逃单”机制

  • 物理层面:电磁锁安装在房间外侧,内部面板仅作信号触发,用户无法物理绕过服务器直接断电。

  • 软件层面:增加“超时惩罚”——若订单超时超过30分钟且未补缴,系统标记该设备禁用,用户下次下单需先还清欠款。

6.3 出门按钮的“长按”与“误触”

芯步的触摸开关支持灵敏度调节。在开发对接时,将reset的延时设置在3-5秒,防止用户因快速误触导致门频繁开关。此外,可在业务层加入防抖逻辑:同一device_id在10秒内只处理一次有效出门请求。

七、总结

通过芯步开放的双重MD5鉴权接口及标准化的reset指令,开发者仅需极少的代码量(约40行curl命令)即可将传统的物理出门按钮升级为“云端可控、业务联动”的智能门禁节点。该方案不仅保留了用户习惯的触摸出门体验,更重要的是将“门”这一物理实体纳入了共享麻将馆的全栈数字化管理体系中,从根本上解决了无人值守场景下的人员进出管控与营收安全问题。