全部文档
OneOS简介 硬件支持 编译构造工具 API参考文档 高级语言 用户编程手册 应用笔记 FAQ

class device.Finger

device.Finger 类是device模块下面的一个硬件类,用于对指纹模块的配置和控制,并提供对指纹设备的操作方法。

常量

类型 常量名称 含义
注册逻辑 Finger.ENROLL_LOGIC_NONE 设置注册时录入手指之间无逻辑关系
Finger.ENROLL_LOGIC_RELATED 设置注册时录入手指之间需有关联
Finger.ENROLL_LOGIC_UNRELATED 设置注册时录入手指之间需无关联
分数等级 Finger.SCORE_LEVEL1 设置对比阈值分数等级为1级
Finger.SCORE_LEVEL2 设置对比阈值分数等级为2级
Finger.SCORE_LEVEL3 设置对比阈值分数等级为3级
Finger.SCORE_LEVEL4 设置对比阈值分数等级为4级
Finger.SCORE_LEVEL5 设置对比阈值分数等级为5级
图像格式 Finger.IMAGE_NORMAL 设置采图时格式为原始图
Finger.IMAGE_PREPROCESSED 设置采图时格式为预处理图

注:1、当注册逻辑为需无关联时,则在此次注册指纹时,每次收录的指纹需无关联,若当前收录的指纹与之前收录的指纹相似,则会无法生成特征文件,并在生成特征文件时通知当前特征与之前特征有关联。本次比较只局限于本次注册过程中收录的指纹,不会与指纹库中的指纹进行比较。

​ 2、当注册逻辑为需有关联时,则在此次注册指纹时,每次收录的指纹需有关联,若当前收录的指纹与之前收录的指纹不相似,则会无法生成特征文件,并在生成特征文件时通知当前特征与之前特征无关联。本次比较只局限于本次注册过程中收录的指纹,不会与指纹库中的指纹进行比较

​ 3、分数等级越高,对比通过时要求越高。

​ 4、图像格式开启预处理后,采集的图像可以通过指纹芯片输出给应用开发者,但是开发者无法向指纹芯片传入图像,也不支持其相关的指纹算法功能。

​ 5、安全等级对上层透明,上层开发者不应对安全等级进行控制。

纹模组中关于LED灯相关常量

类型 常量名称 含义
灯模式 Finger.LED_MODE_NORMAL 设置灯模式为普通呼吸灯
Finger.LED_MODE_TWINK 设置灯模式为闪烁灯
Finger.LED_OPEN_ALLTIME 设置灯模式为常开
Finger.LED_CLOSE_ALLTIME 设置灯模式为常闭
Finger.LED_OPEN_GRADUAL 设置灯模式为渐开灯
Finger.LED_CLOSE_GRADUAL 设置灯模式为渐闭灯
灯颜色 Finger.LED_RED 灯为红色
Finger.LED_GREEN 灯为绿色
Finger.LED_BLUE 灯为蓝色

构造函数

构造函数 class device.Finger(scorelevel= Finger.SCORE_LEVEL3, image= Finger.IMAGE_PREPROCESSED)
功能 构造一个Finger对象
参数说明 Scorelevel:初始化图像对比阈值,默认为3级 Image:初始化采集图像的格式,默认为预处理图像
返回值 返回创建的Finger对象
其他说明 构造时会对Finger进行初始化,也可在init方法中进行初始化,该初始化应针对不同的硬件有不同的驱动进行对应设备的初始化动作。

实例方法

device.Finger类包括如下实例方法

通用方法:

方法名 说明
Finger.init() 初始化Finger对象
Finger.deinit() 关闭Finger对象
Finger.istouched() 判断是否有手指触摸
Finger.auto_enroll() 自动注册
Finger.auto_verify() 自动验证
Finger.sleep() 模块休眠
Finger.wakeup() 模块唤醒
Finger.delete_model() 删除指纹库中指定位置模板/清空模板
Finger.modelname() 获取模块厂家及型号

调试类方法:

