无人门店人脸门禁 — 部署指南

套餐

A. reCamera Pro 直控

reCamera Pro 识别人脸并判定是否开门,GPIO 直接驱动继电器。

  • 服务器: 一台装 Docker 的 Linux 服务器(不需要 GPU),运行人脸库、管理界面和 MQTT broker。
  • 外设: 继电器模块,干接点接门禁控制器的开门输入。
1

部署人脸库与管理界面

在一台服务器上启动人脸库、MQTT broker 和管理界面。

前置条件
  • 一台装有 Docker 和 compose 插件的 Linux 服务器,门口设备能访问到它,不需要 GPU。
  • 服务器时钟已开启 NTP 同步,门口设备以它为准。
  • 服务器上 8080(人脸库)、8088(管理界面)、1883(MQTT)端口空闲。
  • 「门口设备」按本套餐选:reCamera Pro。
  • 签名密钥和 admin token 自动生成,部署后在本步骤底部「自动生成的密钥」里查看,登录管理界面用 admin token。
故障排查
现象处理
找不到 docker compose在服务器上安装 docker-compose-plugin
提示 NTP is not synchronised在服务器上执行 sudo timedatectl set-ntp true
8080 端口被占用修改人脸库端口,后续步骤的人脸库地址用同一个端口。
8088 端口被占用释放 8088 端口,后续步骤的管理界面页面固定打开这个端口。
人脸库接口返回 404首次注册前属正常。
管理界面打不开在服务器上执行 docker logs usa-web 查看原因。
部署方式

部署到门口设备可以访问的一台 Linux 服务器。

部署时需要填写(在 SenseCraft Solution 应用里填)
  • 服务器 IP*

    门口设备必须能访问这个地址。

  • SSH 用户名*默认 ubuntu
  • SSH 密码*
  • 人脸库端口*默认 8080
  • 管理界面端口*默认 8088
  • 匹配阈值*默认 0.40

    各门口设备须填同一个值。

  • 识别服务地址(注册用)

    注册人员时管理界面调用的识别服务。留空时注册的人不会被识别。

  • 门口设备*
    3 项可选
    • · reCamera Pro
    • · 标准版 reCamera(2002 / 2002w / 2002 HQ PoE)
    • · AI 主机 + 现有摄像头

    决定人脸库版本里写入的模型标识。必须与门口实际设备一致,否则谁都认不出来。套餐 A 选 reCamera Pro;套餐 B、C 选标准版 reCamera;套餐 D 选 AI 主机。

  • 人脸库签名密钥*
  • 管理界面 admin token*

    登录管理界面时使用。

其余 1 项已有默认值,可不改
  • 设备控制端点(JSON)默认 []

    要在管理界面设备页显示的标准版 reCamera。其他套餐保持 `[]`。

2

注册人员

在管理界面「人员库」为每个人上传 3 到 8 张照片完成注册。

前置条件
  • 步骤 1 的 admin token。
  • 每人 3 到 8 张清晰的正脸照片。
  • 步骤 1 已填写识别服务地址,否则注册的人不会被识别。
  • 已知限制:这里注册的人目前还不能被 reCamera Pro 端侧模型识别,本套餐中这一步只验证注册与下发。
故障排查
现象处理
注册被拒,提示少于三张图至少上传 3 张照片。
新注册的人门仍不开等 30 s 让设备拉取新版本后再试。
回滚被拒并提示某个人此人已被删除。通过注册或编辑发布新版本,不要回滚。
设备提示 model_tag 不匹配把识别服务地址指向门口设备上的识别服务,重新部署步骤 1 后重新注册。
3

接继电器

把继电器接到摄像头和门禁控制器。

接线

reCamera Pro 继电器接线

  1. 用万用表确认 GPIO 130 是排针上哪个脚、输出为 3.3 V。
  2. 摄像头 GPIO 130 → 继电器 SIG,3.3 V → VCC,GND → GND。想先测试可改接 LED 加限流电阻到 GPIO 130 与 GND。
  3. 继电器 COM、NO 接门禁控制器的开门输入(断电开门的电磁锁接 COM、NC)。
故障排查
现象处理
GPIO 130 被其他程序占用换一个空闲 GPIO,下一步填写对应编号。
4

激活并配置 F1 门禁

在摄像头上启动 F1 门禁并写入门禁设置,摄像头上正在运行的其他应用会被停止。

前置条件

先在摄像头上装好 F1 门禁(0.1.5 或以上):

  1. 登录摄像头的网页控制台,打开应用中心
  2. 找到 F1 门禁,点安装,等待安装完成。

表单中的服务器 IP、端口、匹配阈值与签名密钥自动取自步骤 1,只需填写门名称、GPIO 编号、继电器触点与断电后门的状态。

故障排查
现象处理
提示应用未安装按前置条件在应用中心安装 F1 门禁。
提示 unknown parameterF1 门禁版本低于 0.1.5,在应用中心更新后重新部署。
激活超时刚装完第一次激活较慢,重试一次。
提示 npu.direct is busy在应用中心停止正在运行的其他应用后重新部署。
上电时门开了一次继电器触点选反了,改正后重新部署。
5

核对人脸库已到设备

在管理界面「设备」页确认门口设备用上了刚发布的库版本。

前置条件
  • 门口设备已上电并联网。
  • 至少注册了一个人。
故障排查
现象处理
desired_version 落后于服务端 current等 30 s 后刷新页面。
active_version 落后于 desired_version查看 last_error,多为匹配阈值与步骤 1 不一致,用相同的值重新部署设备步骤。
signature.verifiednull正常,验签失败会显示在 last_error
clock.validfalse没有 NTP 的设备上属正常。
有人出现在 only_on_device有人直接在设备上注册过,下一个版本会覆盖。
页面为空还没有设备上报,检查门口设备是否在线。
6

验证这道门

测试这道门:注册的人能开,照片不能开,远程开门可用。

前置条件
  • 门禁控制器已接好,至少注册了一个人。
  • 此人的一张打印照片。
  • 步骤 1 的 admin token。
故障排查
现象处理
照片能开门停用这道门,检查识别服务 /health 中活体为 loaded
回执为 executed 但继电器不响检查继电器接线和设备上配置的引脚。
一次靠近继电器响两次调大设备上的去抖时间后重测。
审计校验失败保留日志文件,检查是否有两个进程在写它。
事件不再上报但门仍能开摄像头在本地开门,检查它与 MQTT broker 1883 端口的连接。
部署完成后
  1. 已注册的人站到摄像头前:继电器响一次,管理界面出现放行事件。
  2. 马上退开再上前:管理界面出现 debounced,继电器不再响。
  3. 举起打印照片:管理界面出现 liveness_failed,继电器不响。
  4. 在管理界面「设备」页点开门:继电器响一次,回执为 executed
  5. 删除一个人:30 s 内门不再为他打开,回滚到仍包含此人的版本会被拒绝。
  6. 正式使用前:MQTT broker 改用 TLS 和按设备分配的账号,管理界面放到 HTTPS 后面。