- Các thành phần bắt buộc:
- Sơ đồ mạch và giải thích:
- Cài đặt Thư viện cho Cảm biến Dấu vân tay:
- Hoạt động của cảm biến vân tay với Raspberry Pi:
- Lập trình Python:
Cảm biến vân tay, mà chúng ta từng thấy trong các phần mềm Khoa học viễn tưởng vài năm trước, giờ đây đã trở nên rất phổ biến để xác minh danh tính của một người cho các mục đích khác nhau. Trong thời điểm hiện tại, chúng ta có thể thấy các hệ thống dựa trên dấu vân tay ở khắp mọi nơi trong cuộc sống hàng ngày của mình như để tham gia văn phòng, xác minh nhân viên trong ngân hàng, để rút tiền hoặc gửi tiền trong máy ATM, để xác minh danh tính trong văn phòng chính phủ, v.v. Chúng tôi đã giao tiếp nó với Arduino, hôm nay chúng ta sẽ giao diện Cảm biến FingerPrint với Raspberry Pi. Sử dụng Hệ thống FingerPrint Raspberry Pi này, chúng tôi có thể đăng ký các dấu vân tay mới trong hệ thống và có thể xóa các dấu vân tay đã được nạp. Hoạt động hoàn chỉnh của hệ thống đã được trình bày trong Video ở cuối bài viết.
Các thành phần bắt buộc:
- Raspberry Pi
- Bộ chuyển đổi USB sang nối tiếp
- Mô-đun vân tay
- Nút ấn
- LCD 16x2
- Hủ 10k
- Bread Board hoặc PCB (đặt hàng từ JLCPCB)
- Dây nhảy
- LED (tùy chọn)
- Điện trở 150 ohm -1 k ohm (tùy chọn)
Sơ đồ mạch và giải thích:
Trong dự án giao diện cảm biến vân tay Raspberry Pi này, chúng tôi đã sử dụng 4 nút nhấn: một nút để đăng ký pring ngón tay mới, một nút để xóa dấu vân tay đã được nạp và nút còn lại hai để tăng / giảm vị trí của dấu vân tay đã được nạp. Một đèn LED được sử dụng cho dấu hiệu cho thấy cảm biến vân tay đã sẵn sàng để đưa ngón tay để kết hợp. Ở đây chúng tôi đã sử dụng mô-đun vân tay hoạt động trên UART. Vì vậy, ở đây chúng tôi đã giao tiếp mô-đun vân tay này với Raspberry Pi bằng bộ chuyển đổi USB sang Serial.
Vì vậy, trước hết, chúng ta cần thực hiện tất cả các kết nối cần thiết như được hiển thị trong Sơ đồ mạch bên dưới. Kết nối rất đơn giản, chúng tôi vừa kết nối mô-đun vân tay với cổng USB Raspberry Pi bằng cách sử dụng bộ chuyển đổi USB sang Serial. Màn hình LCD 16x2 được sử dụng để hiển thị tất cả các tin nhắn. Nồi 10k cũng được sử dụng với màn hình LCD để kiểm soát độ tương phản. Các chân LCD 16x2 RS, EN, d4, d5, d6 và d7 được kết nối với các Chân GPIO 18, 23, 24, 25, 8 và 7 của Raspberry Pi tương ứng. Bốn nút nhấn được kết nối với GPIO Pin 5, 6, 13 và 19 của Raspberry Pi. Đèn LED cũng được kết nối ở chân 26 của RPI.
Cài đặt Thư viện cho Cảm biến Dấu vân tay:
Sau khi thực hiện tất cả các kết nối, chúng ta cần khởi động Raspberry Pi và chuẩn bị sẵn sàng khi mở thiết bị đầu cuối. Bây giờ chúng ta cần cài đặt thư viện vân tay cho Raspberry Pi bằng ngôn ngữ python bằng cách làm theo các bước dưới đây.
Bước 1: Để cài đặt thư viện này, cần có quyền root. Vì vậy, đầu tiên chúng ta nhập vào thư mục gốc bằng lệnh đã cho:
sudo bash
Bước 2: Sau đó tải xuống một số gói yêu cầu bằng cách sử dụng các lệnh đã cho:
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 /
Bước 3: Sau đó, chúng ta cần cập nhật Raspberry pi và cài đặt thư viện cảm biến vân tay đã tải xuống:
sudo apt-get update sudo apt-get install python-finger –yes
Bước 4: Sau khi cài đặt thư viện, bây giờ chúng ta cần kiểm tra cổng USB mà cảm biến vân tay của bạn được kết nối bằng cách sử dụng lệnh đã cho:
ls / dev / ttyUSB *
Bây giờ hãy thay thế số cổng USB, bằng cổng USB mà bạn có trên màn hình và thay thế nó trong mã python. Mã Python hoàn chỉnh được đưa ra ở cuối dự án này.
Hoạt động của cảm biến vân tay với Raspberry Pi:
Hoạt động của dự án này rất đơn giản, chỉ cần chạy mã python và sẽ có một số thông báo giới thiệu trên màn hình LCD và sau đó người dùng sẽ được yêu cầu Đặt ngón tay trên Cảm biến vân tay. Giờ đây, bằng cách đặt ngón tay lên mô-đun vân tay, chúng ta có thể kiểm tra xem dấu vân tay của mình đã được lưu trữ hay chưa. Nếu dấu vân tay của bạn được lưu trữ thì màn hình LCD sẽ hiển thị thông báo với vị trí lưu trữ của dấu vân tay như ' Fount at Pos: 2' nếu không sẽ hiển thị 'No Match Found' .
Bây giờ để đăng ký một ngón tay Print, người dùng cần nhấn nút đăng ký và làm theo thông báo hướng dẫn trên màn hình LCD.
Nếu người dùng muốn xóa bất kỳ dấu vân tay nào thì người dùng cần nhấn nút xóa. Sau đó, LCD sẽ hỏi vị trí của dấu vân tay sẽ được xóa. Bây giờ bằng cách sử dụng hai nút nhấn khác để tăng và giảm, người dùng có thể chọn vị trí của Dấu vân tay đã lưu và nhấn nút đăng ký (lúc này nút đăng ký hoạt động như nút Ok) để xóa dấu vân tay đó. Để hiểu thêm, hãy xem video được đưa ra ở cuối dự án.
Lập trình Python:
Python để giao tiếp Cảm biến vân tay với RPi dễ dàng bằng cách sử dụng các chức năng thư viện vân tay. Nhưng nếu người dùng muốn tự mình giao diện thì sẽ hơi khó khăn cho lần đầu tiên. Trong bảng dữ liệu cảm biến vân tay, mọi thứ được cung cấp cần thiết để giao tiếp cùng một mô-đun. Mã GitHub có sẵn để kiểm tra Raspberry pi của bạn với cảm biến Vân tay.
Ở đây chúng ta đã sử dụng thư viện nên chỉ cần gọi hàm thư viện. Trong mã, đầu tiên chúng ta cần nhập các thư viện như vân tay, GPIO và thời gian, sau đó chúng ta cần xác định các chân cho LCD, LED và các nút nhấn.
thời gian nhập từ pyfingerprint.pyfingerprint nhập PyFingerprint nhập RPi.GPIO dưới dạng gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 register = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 LOW = 0
Sau đó, chúng ta cần khởi tạo và đưa ra hướng cho các chân đã chọn
gpio.setwarnings (Sai) 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 (đăng ký, 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)
Bây giờ chúng tôi đã khởi chạy Cảm biến vân tay
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): raise ValueError ('Mật khẩu cảm biến vân tay đã cho là sai!') ngoại trừ Ngoại lệ là e: print ('Thông báo ngoại lệ:' + str (e)) exit (1)
Chúng tôi đã viết một số chức năng để khởi tạo và điều khiển màn hình LCD, hãy kiểm tra mã hoàn chỉnh bên dưới trong phần mã:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Sau khi viết tất cả các chức năng của trình điều khiển LCD, chúng tôi đã đặt các chức năng để ghi danh, tìm kiếm và xóa dấu vân tay.
Hàm def registerFinger () được sử dụng để đăng ký hoặc lưu các dấu vân tay mới. Hàm
def searchFinger () được sử dụng để tìm kiếm dấu vân tay đã được lưu trữ. Hàm
def deleteFinger () được sử dụng để xác định dấu vân tay đã được lưu bằng cách nhấn nút nhấn tương ứng.
Tất cả mã của hàm trên được cung cấp bằng mã python được đưa ra bên dưới.
Sau đó, cuối cùng, chúng ta cần phải khởi tạo hệ thống bởi trong khi 1 vòng lặp bằng cách đòi Nơi Finger trên cảm biến dấu vân tay và hệ thống sau đó sẽ kiểm tra xem ngón tay này in nó hợp lệ hay không và hiển thị kết quả phù hợp.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Hoan nghênh bạn") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") if gpio.input (register) == 0: gpio.output (led, LOW) registerFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) while gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Mã Python hoàn chỉnh và Video làm việc được cung cấp bên dưới.