- Необхідні компоненти:
- Електрична схема та пояснення:
- Встановлення бібліотеки для датчика відбитків пальців:
- Робота датчика відбитків пальців з Raspberry Pi:
- Програмування на Python:
Датчик відбитків пальців, який ми звикли бачити в науково-фантастичних фільмах кілька років тому, сьогодні став дуже поширеним явищем для перевірки особистості людини для різних цілей. В даний час ми бачимо системи, що базуються на відбитках пальців, скрізь у нашому повсякденному житті, такі як відвідування офісів, перевірка співробітників у банках, зняття готівки або депозити в банкоматах, перевірка особи в державних установах тощо. Ми вже взаємодіяли з Arduino, сьогодні ми збираємось взаємодіяти FingerPrint Sensor з Raspberry Pi. За допомогою цієї системи Raspberry Pi FingerPrint ми можемо реєструвати нові відбитки пальців у системі та видаляти вже подані відбитки пальців. Повна робота системи показана у відео, поданому в кінці статті.
Необхідні компоненти:
- Raspberry Pi
- Перетворювач USB в послідовний
- Модуль відбитків пальців
- Кнопки
- РК-дисплей 16x2
- 10к горщик
- Хлібна дошка або друкована плата (замовлено у JLCPCB)
- Провід перемички
- Світлодіод (додатково)
- Резистор 150 Ом -1 кОм (додатково)
Електрична схема та пояснення:
У цьому проекті взаємодії датчиків відбитків пальців Raspberry Pi ми використали 4 кнопки: одну для реєстрації нового відбитка пальця, одну для видалення вже поданих відбитків пальців та дві для збільшення / зменшення положення вже поданих відбитків пальців. Світлодіод використовується для вказівки, що датчик відбитків пальців готовий прийняти палець для узгодження. Тут ми використовували модуль відбитків пальців, який працює на UART. Отже, тут ми зв’язали цей модуль відбитків пальців із Raspberry Pi за допомогою перетворювача USB в послідовний.
Отже, перш за все, нам потрібно встановити всі необхідні з’єднання, як показано на схемі нижче. Підключення прості, ми щойно підключили модуль відбитків пальців до порту USB Raspberry Pi за допомогою перетворювача USB в послідовний. РК-дисплей 16x2 використовується для відображення всіх повідомлень. 10-казанний горщик також використовується з РК-дисплеєм для контролю контрастності цього ж. РК-висновки 16x2 RS, EN, d4, d5, d6 та d7 підключені до GPIO Pin 18, 23, 24, 25, 8 та 7 Raspberry Pi відповідно. Чотири кнопкові кнопки підключені до GPIO Pin 5, 6, 13 і 19 Raspberry Pi. Світлодіод також підключений на виводі 26 RPI.
Встановлення бібліотеки для датчика відбитків пальців:
Після встановлення всіх з’єднань нам потрібно увімкнути Raspberry Pi і підготувати його до відкритого терміналу. Тепер нам потрібно встановити бібліотеку відбитків пальців для Raspberry Pi мовою python, дотримуючись наведених нижче кроків.
Крок 1: Щоб встановити цю бібліотеку, потрібні права root. Отже, спочатку ми вводимо в root за заданою командою:
судо баш
Крок 2: Потім завантажте деякі необхідні пакети, використовуючи задані команди:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - apt-key add - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / etc / apt / sources.list.d /
Крок 3: Після цього нам потрібно оновити Raspberry pi та встановити завантажену бібліотеку датчика відбитків пальців:
sudo apt-get update sudo apt-get install python-fingerprint – так
Крок 4: Після встановлення бібліотеки нам зараз потрібно перевірити USB-порт, до якого підключений датчик відбитків пальців, за допомогою заданої команди:
ls / dev / ttyUSB *
Тепер замініть номер USB-порту на порт USB, який ви отримали над екраном, і замініть його в коді python. Повний код Python наведено в кінці цього проекту.
Робота датчика відбитків пальців з Raspberry Pi:
Робота з цим проектом проста, просто запустіть код python, і на РК-дисплеї з’являться деякі вступні повідомлення, після чого користувачеві буде запропоновано помістити палець на датчик відбитків пальців. Тепер, поклавши палець на модуль відбитків пальців, ми можемо перевірити, чи зберігаються наші відбитки пальців чи ні. Якщо ваш відбиток пальця зберігається, тоді на РК-дисплеї відображатиметься повідомлення з позицією зберігання відбитка, наприклад " Fount at Pos: 2", інакше відображатиметься "No Match Found" .
Тепер, щоб зареєструвати друк пальців , користувачеві потрібно натиснути кнопку реєстрації та слідувати інструкціям на РК-екрані.
Якщо користувач хоче видалити будь-який з відбитків пальців, користувач повинен натиснути кнопку видалення. Після чого РК-дисплей запитає місце відбитка пальця, який слід видалити. Тепер, використовуючи ще дві кнопки для збільшення та зменшення, користувач може вибрати позицію збереженого відбитка пальця та натиснути кнопку реєстрації (в цей час кнопка реєстрації працює як кнопка Ok), щоб видалити цей відбиток пальця. Для більшого розуміння погляньте на відео, подане в кінці проекту.
Програмування на Python:
Python для взаємодії датчика відбитків пальців з RPi легко за допомогою функцій бібліотеки відбитків пальців. Але якщо користувач хоче взаємодіяти з ним сам, тоді це буде трохи важко вперше. У таблицях даних датчиків відбитків пальців подано все, що потрібно для взаємодії одного і того ж модуля. Код GitHub доступний для тестування вашого Raspberry pi за допомогою датчика відбитків пальців.
Тут ми використовували бібліотеку, тому нам просто потрібно викликати функцію бібліотеки. У коді спочатку нам потрібно імпортувати такі бібліотеки, як відбитки пальців, GPIO та час, потім нам потрібно визначити шпильки для РК, світлодіодів та кнопок.
час імпорту з pyfingerprint.pyfingerprint імпорт PyFingerprint імпорт RPi.GPIO як gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 реєстрація = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LOW = 0
Після цього нам потрібно ініціалізувати та дати вказівки обраним контактам
gpio.setwarnings (False) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (enroll, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (delet, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (inc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Тепер ми ініціалізували датчик відбитків пальців
спробуйте: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000), якщо (f.verifyPassword () == False): підніміть ValueError ('Даний пароль датчика відбитків помилковий!'), за винятком як e: print ('Повідомлення про виняток:' + str (e)) exit (1)
Ми написали деяку функцію для ініціалізації та керування РК-дисплеєм, перевірте повний код нижче в розділі коду:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Після написання всіх функцій драйвера РК-дисплею ми розмістили функції для реєстрації, пошуку та видалення відбитків пальців.
def enroll Функція Finger () використовується для реєстрації або збереження нових відбитків пальців.
Захист searchFinger () функція використовується для searthc вже збережених відбитків пальців
DEF deleteFinger () functinos використовується для deoted вже збереженого відбитку пальця, натиснувши correspontind кнопку.
Код усієї наведеної вище функції отримує код python, наведений нижче.
Після цього, нарешті, нам потрібно ініціалізувати систему, впродовж 1 циклу, попросивши помістити палець на датчик відбитків пальців, а потім система перевірить, чи є цей відбиток пальцем дійсним чи ні, і відповідно відобразить результати.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint) time.sleep (3) прапор = 0 lcdclear (), тоді як 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Розмістити палець") якщо gpio.input (enroll) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW), а gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Повний код Python та робоче відео наведено нижче.