在指纹传感器 PYTHON 上没有输入 15 秒后退出指纹程序

我有一个我自己无法解决的问题(我尝试了很多,time.time()但我从来没有解决我的问题)。如果 15 秒过去了,我希望我的程序退出并停止等待手指。如果有人知道如何在 python 中做到这一点,我会非常高兴和感激!非常感谢!问我是否有任何问题!代码在下面!


import sys

import os

sys.path.insert(0, '/home/pi/scripts')

import subprocess

import lcddriver

from time import *



lcd = lcddriver.lcd()

lcd.lcd_clear()


import hashlib

from pyfingerprint.pyfingerprint import PyFingerprint



## Tries to initialize the sensor

try:

f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000)


if ( f.verifyPassword() == False ):

    raise ValueError('The given fingerprint sensor password is wrong!')


except Exception as e:

lcd.lcd_display_string('Initialization failed!', 2)

print('Exception message: ' + str(e))

exit(1)


## Gets some sensor information

print('Currently used templates: ' + str(f.getTemplateCount()) +'/'+ 

str(f.getStorageCapacity()))


## Tries to search the finger and calculate hash

try:

 f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000)


if ( f.verifyPassword() == False ):

    raise ValueError('The given fingerprint sensor password is wrong!')


except Exception as e:

lcd.lcd_display_string('Initialization failed!', 2)

print('Exception message: ' + str(e))

exit(1)


## Gets some sensor information

print('Currently used templates: ' + str(f.getTemplateCount()) +'/'+ 

str(f.getStorageCapacity()))


## Tries to search the finger and calculate hash

try:

lcd.lcd_display_string(' Waiting for finger', 2)


## Wait that finger is read

while ( f.readImage() == False ):

    pass


## Converts read image to characteristics and stores it in charbuffer 1

f.convertImage(0x01)


## Searchs template

result = f.searchTemplate()


positionNumber = result[0]

accuracyScore = result[1]

 if ( positionNumber == -1 ):


    os.system('python access_denied.py')

    exit(0)

 else:

    lcd.lcd_clear()

    lcd.lcd_display_string("  Finger accepted!", 2)

    sleep(1.5)

    lcd.lcd_clear()

    os.system('python keypad.py')



至尊宝的传说
浏览 175回答 2
2回答

GCT1015

你可以试试这个:timeout = time.time() + 15 # 15s from nowwhile True:   # do stuff    end_time = time.time()    if end_time > timeout or f.readImage():        break    else:        time.sleep(0.25) # sleep to reduce CPU usage
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python