Advertisement
alphauser420

finger

Oct 15th, 2023
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.24 KB | None | 0 0
  1. import time
  2. from pyfingerprint.pyfingerprint import PyFingerprint
  3. import RPi.GPIO as gpio
  4.  
  5. gpio.setwarnings(False)
  6. gpio.setmode(gpio.BCM)
  7.  
  8. led = 26
  9. enroll = 17
  10. delete = 18
  11. search = 19
  12. HIGH = 1
  13. LOW = 0
  14.  
  15. gpio.setup(led, gpio.OUT)
  16. gpio.setup(enroll, gpio.IN, pull_up_down = gpio.PUD_UP)
  17. gpio.setup(delete, gpio.IN, pull_up_down = gpio.PUD_UP)
  18. gpio.setup(search, gpio.IN, pull_up_down = gpio.PUD_UP)
  19.  
  20. try:
  21. f = PyFingerprint("/dev/ttyUSB0", 57600, 0xFFFFFFFF, 0x00000000)
  22. print("Fingerprint scanner ready")
  23. except Exception as e:
  24. print("Exception message : " + str(e))
  25.  
  26. def enroll_finger():
  27. print("enroll")
  28. time.sleep(2)
  29. print('Waiting for finger...')
  30. print("\nPlace Finger")
  31. while not f.readImage():
  32. pass
  33. f.convertImage(0x01)
  34. time.sleep(2)
  35. result = f.searchTemplate()
  36. positionNumber = result[0]
  37. if positionNumber >= 0:
  38. print('Template already exists at position #' + str(positionNumber))
  39. print("Finger already exists")
  40. time.sleep(2)
  41. return
  42. print('Remove finger...')
  43. time.sleep(2)
  44. print('Waiting for same finger again...')
  45. print("Place Finger Again")
  46. while not f.readImage():
  47. pass
  48. f.convertImage(0x02)
  49. if f.compareCharacteristics() == 0:
  50. print("Fingers do not match")
  51. time.sleep(2)
  52. return
  53. f.createTemplate()
  54. positionNumber = f.storeTemplate()
  55. print('Finger enrolled successfully!')
  56. print("Stored at Pos:")
  57. print(str(positionNumber))
  58. print("successfully")
  59. print('New template position #' + str(positionNumber))
  60. time.sleep(2)
  61.  
  62.  
  63. def delete_finger():
  64. print("delete")
  65. print('Place your finger on the sensor to delete a fingerprint...')
  66. gpio.output(led3, HIGH)
  67. while not f.readImage():
  68. pass
  69. f.convertImage(0x01)
  70. positionNumber = f.searchTemplate()[0]
  71. if positionNumber < 0:
  72. print('No matching fingerprint found!')
  73. else:
  74. f.deleteTemplate(positionNumber)
  75. print(f'Fingerprint at position {positionNumber} deleted.')
  76. gpio.output(led3, LOW)
  77.  
  78.  
  79.  
  80. def search_finger():
  81. print("search")
  82. print('Searching for finger...')
  83. time.sleep(2)
  84. while not f.readImage():
  85. pass
  86. f.convertImage(0x01)
  87. time.sleep(2)
  88. result = f.searchTemplate()
  89. positionNumber = result[0]
  90. accuracyScore = result[1]
  91. if positionNumber == -1:
  92. print('No match found!')
  93. time.sleep(2)
  94. return
  95. else:
  96. print('Found template at position #' + str(positionNumber))
  97. print("Found at Pos:")
  98. print(str(positionNumber))
  99. gpio.output(led2, HIGH)
  100. time.sleep(2)
  101. gpio.output(led2, LOW)
  102.  
  103.  
  104.  
  105. while 1:
  106. gpio.output(led, HIGH)
  107. if(gpio.input(enroll) == 0):
  108. enroll_finger()
  109. if(gpio.input(delete) == 0):
  110. delete_finger()
  111. if(gpio.input(search) == 0):
  112. search_finger()
  113.  
  114. except KeyboardInterrupt:
  115. gpio.cleanup()
  116.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement