人脸模块
人脸模块用于管理门锁的 3D 人脸识别功能,包括人脸的录入、修改、删除和注册过程反馈。
概述
人脸模块通过通用扩展指令(0x3030)实现,使用不同的子指令码区分具体操作。
人脸注册是一个交互式流程:
- APP 发送注册开始指令
- 用户在门锁前进行人脸采集(可能需要多角度)
- 门锁在采集过程中推送进度消息
- 注册完成后门锁推送确认消息
- APP 可随时取消注册
通用扩展指令
所有人脸操作使用父指令 0x3030,通过子指令码区分具体功能。数据包格式参考 数据包格式。
注册人脸开始
启动人脸注册流程,支持限时、循环、胁迫等高级设置。
子指令码
81
请求参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| KeyID | 字符串 | 40 | 钥匙 ID |
| UserID | 字符串 | 20 | 用户 ID |
| FaceNo | 整型 | 2 | 人脸序号(可任意设置,以返回为准) |
| UseCountLimit | 整型 | 2 | 使用次数限制0xFFFF: 不限次数 |
| Operate | 整型 | 1 | 操作类型0: 注册1: 修改2: 删除3: 删除全部 |
| IsAdmin | 整型 | 1 | 是否管理员人脸 |
| IsForce | 整型 | 1 | 是否胁迫人脸 |
| Token | 整型 | 4 | 动态口令 |
| IsRound | 整型 | 1 | 是否循环使用 |
| WeekRound | 整型 | 1 | 循环周期 Bit0-6 置位分别代表周日至周六 |
| StartDate | 整型 | 4 | 生效日期(UNIX 时间) |
| EndDate | 整型 | 4 | 失效日期(UNIX 时间) |
| StartTime | 整型 | 4 | 每日生效时间(UNIX 时间) |
| EndTime | 整型 | 4 | 每日失效时间(UNIX 时间) |
| AuthCodeLen | 整型 | 1 | 鉴权码长度 |
| AuthCode | 字符串 | 变长 | 鉴权码 |
鉴权码计算
鉴权码计算方法参考 加密与签名 文档。
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Token | 整型 | 4 | 动态口令 |
| No | 整型 | 2 | 门锁上的序号 |
| MaxRegCount | 整型 | 1 | 最大注册次数 |
注册人脸确认
门锁在人脸注册完成后主动推送此消息给 APP。
子指令码
82
请求参数
无(由门锁主动推送)
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Status | 整型 | 1 | 处理状态 |
| No | 整型 | 2 | 门锁上的序号 |
说明
门锁收到 APP 确认后,注册成功。
注册人脸取消
取消正在进行的人脸注册流程。
子指令码
86
请求参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| KeyID | 字符串 | 40 | 钥匙 ID |
| UserID | 字符串 | 20 | 用户 ID |
响应参数
无
注册人脸过程
门锁在人脸采集过程中主动推送此消息,用于显示注册进度。
子指令码
83
请求参数
无(由门锁主动推送)
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Status | 整型 | 1 | 注册状态 |
| RegIndex | 整型 | 1 | 当前注册次数 |
状态码说明
| 值 | 说明 |
|---|---|
0x00 | 成功录入 1 个角度 |
0xFF | 注册取消 |
0xFE | 管理员已满 |
0xFD | 用户已满 |
0xFC | 人脸已满 |
0xFB | 人脸已存在 |
