指纹模块/Fingerprint

此模块拥有录入指纹,检测指纹等功能。

录入指纹到指定编号

Fingerprint.enroll(id=1)
录入指纹时需要填写编号,执行检测指纹函数时返回对应编号
同一个编号被重复录入指纹时,保存最新录入的指纹信息
录入指纹过程需要采集同一个指纹三次,每一次采集成功圆圈指示灯亮绿灯,采集失败亮红灯,连续三次采集成功才可录入指纹
调用该函数后不能被其他程序打断,只能等待指纹采集成功或者复位
参数:id (int) – 录入指纹的编号

Examples

# 录入指纹后验证指纹
from wonderbits import Fingerprint, Display

fingerprint1 = Fingerprint()
display1 = Display()

# 录入指纹到编号1
fingerprint1.enroll(1)

# 录入成功后,把手指放到传感器上检测检测成功会返回指纹编号
while True:
    display1.print(1, 1, fingerprint1.get_verified_id())

获取识别到的用户编号

Fingerprint.get_verified_id()
在检测到指纹前一直返回0,当检测到指纹会返回检测到的指纹编号
返回:指纹编号,范围 0~100
返回类型:int

Examples

未提供。可参考 enroll 的使用案例

是否被触摸

Fingerprint.is_touched()
传感器被触摸返回True,否则返回False
返回:
True:传感器被触摸
False:传感器没有被触摸
返回类型:bool

Examples

# 显示传感器的触摸状态
from wonderbits import Fingerprint, Display

fingerprint1 = Fingerprint()
display1 = Display()

while True:
    display1.print(1, 1, fingerprint1.is_touched())

获取录入用户数量

Fingerprint.get_user_num()
返回:已录入指纹数量,范围 0~100
返回类型:int

Examples

# 打印录入的指纹数量,然后删除全部指纹并再次打印录入指纹数量
from wonderbits import Fingerprint
import time

fingerprint1 = Fingerprint()

print(fingerprint1.get_user_num())

fingerprint1.delete()
time.sleep(3)

print(fingerprint1.get_user_num())

删除用户

Fingerprint.delete(id=0)
无参数为删除全部指纹
参数:id (int) – 删除指纹的编号,可不填

Examples

未提供。可参考 get_user_num 的使用案例

当检测到某用户

Fingerprint.when_user_verified(id=1)
当检测到某用户时,执行被修饰的函数
参数:id (int) – 检测到对应的指纹编号才会触发事件。范围:1~100

Examples

# 当fingerprint1检测到指纹对应的指纹编号为1是,打印 'success'

from wonderbits import Fingerprint

fingerprint1 = Fingerprint()

@fingerprint1.when_user_verified(1)
def run1(val):
    print('success')

while True:
    pass

当传感器被触摸

Fingerprint.when_touched()
当传感器被触摸时,执行被修饰的函数

Examples

# 触摸fingerprint1会在display1模块中显示i的值,并且将i的值加1

from wonderbits import Fingerprint,Display

display1 = Display()
fingerprint1 = Fingerprint()

i = 0

@fingerprint1.when_touched()
def run1(val):
    global i
    display1.print(1, 1, i)
    i += 1

while True:
    pass

当完成检测时

Fingerprint.when_verification_finished()
当完成检测时,执行被修饰的函数

Examples

# 当fingerprint1检测完成会在display1模块中显示检测指纹对应的编号

from wonderbits import Fingerprint,Display

display1 = Display()
fingerprint1 = Fingerprint()

@fingerprint1.when_verification_finished()
def run1(val):
    display1.print(1, 1, val)

while True:
    pass

事件源

Fingerprint.Fingerprint.source_touch

touch事件源

Fingerprint.Fingerprint.source_verified_id

verified_id事件源