方法名 说明
Finger.image_format() 查询/设置图像采集格式
Finger.score_level() 查询/设置指纹对比阈值
Finger.enroll_times() 查询/设置注册指纹次数
Finger.enroll_logic() 查询/设置注册逻辑
Finger.collect_enroll_image() 采集注册用指纹图像,并保存与图像缓冲区中
Finger.collect_verify_image() 采集验证用指纹图像,并保存与图像缓冲区中
Finger.get_image() 读取图像缓存区中的图像数据
Finger.put_image() 向图像缓存区中写入图像数据
Finger.gen_char() 将图像缓冲区中的图像数据生成指纹特征文件,并存于模板缓冲区中
Finger.gen_model() 将特征文件融合后生成一个模板,并存于模板缓冲区中(注册时使用)
Finger.store_model() 将模板缓冲区中的模板文件存储于指纹库Flash中(注册时使用)
Finger.get_model() 读取模板缓存区中的模板数据/指纹库中指定位置的模板数据
Finger.put_model() 向模板缓存区/指纹库中写入模板数据
Finger.model_info() 获取存储区模板状态
Finger.search_char() 以缓存区特征文件/传入特征文件搜索指纹库
Finger.match_outside() 精确对比传入的两个指纹模板/特征文件
Finger.match_inside() 精确对比传入的模板/特征文件与指纹库中指定指纹模板
Finger.led_control() Led灯控制

详细说明如下:

方法名称 Finger.init(scorelevel= Finger.SCORE_LEVEL3, image= Finger.IMAGE_PREPROCESSED)
功能 初始化Finger对象
参数说明 Scorelevel:初始化图像对比阈值,默认为3级 Image:初始化采集图像的格式,默认为预处理图像
返回值 固定返回None

注:该初始化动作应包括总线初始化设置,指纹模块初始化设置,如安全等级设置,抗假指模设置等。

方法名称 Finger.deinit()
功能 关闭Finger对象
参数说明 无参数
返回值 固定返回None

​ 注:关闭Finger对象后,需重新init才能正常使用Finger对象。

方法名称 Finger.istouched()
功能 判断是否有手指触摸
参数说明 无参数
返回值 有触摸返回True,无触摸返回False

注:对于指纹模块,若采用主动查询方式,可调用该方法查看触摸按键是否被触摸,若采用event被动触发方式,该方法可不进行实现。

方法名称 Finger.auto_enroll(times=3,*, interval=0, image=Finger.IMAGE_PREPROCESSED, logic=Finger.ENROLL_LOGIC_NONE, repeat=0, led=0, callback_fun=None)
功能 自动注册
参数说明 times:设置注册次数,默认为3次 interval:设置多次采集指纹时,是否要求手指离开才能进入下一次指纹采集,0-要求离开,1-不要求离开; image:设置采集时图像格式 logic:设置自动注册逻辑 repeat:设置是否允许重复注册,0:不允许,1:允许 led:采图背光灯设置,0-长亮,1-获取图像成功后熄灭 callback_fun:设置每当完成一次指纹注册后的回调函数,调用该函数时,参数传递如下:若当次采集成功,参数为0,若失败,传入对应的异常值。
返回值 成功注册返回指纹库位置号

​ 注:该方法包括注册指纹时的完整流程,如注册指纹采集,特征生成,模板合成和模板存储。

方法名称 Finger.auto_verify(level=Finger.SCORE_LEVEL3,image=Finger.IMAGE_PREPROCESSED, led=1)
功能 自动验证
参数说明 Level:设置比阈值分数等级 image:设置采集时图像格式 led:采图背光灯设置,0-长亮,1-获取图像成功后熄灭
返回值 验证通过返回匹配指纹的模板对应的pageid, 未通过返回0
方法名称 Finger.sleep()
功能 模块休眠
参数说明
返回值 固定返回None
方法名称 Finger.wakeup()
功能 模块唤醒
参数说明
返回值 固定返回None

