# 前端网址
- http://103.21.119.84:17000/message/messagev2.html
# 情况异常
# 第一种情况 (可以复现)
- 采集指纹一 (食指)
- 采集指纹二 (中指)
- 删除指纹
- 认证指纹 (食指) -> 成功
- 认证指纹 (中指) -> 成功
- 刷新页面后 再次点击删除
- 最后删除成功
- 总结: 在页面不刷新的情况下,删除一次和删除多次情况是一样的,都是可以匹配上的
- 原因:在页面刷新后,
# 第二种情况
- 采集指纹一 (食指)
- 采集指纹二 (中指)
- 采集指纹二 (无名指)
- 采集指纹二 (小指)
- 四个手指的指纹都可以匹配上
# 第三种情况
- 在认证步骤连续点击两次认证情况,会发生 下发与认证错乱.
- 在认证超时之后,指纹后录入情况,会发生 下发与认证错乱.
# 交互方式
- 连接 U 盾
- 测试 u 盾连接情况
- 采集 SN
- 获取安全 U 盾编号
- 采集身份证号
- 待开发
- 采集指纹
- 录入指纹一 和 指纹二 ,并存入 U 盾模组
- 删除指纹
- 将之前存储在模组中的指纹信息给删除 (全部清空)
- 安全认证 (比对)
- 下发 FP_UP 指令 (指录入当前指纹)
- 对比 (将当前指纹,与之前存入模组间的指纹匹配)
- 删除当前指纹信息
- 删除身份证号
- 待开发
- 获取指纹信息
- 当前指纹如果匹配失败,可以根据 index 获取当前指纹信息
如果只录入一条指纹情况,错误指纹 index 如下
verify finger info one index: 116
如果录入两条指纹情况,错误指纹 index 如下
verify finger info more index: 100
# 指令
- 侦测到指纹指令
- CMD_FP_DETECT
- 0x50
- 指纹采集指令 - 仅要求比对结果
- CMD_FP_CHECH
- 0x50
- 指纹采集指令 - 指纹信息传输指令,从 host 传输到指纹终端用于比对
- CMD_FP_TRANS
- 0x50
- 指纹采集指令 - 根据指纹索引号,获取 0x50 0x17 下发的指纹信息
- CMD_FP_GET
- 0x50
- 指纹采集指令 - 采集指纹信息注册到指纹模组
- CMD_FP_REG
- 0x50
- 指纹采集指令 - 删除指纹指令
- CMD_FP_DEL
- 0x50
- 获取指纹模组序列 ID 指令
- CMD_FPRS_CHIPID
- 0x50
- 设置指纹模组序列 ID 指令
- CMD_FPWS_CHIPID
- 0x50
- 设置 / 读取 SN
- CMD_CONFIG_CMD
- 删除保存的身份证信息
- CMD_DEL_ID
- 保存身份证信息
- CMD_ADD_ID
- 读取保存的身份证信息
- CMD_RDSA_ID
- 设置标识信息
- CMD_ADD_FLAG
- 读取标识标识
- CMD_RD_FLAG
- 蜂鸣器操作
- CMD_BUZZER
0x7c
0x7d
0x7E
0x7F
0x80
0x81
0x51
0x10 (0x01||0x00)
0x11 (0x01||0x00)
0x17 (0x01||0x00) 0xXX 0xXX (两个字节指纹信息长度) 0xXX 0xXX 0xXX ... 指纹信息
0x18 (0x01||0x00)0xII 0xII (指纹索引) 0xXX 0xXX(两字节信息长度)0xXX 0xXX 0xXX ... 指纹信息
0x12 (0x01||0x00)0xII 0xII (指纹索引) 0xXX 0xXX(两字节信息长度)0xXX 0xXX 0xXX ... 指纹信息
0x13 (0x01||0x00) 0xXX 0xXX 0xYY 0xYY
0x14 (0x01||0x00)(16 个字节)
0x15 (0x01||0x00)(16 个字节)
SUBCMD+LEN+DATA
0(1 字节数据,值为 0,表示清除设备中保存的数据)
18 字节身份证号
0x7F 0xXX 0xXX ...(18 位身份证号码)
0x80 (0x01||0x00) 0xXX 0xXX ...(16 位信息标识)
0x81 0xXX 0xXX ...(16 位信息标识)
1 - 长响 1 声,用于操作成功情况下;2 - 连续短响 2 声,用于出现错误情况下;
指纹模组发送给上位机表示指纹模组侦测到指纹,上位机发送给指纹模组表示上位查询指纹信息 0x00 - 无 0x01 - 有
" 上位机发送到指纹模组表示需要进行用户指纹或身份证认证,指令:0x11;
指纹模组发送给上位机表示认证结果:0x00 - 失败 0x01 - 成功
指令:0x11 0x01||0x00 (成功 || 失败)
认证完成后,需要上位机发送删除指纹指令,清除指纹模组中缓存的指纹信息,指纹索引是 0x00 0x64 至 0x01 0xF4,删除指纹指令:0x13"
" 上位机发送到指纹模组表示传输指纹信息,指令:0x17 0xXX 0xXX (两个字节指纹信息长度) 0xXX 0xXX 0xXX ... 指纹信息
指纹模组发送给上位机表示指纹传输结果 (0x00 - 失败 0x01 - 成功)
指令:0x17 0x01||0x00 (成功 || 失败) (0xII 0xXII)(上传成功后,终端保存指纹信息,并返回保存两个指纹信息的索引号)"
" 上位机发送到指纹模组表示获取 0x50 0x17 指令上送至终端的指纹信息,指令:0x18 0xII 0xII 两位指纹索引
指纹模组发送给上位机表示获取指纹信息结果与指纹信息 (0x00 - 失败 0x01 - 成功)
指令:0x18 0x01||0x00 (成功 || 失败) 0xII 0xII (指纹索引) 0xXX 0xXX (两个字节指纹信息长度) 0xXX 0xXX 0xXX ... 指纹信息
指纹数据长度一般是 1008 个字节,预留 2024 个字节 "
" 上位机发送到指纹模组表示采集指纹信息,指令:0x12 (0x00||0xAA) 注:0x00: 表示终端不需要保存指纹信息;0xAA:表示终端需要保存指纹信息
指纹模组发送给上位机表示采集指纹信息结果与指纹信息 (0x00 - 失败 0x01 - 成功)
指令:0x12 0x01||0x00 (成功 || 失败) 0xII 0xII (指纹索引) 0xXX 0xXX (两个字节指纹信息长度) 0xXX 0xXX 0xXX ... 指纹信息
注:当终端不需要指纹信息时,指纹索引为 0x00 0x00
指纹数据长度一般是 1008 个字节,预留 2024 个字节 "
" 上位机发送给指纹模组表示需要删除指纹:指令:0x13 0xXX 0xXX 0xYY 0xYY
0xXX 0xXX:两字节删除指纹开始索引;
0xYY 0xYY:两字节删除指纹结束索引;
删除相同指纹时,0xXX 0xXX: == 0xYY 0xYY
指纹模组发送给上位机表示删除指纹结果;指令:0x13 0x01||0x00 (成功 || 失败)"
设置时,直接 16 个;
SUBCMD:0 - 读取 SN,1 - 设置 SN;LEN:SN 数据的长度;DATA:SN 的内容;
删除保存的身份证信息
" 上位机发送到设备表示读取设备中保存的身份证号信息,指令:0x7F
设备发送给上位机表示读取结果
指令:0x7F 0xXX 0xXX ...(18 位身份证号码)如果设备中没有保存身份证信息,则身份证号码是 18 个 0xFF"
" 上位机发送到设备表示设置标识信息,指令:0x80 0xXX 0xXX ...(16 位信息标识)
设备发送给上位机表示设置结果
指令:0x80 0x01||0x00 注:0x01 - 成功 0x00 - 失败 "
" 上位机发送到设备表示读取标识信息,指令:0x81
设备发送给上位机表示读取结果
指令:0x81 0xXX 0xXX ...(16 位信息标识) 注:失败 - 16 个 0xFF"

