Skip to content

门禁系统

涉及子系统:工控机(核心)、云端 API(指令下发/事件上报)、管理后台(远程控制)
核心业务:管理 A/B 门的物理开关状态,提供远程控制与异常告警能力


系统概述

门禁系统负责 A/B 门电磁锁的物理控制层,是刷脸系统的硬件执行单元。同时提供独立的远程开门能力,供管理员在紧急情况下手动干预。

门禁系统与刷脸系统的关系:刷脸系统决定是否允许开门,门禁系统负责如何执行开门动作。


硬件组成

硬件数量作用
电磁锁(或电插锁)2(A 门 + B 门)执行锁定/解锁
门磁传感器2(A 门 + B 门)检测门的开关状态
人体红外传感器(或其他方案)1检测隔离间内是否有人
开门按钮(入口)1外部用户触发进入请求
出门按钮(隔离间内)1(可选)内部用户触发出门请求
工控机 GPIO/继电器若干驱动电磁锁与读取传感器

门锁控制规则

电磁锁通电逻辑

需在采购时根据安全需求确认:断电开 vs 断电关

类型断电状态适用场景
常开型(通电锁定)断电 = 开门紧急疏散优先(消防要求)
常闭型(通电解锁)断电 = 锁门安全防盗优先

建议:A 门(外门)使用常开型,断电时可供人员疏散;B 门(内门)根据场景选型。

控制信号映射

动作GPIO 输出持续时间
解锁 A 门PIN_DOOR_A = HIGH持续到 A 门关闭事件,或超时 N 秒后自动锁回
锁定 A 门PIN_DOOR_A = LOW持续
解锁 B 门PIN_DOOR_B = HIGH持续到 B 门关闭事件,或超时 N 秒后自动锁回
锁定 B 门PIN_DOOR_B = LOW持续

远程控制接口

管理员可通过管理后台发起远程开门指令,云端通过 MQTT 下发到工控机执行。

指令格式(MQTT Payload)

json
{
  "action": "unlock",
  "door": "A",
  "duration": 10,
  "operator": "admin@example.com",
  "reason": "用户忘带手机,人工确认身份后放行"
}
字段说明
actionunlock(解锁)/ lock(强制锁定)
doorA / B
duration解锁持续秒数,超时自动锁回(默认 10 秒)
operator操作人账号(留存操作日志)
reason操作原因(可选,留存日志)

事件上报

工控机通过 MQTT 将门状态变化实时上报云端,云端持久化到 device_logs 表。

事件类型触发时机上报内容
door_unlocked电磁锁解锁时门编号、触发原因(刷脸/远程/按钮)
door_locked电磁锁锁定时门编号
door_opened门磁:门打开门编号、时间戳
door_closed门磁:门关闭门编号、时间戳
door_timeout门解锁后超时未关闭门编号、超时时长,触发告警
chamber_occupied人体传感器触发时间戳
chamber_empty人体传感器复位时间戳、在隔离间停留时长

异常场景与处理

异常场景检测方式处理策略
门解锁后超过 30 秒未关闭超时定时器触发告警上报云端;语音/蜂鸣提示
门磁传感器故障(长期不变化)心跳检测上报告警,标记传感器异常
电磁锁控制信号异常回读 GPIO 状态上报告警,管理员介入
隔离间长时间有人(超过 5 分钟未进出)计时器上报告警,可能有人被困
工控机重启启动自检读取所有传感器初始状态,恢复正常控制

管理后台功能

  • 实时状态面板:展示 A 门 / B 门当前锁定/解锁/开关状态
  • 远程开门按钮:操作需填写原因,记录操作日志
  • 事件日志:查看门状态变化历史记录
  • 告警列表:未处理告警一览,支持标记处理

待确认事项

  • [ ] 电磁锁选型:常开型 vs 常闭型(A 门 / B 门分别确认)
  • [ ] 开门按钮位置(外侧入口按钮布局设计)
  • [ ] 是否需要出门按钮(或通过其他方式触发出门逻辑)
  • [ ] 门解锁超时时间 N 的具体值(建议 A 门 15 秒,B 门 10 秒)
  • [ ] 隔离间人体检测方案最终确认(红外 vs 视觉)

健身房服务系统内部规划文档