​ 注:该方法可主动唤醒休眠的指纹模组,使用时应注意不应在触摸中断触发时进行调用,当触摸中断检测到有手指触摸时,底层驱动会自动唤醒休眠的模组,无需主动调用唤醒方法。

方法名称 Finger.delete_model([pageid])
功能 删除指纹库中指定位置模板/清空模板
参数说明 [pageid]:指纹库中的位置号,该参数为可选参数,传入该参数时,删除指定位置的指纹模板,未传入参数时,清空指纹库中所有的模板。
返回值 固定返回None
方法名称 Finger.modelname()
功能 获取模块厂家及型号
参数说明
返回值 返回模块厂家名称及型号
方法名称 Finger.image_format([format])
功能 查询/设置图像采集格式
参数说明 [format]:图像格式,该参数为可选参数,传入该参数时,方法功能为设置图像采集格式,可选参数见Finger常量中图像格式部分相关常量; 未传入该参数时,功能为获取当前的图像采集格式
返回值 当前图像采集格式/None
方法名称 Finger.score_level([level])
功能 查询/设置指纹对比阈值
参数说明 [level]:对比阈值,该参数为可选参数,传入该参数时,方法功能为设置指纹对比阈值分数等级,可选参数见Finger常量中分数等级部分相关常量; 未传入该参数时,功能为获取当前对比分数等级
返回值 当前对比分数等级/None
方法名称 Finger.enroll_times([times])
功能 查询/设置注册指纹次数
参数说明 [times]:注册指纹次数,该参数为可选参数,传入该参数时,方法功能为设置注册指纹次数,范围0~FFFF; 未传入该参数时,功能为获取当前注册指纹次数
返回值 当前注册指纹次数/None
方法名称 Finger.enroll_logic([logic])
功能 查询/设置注册逻辑
参数说明 [logic]:注册指纹逻辑,该参数为可选参数,传入该参数时,方法功能为设置注册指纹逻辑,可选参数见Finger常量中注册逻辑部分相关常量; 未传入该参数时,功能为获取当前注册指纹逻辑
返回值 当前注册指纹逻辑/None
方法名称 Finger.collect_enroll_image()
功能 采集注册用指纹图像,并保存与图像缓冲区中
参数说明
返回值 成功返回0
异常说明 失败时,触发异常FingerError,若异常为收包有错,携带异常值1;若异常为传感器无指纹,携带异常值2
方法名称 Finger.collect_verify_image()
功能 采集验证用指纹图像,并保存与图像缓冲区中
参数说明
返回值 成功返回0
异常说明 失败时,触发异常FingerError,若异常为收包有错,携带异常值1;若异常为传感器无指纹,携带异常值2
方法名称 Finger.get_image()
功能 读取图像缓存区中的图像数据
参数说明
返回值 若获取成功,以bytes形式返回获取到的图像数据; 若获取失败,返回None
方法名称 Finger.put_image(buf)
功能 向图像缓存区中写入图像数据
参数说明 buf:欲写入的图像数据,bytes类型
返回值 返回写入的数据长度
方法名称 Finger.gen_char()
功能 将图像缓冲区中的图像数据生成指纹特征文件,并存于模板缓冲区中
参数说明
返回值 成功返回0
异常说明 失败时,触发异常FingerError, 若异常为收包有错,携带异常值1; 若异常为指纹图像太乱而生不成特征值,携带异常值6 若异常为指纹图像正常但特征点太小而生不成特征,携带异常值7 若异常为当前指纹特征与之前特征之间无关联,携带异常值8 若异常为合并失败,携带异常值0xa 若异常为图像缓冲区内没有有效原始图像而生不成图像,携带异常值0x15 若异常为当前指纹特征与之前特征之间有关联,携带异常值0x28
方法名称 Finger.gen_model()
功能 将特征文件融合后生成一个模板,并存于模板缓冲区中
参数说明
返回值 成功返回0
异常说明 失败时,触发异常FingerError, 若异常为收包有错,携带异常值1; 若异常为合并失败,携带异常值0xa

