BÁO CÁO BÀI TẬP LỚN THIẾT KẾ TỔNG HỢP HỆ THỐNG Thiết kế thiết bị chấm công bằng phương pháp trắc học nhận dạng vân tay sử dụng esp32 BÁO CÁO BÀI TẬP LỚN THIẾT KẾ TỔNG HỢP HỆ THỐNG Thiết kế thiết bị chấm công bằng phương pháp trắc học nhận dạng vân tay sử dụng esp32
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN THIẾT KẾ TỔNG HỢP HỆ THỐNG
Thiết kế thiết bị chấm công bằng phương pháp trắc học nhận dạng vân
tay sử dụng esp32
Trang 2MỤC LỤCTrang bìa
2.2 Tổng quan về nhận dạng vân tay
2.3 Giới thiệu về linh kiện
2.4 Các chuẩn giao tiếp
2.4.1 Chuẩn giao tiếp UART
2.4.2 Chuẩn giao tiếp SPI
2.4.3 Chuẩn giao tiếp I2C
2.4.4 Chuẩn giao tiếp One-wire
Chương 3: TÍNH TOÁN VÀ THIẾT KẾ
Trang 33.1 GIỚI THIỆU VÀ YÊU CẦU THIẾT KẾ3.1.1 Yêu cầu phi chức năng
3.1.2 Yêu cầu chức năng
3.1.3
3.1.4
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG3.2.1 Thiết kế sơ đồ khối hệ thống
Trang 4TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỘC LẬP – TỰ DO – HẠNH PHÚC
MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG
Hà Nội, ngày… tháng …… năm 2021
BÀI TẬP LỚN MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG
I TÊN ĐỀ TÀI: THIẾT KẾ THIẾT BỊ CHẤM CÔNG BẰNG PHƯƠNG PHÁP TRẮC HỌC
VÂN TAY SỬ DỤNG ESP32
III NGÀY GIAO NHIỆM VỤ: 01/04/2021
IV NGÀY HOÀN THÀNH NHIỆM VỤ:
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS
Trang 5TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỘC LẬP – TỰ DO – HẠNH PHÚC MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG
Hà Nội, ngày… tháng …… năm 2021LỊCH TRÌNH THỰC HIỆN
Thời gian bắt đầu/Thời
gian kết thúc
Nội dung nhiệm vụ Thành Viên thực hiện nhiệm vụ
Trang 6LỜI CAM ĐOAN
Đề tài này là do nhóm sinh viên nhóm 6 gồm các thành viên: Nguyễn Văn Dũng, Nguyễn Hữu Đức, Trần Xuân
Vũ, Nguyễn Đình Trường tự thực hiện, dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay dự ánnào đã có trước đó
Xin chân thành và cảm ơn!
Trang 7MỤC LỤC
Trang 8LIỆT KÊ HÌNH VẼ
Trang 9LIỆT KÊ BẢNG
Trang 10
Được sự gợi ý từ giáo viên hướng dẫn cũng như mong muốn tìm hiểu các công nghệ đang phát triển trênthế giới Nên nhóm thực hiện đồ án này với mong muốn chế tạo ra một hệ thống chấm công Hệ thống quét vântay sử dụng kit ESP32 DEVKIT V1.
Hệ thống bao gồm điểm danh nhân viên bằng hệ thống quét vân tay Quá trình quét vân tay được gửi lêngoogle sheet nhắm ghi chép thời gian điểm danh của nhân viên gồm ID, MSNV, Name… Hệ thống cho phépthêm vân tay …
Mô hình sử dụng ESP32 DEVKIT V1 làm vi điều khiển trung tâm dể điều khiển các module mở rộngnhư cảm biến vân tay R305, LCD16x2, Module SD,…
Trang 11CHƯƠNG 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Trong thời đại ngày nay, sự phát triển không ngừng của không học kỹ thuật đã giúp cho conngười thuận tiện hơn trong các công việc hàng ngày Với sự bùng nổ về công nghệ thông tin, quá trìnhtoàn cầu hóa diễn ra nhanh chóng, sự bảo mật riêng tư thông tin cá nhân cũng như để nhận biết mộtngười nào đó trong hàng tỉ người trên trái đất đòi hỏi phải có một tiêu chuẩn, hệ thống đảm nhận cácchức năng đó Công nghệ sinh trắc ra đời và đáp ứng được các yêu cầu trên
Nhiều công nghệ sinh trắc đã và đang được phát triển, một số chúng đang được sử dụng trongcác ứng dụng thực tế và phát huy hiệu quả cao Các đặc trưng sinh trắc thường được sử dụng là vân tay,gương mặt, mống mắt, tiếng nói Mỗi đặc trưng sinh trắc có điểm mạnh và điểm yêu riêng, nên việc sửdụng đặc trưng sinh trắc cụ thể là tùy thuộc vào yêu cầu của mỗi ứng dụng nhất định Nhận dạng vân tayđược xem là một trong những kỹ thuật nhận dạng hoàn thiện và đáng tin cậy nhất
Nhóm sinh viên quyết định thực hiện đề tài “Thiết kế thiết bị chấm công bằng phương pháp trắchọc nhân dạng vân tay sử dụng esp32” nhằm mục đích kiểm soát tốt hơn trong việc quản lí nhân viêntrong các công ty
Dấu vân tay của mỗi cá nhân là độc nhất và không thay đổi trong suốt cuộc đời Vân tay là mộttham số sinh học bất biến theo tuổi tác đặc trưng cho mỗi cá thể Mạng internet đang ngày càng pháttriển, nhờ có nó mà cuộc sống và công việc của con người càng ngày càng hiện đại hơn Vì vậy, việctruyền dữ liệu lên mạng quản lí dữ liệu vân tay bằng internent trở nên tiện lợi, nhanh chóng và chínhxác Mặt khác, việc phát triển không ngừng của vi xử lí đã cho ra đời nhiều loại sản phẩm thông minhnhỏ gọn, tích hợp nhiều chức năng cho người dùng dễ sử dụng Không thể không kể đến ESP32DEVKIT V1- một sản phẩm được sử dụng trên toàn cầu và có cộng đồng người dùng rất lớn ESP32DEVKIT V1 có thể kết hợp với nhiều module khác để tạo nên những ứng dụng thiết thực cho cuộc sốnghiện đại hiện nay Với những đặc tính trên, nhóm đã quyết định thực hiện mô hình bao gồm ESP32,module cảm biến vân tay, màn hình lcd, module i2c lcd, module SD để làm một hệ thống quét vân tayquản lí nhân viên và gửi dữ liệu lên google sheet điểm danh nhân viên
Trang 12CHƯƠNG 2: CƠ SỞ LÍ THUYẾT
2.1 Tổng quan về Arduino
Arduino một nền tảng mã nguồn mở phần cứng và phần mềm Phần cứng Arduino (các boardmạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhauhoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch nguồn mở được thiết kếtrên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những model hiện tại được trang bịgồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiềuboard mở rộng khác nhau
Phần cứng và phần mềm Arduino được thiết kế cho các nghệ sĩ, nhà thiết kế, hacker và bất kỳ aiquan tâm đến việc tạo ra các đối tượng hoặc môi trường tương tác Arduino có thể tương tác với cácnút, đèn LED, động cơ, loa, đơn vị GPS, máy ảnh, internet và thậm chí cả điện thoại thông minh hoặc
TV Sự linh hoạt này cộng với với phần mềm Arduino là miễn phí, các bo mạch phần cứng khá rẻ và cảphần mềm, phần cứng đều dễ học, nên nó có một cộng đồng người dùng lớn đã đóng góp mã và hướngdẫn cho một lượng lớn project dựa trên Arduino
2.2 Tổng quan về nhận dạng vân tay
2.2.1 Sự cần thiết của nhận dạng bằng ảnh sinh trắc
Nhận dạng sinh trắc đề cập đến việc sử dụng các đặc tính hành vi và thể chất có tính chất khác biệt đểnhận dạng một người một cách tự động
Các đặc trưng sinh trắc không thể dễ dàng bị thay thế, chia sẻ hay giả mạo Chúng được xem là đángtin cậy hơn trong nhận dạng một người so với các phương pháp truyền thống
Nhận dạng sinh trắc ngày càng cung cấp mức độ an toàn cao hơn, tính hiệu quả trong các dự án thực tếcũng cao hơn Công nghệ sinh trắc thường được sử dụng hiện nay là vân tay, gương mặt, mống mắt,tiếng nói,… Mỗi đặc trưng sinh trắc cụ thể là tùy thuộc vào yêu cầu của mỗi ứng dụng nhất định Cácđặc trưng sinh trắc có thể được so sánh dựa vào các yếu tố sau: tính phổ biến, tính phân biệt, tính ổnđịnh, tính thu thập, tính hiệu quả và tính chấp nhận
Vân tay người dùng (dấu vân tay) được biết đến với tính phân biệt (tính chất cá nhân) và ổn định theothời gian là đặc trưng sinh trắc được sử dụng rộng rãi nhất
2.2.2 Mô hình hệ thống nhận dạng ảnh vân tay
Hiện nay, khi khoa học vân tay càng phát triển với nhu cầu bảo mật và nhận dạng cá nhân thì nhiều hệthống tự động nhận dạng ảnh dấu vân tay đã được quan tâm nghiên cứu rộng rãi và ưungs dụng trợgiúp con người trong việc phân tích dấu vân tay
Trong số các mô hình được công bố, mô hình hệ thống nhận dạng dấu vân tay tự động do cục điều traliên bang Mỹ FBI đưa ra vào những năm 70 là một mô hình khá hoàn chỉnh có tên là hệ thống
Trang 13FINDER Nó có hiệu quả hơn hẳn các hệ thống xử lý dấu vân tay kiểu quang học, hoặc theo kiểu ngônngữ cú pháp trước đó.
2.3 Giới thiệu về các linh kiện
2.3.1 ESP32 DEVKIT V1
a Giới thiệu
Trang 14ESP32 có rất nhiều kit phát triển khác nhau nên các bạn lưu ý bài hướng dẫn này chỉ viết cho ESP32 DEVKIT V1 – DOIT loại 30 chân, các kit khác tương tự Trên kit có tổng cộng 25 chân GPIO tuy nhiên cũng giống với NodeMCU, khi dùng GPIO trên ESP32 DEVKIT cần lưu ý:
GPIO34, 35, 36, 39 chỉ dùng được chức năng INPUT, không dùng được chức năng OUTPUT.
GPIO1, GPIO3: Giống như NodeMCU 2 chân này cũng được nối đến bộ UART0 và ESP32 Dev Kit cũng nạp code thông qua bộ UART này nên tránh
sử dụng 2 chân này cho chức năng I/O.
GPIO0, 2, 4, 5, 12, 15 đã được định sẵn mức logic bên trong module ESP32 để phục vụ quá trình nạp code, nên tránh sử dụng các GPIO này.
Ngoài ra đối với những bạn thiết kế mạch sử dụng module ESP32 rời (module tích hợp trên ESP32 Dev Kit) thì ngoài lưu ý ở trên còn lưu ý thêm các chân từ GPIO6 đến
GPIO11 Các chân này dùng để giao tiếp SPI với External Flash nên không thể dùng được chức năng I/O và trên ESP32 Dev Kit đã ẩn đi các chân này.
Một lưu ý quan trọng khác cho cả NodeMCU và ESP32 Dev Kit là mức điện áp INPUT tối đa mà các chân GPIO có thể hoạt động được là 3.6V (khác với các board Arduino là 5V) vì vậy nếu tác động mức điện áp lớn hơn 3.6V vào chân INPUT sẽ làm hỏng chân GPIO.
b Thông số
Trang 15Số core 2 Wifi 2.4 GHz 150Mbits/s Bluetooth BLE và legacy Blutooth Kiến trúc 32 bit
Tần số Clock Up to 240Mhz Pins 30 hoặc 36 Thiết bị ngoại
vi ADC, DAC, I2C, UART, SPI, RMII, PWM
2.3.2 Module cảm biến vân tay R305
Module Nhận Dạng Vân Tay R305 bao gồm cảm biến vân tay quang học, bộ xử lý DSP tốc độ cao,thuật toán so sánh vân tay hiệu suất cao, chip FLASH dung lượng lớn, phần mềm và phần cứng khác
- Module Nhận Dạng Vân Tay R305 có hiệu suất ổn định và cấu trúc đơn giản, có đầu vào vân tay, xử
lý hình ảnh, so sánh vân tay, tìm kiếm và lưu trữ mẫu
- Ứng dụng vào: Mở khoá xe máy bằng vân tay, mở khoá cửa tự động bằng vân tay
Đặc điểm nổi bật:
◆ Chức năng giải mã vân tay: thu thập dấu vân tay hoàn chỉnh, đăng ký vân tay, so sánh vân tay (1:1) và chức năng tìm kiếm dấu vân tay (1: N) một cách độc lập
◆ Kích thước nhỏ: Sản phẩm có kích thước nhỏ và không có bảng mạch với chip DSP bên ngoài
Nó được tích hợp, dễ cài đặt và có ít lỗi hơn
◆ Tiêu thụ điện năng cực thấp: Mức tiêu thụ điện năng chung của sản phẩm cực kỳ thấp, phù hợpvới yêu cầu tiêu thụ điện năng thấp
Trang 16◆ Khả năng chống tĩnh điện mạnh: Có khả năng chống tĩnh điện mạnh và chỉ số chống tĩnh điện đạttrên 15KV
◆ Phát triển ứng dụng đơn giản: Nhà phát triển có thể phát triển các sản phẩm ứng dụng vân tay củariêng mình theo hướng dẫn kiểm soát được cung cấp mà không cần kiến thức nhận dạng dấu vân taychuyên nghiệp
◆ Mức an toàn có thể điều chỉnh: phù hợp với các ứng dụng khác nhau, mức độ an toàn có thể đượcđiều chỉnh bởi người dùng
Thông số kỹ thuật
Nguồn cấp: 3.6~6VDC
Giao tiếp: TTL-UART hoặc USB 1.1
Điện áp cung cấp: DC 3.6 ~ 6.0V
Nguồn cung hiện tại:
Dòng điện làm việc: 100mA
Dòng điện cực đại: 150mA
Thời gian nhập hình ảnh vân tay: <0,3 giây
Diện tích cửa sổ: 18x22 mm
Tệp tính năng: 256 byte
Tệp mẫu: 512 byte
Dung lượng lưu trữ: 980 bit
Cấp độ bảo mật: năm cấp độ (thấp đến cao: 1, 2, 3, 4, 5)
Tỷ lệ giả (FAR): < 0,001%
Tỷ lệ loại bỏ (FRR): < 0,1%
Thời gian tìm kiếm trung bình: < 0,8 giây (1: 880)
Giao diện máy chủ: UART USB1.1
Tốc độ truyền thông (UART): (9600 x N) bps trong đó N = 1 ~ 12 (giá trị mặc định N = 6, tức là57600bps)
Môi trường làm việc:
Nhiệt độ: -10°C ~ +40°C
Độ ẩm tương đối: 40% rh - 85% rh (không ngưng tụ)
Môi trường lưu trữ:
Nhiệt độ: -40°C ~ +85°C
Độ ẩm tương đối: <85% rh (không ngưng tụ)
Dung lượng vân tay:
Module Nhận Dạng Vân Tay R305 có dung lượng lưu trữ là 980
Nguyên lý hoạt động
Trang 17Sơ đồ chân module R305 Chân module R305
Nguyên lý hoạt động:
Nguyên lí hoạt động của module cảm biến vân tay cơ bản gồm 2 phần
o Lấy dữ liệu hình ảnh của vân tay
o Kết hợp các dữ liệu để tạo ra mẫu vân tay
=> Lấy dữ liệu hình ảnh của vân tay : Khi lấy dữ liệu ,modul sẽ lấy dữ liệu hình ảnh vân tay 2 lầnthông qua cảm biến quang học và xử lí 2 hình ảnh này để tạo ra một mẫu
=> Kết hợp các dữ liệu để tạo ra mẫu vân tay : Quá trình này sảy ra sau khi đã có hình ảnh vân tay Đây
là quá trình kết hợp 2 mẫu hình ảnh vân tay để tạo ra một mẫu Hệ thống sẽ xử lí để lưu chữ vào thưviện vân tay của module
Giao tiếp với vi điều khiển thông qua chuẩn kết nối UART:
R305_RX(Xanh dương) > MCU_TX ( Nối Tiếp Trở 22R)
R305_TX(Vàng) > MCU_RX ( Nối Tiếp Trở 22R)
R305_GND(Đen) > MCU_GND
R305_VCC(Đỏ) > 4.2V ( Module hoạt động ổn định 4.2V)
Giao tiếp thông qua UART với tốc độ Baud mặc định là 57600 và có thể cài đặt tốc độ này trongdải từ 9600 -> 115200
Khung truyền định dạng 10bit
Theo đó ,khung truyền gồm 1 bit Start ,8 bit Data với LSBbit là biết đầu tiên ,và 1 bit Stop
Giao thức truyền gói dữ liệu
Định dạng gói dữ liệu
Header (2byte): 2 byte truyền đầu tiên trong gói dữ liệu Được mặc định giá trị 0xEF01Adder (4byte): 4 byte địa chỉ của module Giá trị mặc định ban đầu là 0xFFFFFFFFPackage identifier(1 byte) : Định dạng loại gói dữ liệu
Trang 180x01 : Gói lệnh0x02 : Gói dữ liệu0x07 : Gói xác nhận0x08 : Gói kết thúc dữ liệuPackage length(2 byte): chiều dài gói dữ liệu tính từ Package content đếnChecksum Đơn vị chiều dài là byte
Package content : Dữ liệu Có thể là lệnh,dữ liệu,xác nhậnChecksum(2 byte) : Là tổng số học của Package identifier ,Package length ,Packageconten
2.3.3 Màn hình LCD 16x2
2.3.3.1 Giới thiệu:
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của VĐK LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ …
2.3.3.2 Chi tiết
Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau
Đây là loại LCD thông dụng
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (VD: HD44780) bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết.
Trang 19 Chức năng các chân
Chân Kí hiệu Mô tả
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch
điều khiển
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V
của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD.
4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic “0” (GND)
hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ
“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.
5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để
LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các
lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
7-14
DB0-DB7 Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB
là DB7
Trang 2015 - Nguồn dương cho đèn nền
16 - GND cho đèn nền
Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân DBx
Chip điều khiển của LCD 16x2
Sơ đồ khối
Giao tiếp LCD với MCU
Đặc tính điện của các chân giao tiếp