指纹模块
指纹模块用于管理门锁的指纹识别功能,包括指纹的录入、修改、删除和注册过程反馈。
概述
指纹模块通过通用扩展指令(0x3030)实现,使用不同的子指令码区分具体操作。
指纹注册是一个多步交互流程:
- APP 发送注册开始指令
- 用户在门锁上多次按压手指(通常需要 6-8 次)
- 门锁在每次按压后推送过程消息
- 注册完成后门锁推送确认消息
- APP 可随时取消注册
通用扩展指令
所有指纹操作使用父指令 0x3030,通过子指令码区分具体功能。数据包格式参考 数据包格式。
注册指纹开始
启动指纹注册流程,支持限时、循环、胁迫等高级设置。
子指令码
36
请求参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| KeyID | 字符串 | 40 | 钥匙 ID |
| UserID | 字符串 | 20 | 用户 ID |
| FingerNo | 整型 | 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 | 最大注册次数(需要按压的次数) |
注册指纹取消
取消正在进行的指纹注册流程。
子指令码
37
请求参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| KeyID | 字符串 | 40 | 钥匙 ID |
| UserID | 字符串 | 20 | 用户 ID |
响应参数
无
注册指纹确认
门锁在指纹注册完成后主动推送此消息给 APP。
子指令码
32
请求参数
无(由门锁主动推送)
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Status | 整型 | 1 | 处理状态 |
| No | 整型 | 2 | 门锁上的序号 |
说明
门锁收到 APP 确认后,注册成功。
注册指纹过程
门锁在用户每次按压手指后主动推送此消息,用于显示注册进度。
子指令码
33
请求参数
无(由门锁主动推送)
响应参数
| 字段名称 | 类型 | 长度 | 说明 |
|---|---|---|---|
| Status | 整型 | 1 | 注册状态 |
| RegIndex | 整型 | 1 | 当前注册次数 |
状态码说明
| 值 | 说明 |
|---|---|
0x00 | 成功,请再次按压手指 |
0xFF | 注册取消 |
0xFE | 管理员已满 |
0xFD | 用户已满 |
0xFC | 指纹已满 |
0xFB | 指纹已存在 |