注:该方法在指纹注册时使用

方法名称 Finger.store_model()
功能 将模板缓冲区中的模板文件存储于指纹库Flash中
参数说明
返回值 成功返回pageid:指纹库位置号
异常说明 失败时,触发异常FingerError, 若异常为写Flash失败,携带异常值0x18; 若异常为非法数据,携带异常值0x35

注:该方法在指纹注册时使用

方法名称 Finger.get_model([pageid])
功能 读取模板缓存区中的模板数据/指纹库中指定位置的模板数据
参数说明 [pageid]:指纹库位置号,传入该参数时,从指纹库Flash中获取指纹模板,未传入时,从缓冲区中获取指纹模板
返回值 成功以bytes返回获取的模板
异常说明 失败时,触发异常FingerError, 若异常为收包有错,携带异常值0x1 若异常为pageid超出指纹库范围,携带异常值0xb; 若异常为读出有错,携带异常值0xc

方法名称 Finger.put_model(buf,flag)
功能 读取模板缓存区中的模板数据/指纹库中指定位置的模板数据
参数说明 buf:欲传入的指纹模板 flag:0表示传入模板缓冲区 1表示传入指纹库
返回值 flag为1时:成功返回指纹库位置号pageid;flag为0时:成功返回0
异常说明 失败时,触发异常FingerError, 若异常为收包有错,携带异常值0x1 若异常为不能接收后续数据包,携带异常值0xe
方法名称 Finger.model_info([pageid])
功能 获取存储区模板状态
参数说明 [pageid]:指纹库位置号,该参数为可选参数,传入该参数时,功能为获取该位置是否存储有效模板,未传入参数时, 功能为获取指纹库有效模板个数及剩余空闲个数
返回值 传入参数时,若指定指纹库有有效模板,返回True,否则返回False; 未传入参数时,以字典的形式返回指纹库有效模板个数及剩余空闲个数,如{used:xxx, free:xxx};
方法名称 Finger.search_char([buf])
功能 以缓存区特征文件搜索指纹库/传入特征文件搜索指纹库
参数说明 [buf]:传入的特征文件,该参数为可选参数,传入该参数时,以传入的特征进行搜索;未传入参数时,以缓冲区中的特征文件进行搜索
返回值 若搜索到返回pageid 未搜索到返回0
方法名称 Finger.match(buf1,buf2)
功能 对比两个指纹模板/特征文件
参数说明 buf1,buf2为欲对比的两个指纹模板或特征文件
返回值 指纹匹配返回True 不匹配返回False
方法名称 Finger.match_outside(buf1,buf2)
功能 精确对比传入的两个指纹模板/特征文件
参数说明 buf1,buf2为欲对比的两个指纹模板或特征文件
返回值 指纹匹配返回True 不匹配返回False
方法名称 Finger.match_ inside(buf,pageid)
功能 精确对比传入的模板/特征文件与指纹库中指定指纹模板
参数说明 buf:传入的指纹模板或特征文件 pageid:指纹库中指定位置的模板位置号
返回值 指纹匹配返回True 不匹配返回False
方法名称 Finger.led_control(mode,color,period=36, times=-1,[,color_end])
功能 Led灯控制
参数说明 mode:设置LED呼吸灯模式,可选参数见Finger常量中LED灯模式部分相关常量; color:设置灯起始颜色,可选参数见Finger常量中LED灯颜色部分相关常量 period:设置呼吸灯一次呼吸的时间长度,范围为1~100,单位为0.1s,即每次呼吸时间范围为0.1~10s,该参数只在普通呼吸灯模式和闪烁灯模式时有效,默认3.6s。 times:设置呼吸次数,该参数只在普通呼吸灯模式和闪烁灯模式时有效,不传入时,默认无限循环。 [color_end]:呼吸灯结束颜色,该参数只在普通呼吸灯模式下有效,其他模式可不进行设置,默认与起始颜色一致。
返回值 固定返回None

results matching ""

    No results matching ""

    返回顶部