Mục tiêu nghiên cứu của đề tài là Thiết kế và thi công được tủ đựng vật dụng cho giảng viên bảo mật bằng vân tay. Giúp việc gửi đồ của giảng viên trở nên nhanh chóng, thuận tiện và nâng cao khả năng bảo mật.
Trang 1KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG TỦ ĐỰNG
VẬT DỤNG CỦA GIẢNG VIÊN BẢO MẬT BẰNG VÂN TAY
TP Hồ Chí Minh - 12/2019
GVHD: ThS Nguyễn Văn Hiệp SVTH: MSSV: Dương Quốc Trung 15141316 Nguyễn Văn Phong 15141237
Trang 2KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH
-
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG TỦ ĐỰNG
VẬT DỤNG CỦA GIẢNG VIÊN BẢO MẬT BẰNG VÂN TAY
TP Hồ Chí Minh - 12/2019
GVHD: ThS Nguyễn Văn Hiệp SVTH: MSSV: Dương Quốc Trung 15141316 Nguyễn Văn Phong 15141237
Trang 3Tp HCM, ngày 20 tháng 11 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Dương Quốc Trung MSSV: 15141316
Nguyễn Văn Phong MSSV: 15141237
Chuyên ngành: Điện tử công nghiệp Mã ngành: 41
I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG TỦ ĐỰNG VẬT DỤNG CỦA GIẢNG
VIÊN BẢO MẬT BẰNG VÂN TAY
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Vi điều khiển: Arduino mega 2560, ESP8266
- Các loại module: DS1307, Relay
- Cảm biến: Vân tay R305
- Màn hình hiển thị: LCD TFT 3.2 inches touch screen
- Nguồn: Tổ ong 12V, ổn áp LM2596, UPS12V, Pin
2 Nội dung thực hiện:
- Tìm hiểu nguyên lý hoạt động của cảm biến vân tay R305
- Tìm hiểu các chuẩn truyền thông như USART, SPI
- Thiết kế và thi công tủ đựng vật dụng thô
- Thiết kế và thực hiện đi dây các thiết bị trong tủ
- Thiết kế phần mềm thông báo trên điện thoại Android
- Viết chương trình điều khiển cho Arduino và ESP8266, nạp code và chạy thử nghiệm sản phẩm
- Chỉnh sửa và hoàn thiện hệ thống
- Thực hiện viết luận văn báo cáo
- Tiến hành báo cáo đề tài tốt nghiệp
III NGÀY GIAO NHIỆM VỤ: 26/8/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/12/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Văn Hiệp
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Trang 4Tên đề tài: THIẾT KẾ VÀ THI CÔNG TỦ ĐỰNG VẬT DỤNG CỦA GIẢNG
VIÊN BẢO MẬT BẰNG VÂN TAY
18/11/2019 Tiến hành chạy thử nghiệm phần cứng
Lắp ráp phần cứng vào tủ, đi dây và hoàn thiện
Kiểm tra lại toàn bộ hệ thống
Tiến hành viết báo cáo cho đề tài
Tuần 17
16/12/2019
Hoàn thiện đề tài
GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
Trang 5Đề tài này là do nhóm tự thực hiện dưới sự hướng dẫn của giảng viên ThS Nguyễn Văn Hiệp Đề tài 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 công trình đã có trước đó
Nhóm thực hiện đề tài
Dương Quốc Trung Nguyễn Văn Phong
Trang 6Nhóm em xin gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Văn Hiệp, người đã trực tiếp hướng dẫn và giúp đỡ tạo điều kiện để nhóm hoàn thành tốt đề tài này Mặc dù kiến thức của nhóm còn hạn chế nhưng thầy đã nhiệt tình giúp đỡ, vạch ra hướng đi sao cho phù hợp
Xin chân thành cảm ơn quý thầy cô Giảng viên khoa Điện - Điện Tử, trường Đại Học
Sư Phạm Kỹ Thuật Tp.HCM đã giúp đỡ nhóm trong quá trình thực hiện đồ án
Ngoài ra nhóm còn nhận sự quan tâm, giúp đỡ của gia đình, bạn bè, các anh chị trong trường để hoàn thành đồ án này Do kiến thức còn hạn chế nên trong quá trình thực hiện không tránh khỏi sai sót mong thầy cô và các bạn góp ý để nhóm có thể hoàn thành đồ
Trang 7Trang bìa i
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii
LỜI CAM ĐOAN iv
LỜI CẢM ƠN v
MỤC LỤC vi
LIỆT KÊ HÌNH ix
LIỆT KÊ BẢNG xii
TÓM TẮT xiii
CHƯƠNG 1: TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 TỔNG QUAN VỀ TỦ ĐỒ BẢO MẬT 4
2.1.1 Giới thiệu tủ đồ bảo mật và đặc điểm của tủ bảo mật 4
2.1.2 Ứng dụng của tủ đồ bảo mật 5
2.2 TỔNG QUAN VỀ CÔNG NGHỆ NHẬN DẠNG VÂN TAY 6
2.2.1 Lịch sử ra đời nhận dạng vân tay 6
2.2.2 Hệ thống nhận dạng vân tay 7
2.2.3 Ứng dụng công nghệ nhận dạng vân tay hiện nay 9
2.3 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 10
2.3.1 Khái niệm hệ điều hành android 10
2.3.2 Giao diện 11
2.3.3 Ứng dụng 12
2.3.4 Ưu và nhược điểm của hệ điều hành Android 13
2.4 TỔNG QUAN VỀ FIREBASE 14
2.4.1 Lịch sử và khái niệm 14
2.4.2 Các tính năng chính 15
2.4.3 Ưu và nhược điểm của Firebase 17
2.5 CÁC CHUẨN TRUYỀN DỮ LIỆU 18
2.5.1 Chẩn giao tiếp I2C 18
Trang 82.5.3 Chuẩn truyền thông SPI 21
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 22
3.1 GIỚI THIỆU 22
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 22
3.2.1 Thiết kế sơ đồ khối hệ thống 22
3.3 TÍNH TOÁN VÀ THIẾT KẾ MẠCH 23
3.3.1 Khối cảm biến vân tay 23
3.3.2 Vi điều khiển 26
3.3.3 Khối module thời gian thực 28
3.3.4 Khối module wifi 29
3.3.5 Khối điều khiển và hiển thị 31
3.3.6 Khối module relay 34
3.3.7 Khóa chốt điện 35
3.3.8 Khối nguồn 36
3.4 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 40
CHƯƠNG 4: THI CÔNG HỆ THỐNG 41
4.1 GIỚI THIỆU 41
4.2 THI CÔNG HỆ THỐNG 41
4.2.1 Thi công Board mạch 41
4.2.2 Lắp ráp và kiểm tra 42
4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 43
4.3.1 Đóng gói bộ điều khiển 43
4.3.2 Thi công tủ 44
4.4 LẬP TRÌNH HỆ THỐNG 49
4.4.1 Lưu đồ giải thuật 49
4.4.2 Phần mềm lập trình cho vi điều khiển 57
4.4.3 Phần mềm lập trình cho điện thoại, máy tính 58
4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 61
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 69
5.1 GIỚI THIỆU 69
5.2 KẾT QUẢ ĐẠT ĐƯỢC 69
5.3 KẾT QUẢ THỰC NGHIỆM 70
5.3.1 Thiết kế thi công tủ 70
5.3.2 Phần cứng, giao diện điều khiển 72
Trang 95.4 NHẬN XÉT, ĐÁNH GIÁ 80
5.4.1 Nhận xét 80
5.4.2 Đánh giá 80
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82
6.1 KẾT LUẬN 82
6.2 HƯỚNG PHÁT TRIỂN 82
TÀI LIỆU THAM KHẢO 83
PHỤ LỤC 84
Trang 10Hình Trang
Hình 2.1 Tủ đồ bảo mật bằng vân tay 4
Hình 2.2 Tủ đồ bảo mật bằng mật mật khẩu và khóa 5
Hình 2.3 Một số hình ảnh vân tay được sử dụng thời xưa 7
Hình 2.4 Cấu trúc cơ bản của hệ thống nhận dạng vân tay 8
Hình 2.5 Thanh toán mua hàng bằng dấu vân tay 9
Hình 2.6 Máy chấm công 10
Hình 2.7 Khóa cửa bảo mật vân tay 10
Hình 2.8 Logo hệ điều hành Android 11
Hình 2.9 Giao diện của thiết bị chạy hệ điều hành Android 11
Hình 2.10 Thanh trạng thái của thiết bị chạy hệ điều hành Android 12
Hình 2.11 Kho ứng dụng Google Play Store 13
Hình 2.12 Biểu tượng của nền tảng Firebase 14
Hình 2.13 Cây Json của Realtime Database 15
Hình 2.14 Các thiết bị tương tác với Realtime Database 16
Hình 2.15 Xác thực người dùng qua Authentication 17
Hình 2.16 Các thiết bị gửi và nhận tin nhắn qua Firebase Cloud Messaging 17
Hình 2.17 Giao diện hiển thị các project của Firebase 18
Hình 2.18 Bus I2C và các thiết bị ngoại vi 18
Hình 2.19 Trình tự truyền bit trên đường truyền 19
Hình 2.20 Truyền thông UART 20
Hình 2.21 Giao tiếp SPI 21
Hình 3.1 Sơ đồ khối hệ thống 22
Hình 3.2 Module cảm biến vân tay R305 23
Hình 3.3 Hình dạng bên ngoài và kích thước module R305 24
Hình 3.4 Các chân kết nối của module cảm biến vân tây R305 25
Hình 3.5 Sơ đồ kết nối cảm biến vân tay với vi điều khiển 25
Hình 3.6 Board arduino mega 2560 26
Hình 3.7 Sơ đồ và kí hiệu chân trên arduino mega 2560 28
Hình 3.8 Mạch thời gian thực RTC I2C DS1307 28
Hình 3.9 Sơ đồ kết nối module DS1307 với vi điều khiển 29
Hình 3.10 Module Wifi NodeMCU ESP8266 29
Hình 3.11 Sơ đồ kết nối module ESP8266 với vi điều khiển 30
Hình 3.12 Màn hình LCD TFT 3.2 Inches 31
Hình 3.13 Shield LCD TFT 3.2 Inches cho Arduino Mega 33
Hình 3.14 Sơ đồ kết nối Shield LCD TFT với vi điều khiển 33
Hình 3.15 Module relay 6 kênh 34
Hình 3.16 Sơ đồ kết nối relay với vi điều khiển 35
Hình 3.17 Khóa chốt điện LY-03 12V 35
Hình 3.18 Nguồn tổ ong 12V-5A 36
Hình 3.19 Mạch ổn áp LM2596 37
Hình 3.20 Mạch chuyển nguồn tự động UPS 12V 37
Hình 3.21 Pin Cell 18650 4200mAh 3.7V 38
Hình 3.22 Mạch chuyển nguồn UPS và ổn áp LM2596 39
Trang 11Hình 4.1 PCB mặt trên 41
Hình 4.2 PCB mặt dưới 41
Hình 4.3 Mặt trên board 42
Hình 4.4 Mặt dưới board 42
Hình 4.5 Mặt trên board khi lắp linh kiện 43
Hình 4.6 Mặt dưới board khi lắp linh kiện 43
Hình 4.7 Hình ảnh sau khi lắp mạch lên mica 43
Hình 4.8 Thông số kích thước của tủ trên thiết kế 44
Hình 4.9 Hình ảnh mặt trước của tủ sau khi hoàn thiện 45
Hình 4.10 Hình ảnh mặt trước mạch điều khiển khi lắp lên tủ 46
Hình 4.11 Đi dây mạch điều khiển 47
Hình 4.12 Đi dây cho khóa điện và đèn báo 48
Hình 4.13 Lưu đồ chương trình chính 49
Hình 4.14 Lưu đồ chương trình con chọn chế độ 50
Hình 4.15 Lưu đồ chương trình gửi đồ 51
Hình 4.16 Lưu đồ chương trình lấy đồ 52
Hình 4.17 Lưu đồ chương trình thêm vân tay 53
Hình 4.18 Lưu đồ của chương trình con quét vân tay của chế độ gửi đồ và lấy đồ 54
Hình 4.19 Lưu đồ chương trình con quét vân tay của chế độ thêm vân tay 55
Hình 4.20 Lưu đồ của ESP8266 56
Hình 4.21 Giao diện phần mềm lập trình Arduino IDE 57
Hình 4.22 Giao diện phần mềm Android Studio 59
Hình 4.23 Giao diện phần thiết kế giao diện cho ứng dụng 60
Hình 4.24 Ánh xạ các đối tượng trong giao diện với các câu lệnh 60
Hình 4.25 Giao diện phần lập trình Java 61
Hình 4.26 Giao diện chính của hệ thống 61
Hình 4.27 Quét vân tay gửi đồ 62
Hình 4.28 Gửi đồ thành công 62
Hình 4.29 Quét vân tay lấy đồ 63
Hình 4.30 Thông báo lấy đồ thành công 63
Hình 4.31 Thông báo nhập mật khẩu 64
Hình 4.32 Giảng viên nhập mật khẩu 64
Hình 4.33 Quét vân tay lần 1 64
Hình 4.34 Quét vân tay lần 2 65
Hình 4.35 Thêm vân tay thành công 65
Hình 4.36 Giao diện bắt đầu của ứng dụng 66
Hình 4.37 Người quản lí đăng nhập 66
Hình 4.38 Giao diện bên trong chế độ người dùng 67
Hình 4.39 Giao diện bên trong chế độ quản lý 68
Hình 5.1 Hình ảnh thực tế mặt trước tủ sau khi hoàn thiện 70
Hình 5.2 Mặt bên phải tủ sau khi hoàn thiện 71
Hình 5.3 Board mạch lắp bên trong tủ 72
Hình 5.4 Mặt trước board điều khiển 73
Hình 5.5 Giao diện chính 74
Hình 5.6 Quét vân tay gửi đồ 74
Trang 12Hình 5.8 Quét vân tay lấy đồ 75
Hình 5.9 Thông báo lấy đồ thành công 75
Hình 5.10 Thông báo nhập mật khẩu 76
Hình 5.11 Giao diện nhập mật khẩu 76
Hình 5.12 Quét vân tay lần 1 76
Hình 5.13 Quét vân tay lần 2 77
Hình 5.14 Thêm vân tay thành công 77
Hình 5.15 Giao diện bắt đầu của ứng dụng 78
Hình 5.16 Người quản lí đăng nhập 78
Hình 5.17 Giao diện bên trong chế độ người dùng 79
Hình 5.18 Giao diện bên trong chế độ quản lý 79
Trang 13Bảng Trang
Bảng 3.1: Kí hiệu và chức năng của các chân trên cảm biến vân tay R305 25
Bảng 3.2: Thông số Ardiuno Mega 2560 27
Bảng 3.4: Mô tả chức năng các chân của GLCD 31
Bảng 3.5: Thông số, giá trị các linh kiện sử dụng 36
Bảng 5.1: Số liệu thực nghiệm 80
Trang 14Trong những năm gần đây, công nghệ bảo mật vân tay đã và đang được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống Nhận thấy việc gửi đồ của giảng viên trong trường Đại học ngày chưa được đề cao về sự thuận tiện cũng như tính bảo mật Đề tài này nhằm mục đích thiết kế và thi công được tủ đựng vật dụng của giảng viên với phương pháp bảo mật bằng vân tay
Trang 15CHƯƠNG 1: TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Thế giới đang trong làn sóng của cuộc cách mạng công nghiệp 4.0 Công nghệ bảo mật ngày càng được nâng cấp và sử dụng rộng rãi trong các ứng dụng của đời sống Đặc biệt, bảo mật bằng vân tay dù không còn là điều gì đó quá mới mẻ nhưng vẫn là một trong những công nghệ được áp dụng phổ biến để giải quyết các vấn đề như giám sát tự động, bảo mật dữ liệu, xác thực cá nhân trong các cơ quan, doanh nghiệp Ngoài ra công nghệ này còn được sử dụng trong lĩnh vực nghiên cứu khoa học pháp y và tội phạm Quét vân tay là một công nghệ bảo mật sử dụng dấu vân tay của một người để xác định danh tính của người đó Như chúng ta đều biết mỗi người sẽ sở hữu cấu trúc vân tay riêng biệt, thể hiện sự đặc trưng cho từng cá nhân Điều này thường được gọi là dấu vân tay sinh trắc học Sinh trắc học là cách nghiên cứu về con người khác nhau dựa trên các yếu tố sinh học Ngay cả các cặp song sinh giống hệt nhau cũng không chia sẻ cùng một tập hợp các dấu vân tay Dấu vân tay của một người giống như một thẻ nhận dạng, và đây cũng là nền tảng cốt lõi để sáng tạo ra công nghệ bảo mật vân tay
Trước đây cũng có khá nhiều đồ án tốt nghiệp nghiên cứu về các ứng dụng sử dụng công nghệ vân tay như đề tài “Điểm danh sinh viên bằng vân tay” của Nguyễn Khắc Thành, trong đó sử dụng Arduino Mega 2560, module vân tay R305, phần mềm C# để tạo giao diện và SQL Server để tạo cơ sở dữ liệu lưu trữ thông tin sinh viên [4] Tác giả Trần Anh Đề và Trần Sơn Lành nghiên cứu đề tài “Hệ thống điểm danh bằng vân tay sử dụng vi điều khiển ARM” sử dụng vi điều khiển STM32F103VET6 giao tiếp với SD card, cảm biến vân tay R305 và hiển thị thông tin lên LCD TFT 320x240 Mô hình xử
lý dựa trên files Excel mà người dùng đã định dạng theo 1 mẫu sẵn được lưu trữ trong thẻ nhớ SD [5]
Qua những thông tin trên, nhóm em quyết định làm đề tài “Thiết kế và thi công tủ đựng vật dụng của giảng viên bảo mật bằng vân tay” Hệ thống sử dụng vi điều khiển trung tâm là module Arduino và module Wifi Node MCU ESP8266, cảm biến vân tay R305, khóa điện tử, LCD TFT hiển thị thông tin và các đèn led báo trạng thái Người dùng có thể nhận thông báo về trạng thái hộc tủ của mình thông qua ứng dụng cài đặt trên điện thoại sử dụng hệ điều hành Android [1]
Trang 161.2 MỤC TIÊU
Thiết kế và thi công được tủ đựng vật dụng cho giảng viên bảo mật bằng vân tay Giúp việc gửi đồ của giảng viên trở nên nhanh chóng, thuận tiện và nâng cao khả năng bảo mật
1.3 NỘI DUNG NGHIÊN CỨU
- NỘI DUNG 1: Tìm hiểu nguyên lý hoạt động của cảm biến vân tay R305
- NỘI DUNG 2: Tìm hiểu các chuẩn truyền thông USART, SPI, I2C
- NỘI DUNG 3: Tìm hiểu và giao tiếp được cảm biến vân tay R305, module thời gian thực DS1307, module Wifi ESP8266 với Arduino Mega 2560
- NỘI DUNG 4: Thiết kế app bằng Android Studio
- NỘI DUNG 5: Thiết kế và thi công tủ đựng vật dụng
- NỘI DUNG 6: Đánh giá kết quả thực hiện
1.4 GIỚI HẠN
- Tủ có kích thước 145x85x40 cm, gồm 6 hộc chứa
- Tích hợp LCD TFT cảm ứng để hiển thị thông tin và điều khiển
- Sử dụng module vân tay R305
- Thời gian chứa vật dụng trong tủ tối đa là 1 tuần
- Hiển thị thông tin tủ và thông báo cho người dùng qua app cài đặt trên các thiết bị
sử dụng hệ điều hành Android
- Cho phép quản trị viên điều khiển từ xa thông qua app android
- Có tích hợp UPS (mạch chuyển nguồn tự động) cấp nguồn dự phòng lúc mất điện
1.5 BỐ CỤC
- Chương 1: Tổng quan
Chương này trình bày đặt vấn đề, lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án
- Chương 2: Cơ sở lý thuyết
Chương này trình bày lý thuyết về các module, cảm biến và linh kiện sử dụng trong
hệ thống, các chuẩn truyền thông, giao thức
- Chương 3: Thiết kế và tính toán
Chương này thiết kế sơ đồ khối, sơ đồ nguyên lí của các khối trong hệ thống và thực hiện tính toán thiết kế
Trang 17- Chương 4: Thi công hệ thống
Chương này trình bày lưu đồ giải thuật, thiết kế app android, viết chương trình hệ thống, thiết kế sơ đồ mạch in PCB
- Chương 5: Kết quả, nhận xét và đánh giá
Chương này trình bày kết quả thi công phần cứng và kết quả hình ảnh thực tế của
tủ, nhận xét đánh giá chung về sản phẩm
- Chương 6: Kết luận và hướng phát triển
Trong chương này sẽ đưa ra kết quả đạt được, phân tích những ưu nhược điểm và
đề xuất hướng phát triển đề tài
Trang 18CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ TỦ ĐỒ BẢO MẬT
2.1.1 Giới thiệu tủ đồ bảo mật và đặc điểm của tủ bảo mật
Tủ đồ bảo mật đang dần trở thành thiết bị phổ biến và được ứng dụng ở nhiều nơi bởi mỗi cá nhân, gia đình hay tập thể đều có những giấy tờ, vật dụng quan trọng cần được bảo mật Tủ bảo mật là loại tủ có kích thước, hình dáng giống như tủ đựng hồ sơ, tài liệu bình thường nhưng có tính bảo mật cao hơn Tủ thường được dùng để cất giữ những giấy tờ hồ sơ quan trọng, tài sản riêng Tủ bảo mật được thiết kế tiêu chuẩn với các loại phổ biến là tủ 2 cánh, 4 cánh và 6 cánh Ngoài ra, tủ còn được thiết kế theo yêu cầu, mục đích và nhu cầu cụ thể của từng người sử dụng
Hiện nay có nhiều công nghệ bảo mật được tích hợp trong tủ đồ để nâng cao khả năng bảo vệ cho tài sản như mật khẩu số, thẻ RFID, vân tay sinh trắc học,…mà phổ biến nhất
là mật khẩu số và thẻ RFID vình sự đơn giản và giá thành phù hợp với đại đa số người
sử dụng Công nghệ vân tay cũng đã được ứng dụng nhiều trong các sản phẩm máy chấm công, cửa thông minh, tủ thông minh,…tuy nhiên giá thành cao hơn khiến cho chúng chỉ được sử dụng trong các cơ quan, môi trường đặc thù chứ chưa quá phổ biến cho người dùng thông thường
Hình 2.1 Tủ đồ bảo mật bằng vân tay
Trang 19Hình 2.2 Tủ đồ bảo mật bằng mật mật khẩu và khóa
Đặc điểm của tủ bảo mật:
- Được làm từ vật liệu thép sơn tĩnh điện dày từ 0.8 mm đến 1.2 mm (tùy theo nhu cầu của người sử dụng) nên có độ bền rất cao Chất liệu thép sơn tĩnh điện giúp tủ bảo mật có độ bóng, mịn tuyệt đối, đặc biệt là khả năng chống ăn món, chống oxi hóa
- Đáy tủ có hệ thống bánh xe sắt giúp việc di chuyển tủ sang các vị trí khác nhau dễ dàng ( vì tủ có trọng lượng lớn)
- Đặc điểm quan trọng nhất của tủ bảo mật chính là hệ thống bảo mật của tủ nằm trên các cánh tủ Với công nghệ bảo mật khác nhau như khóa mã (mật khẩu) riêng biệt, khóa chìa 4 cạnh,… hệ thống an toàn giúp cánh được bảo vệ an toàn gây khó khăn với những nguy cơ cố tình cạy, phá trong thời gian ngắn
2.1.2 Ứng dụng của tủ đồ bảo mật
- Tủ bảo mật được sử dụng phổ biến trong các công ty, trường học để bảo quản những dụng cụ, hồ sơ quan trọng, có giá trị, tránh việc xâm phạm tủ một cách có chủ ý khi chưa được phép
- Hạn chế việc mất cắp những đồ đạc được lưu trữ trong tủ
Ngoài ra với tính bảo mật và độ bền cao, tủ bảo mật còn được ưa chuộng trong môi trường quân đội, nơi đề cao tính bảo mật và kỷ luật để bảo quản giấy tờ của lãnh đạo, quân tư trang của quân nhân
Trang 202.2 TỔNG QUAN VỀ CÔNG NGHỆ NHẬN DẠNG VÂN TAY
2.2.1 Lịch sử ra đời nhận dạng vân tay
Từ thế kỉ thứ XIV, việc sử dụng dấu vân tay và vân chân để nhận dạng đã được người
Ấn Độ áp dụng Khi một đứa trẻ ra đời, người Trung Quốc đã dùng mực bôi đen chân tay nó và in dấu lên một tờ giấy Người Mỹ bắt đầu sử dụng dấu vân tay vào tháng 7 năm 1858 William Idiot, một quan cai trị người Singapore tại Lào, do quá bức xúc với tính gian trá đã bắt thương gia bản xứ là Rajyadhar Konai in dấu bàn tay lên mặt sau của
tờ hợp đồng
Khoa học về dấu vân tay được Francis Galton khởi xướng vào cuối thế kỉ thứ XIX Năm
1880, Henry Faulds đưa ra lý luận về số lượng vân tay RC (Ridge Count) để đánh giá mức độ phụ thuộc của vân tay vào gen di truyền Năm 1868 nhà bác học Roberts chỉ ra rằng mỗi ngón tay có một môi trường phát triển vi mô khác nhau Năm 1968 nhà bác học Holt đã chứng minh được rằng có thể dự đoán tương đối chính xác tổng số lượng vân tay TRC (Total Ridge Count) và mức độ phụ thuộc của chúng vào gen di truyền của mỗi người Vào nửa sau của thế kỉ XIX, Richard Edward Henry của Scotland Yard (cơ quan an ninh của Anh) đã phát triển phương pháp phân loại và nhận dạng dấu vân tay Phương pháp này được Francis Galton cải tiến vào năm 1892 Juan Vucetich đã tạo ra một hệ thống phân loại khác cho các nước dùng tiếng Tây Ban Nha Sau Vụ án Francisca Rojas ở Necochea, Argentina trở thành quốc gia đầu tiên trên thế giới chính thức thừa nhận việc lăn tay để làm phương pháp nhận dạng thay cho phép đo người Bertillon của Alphonse Bertillon
Trang 21Hình 2.3 Một số hình ảnh vân tay được sử dụng thời xưa
2.2.2 Hệ thống nhận dạng vân tay
Hệ thống nhận dạng vân tay hoạt động theo nguyên tắc: Khi đặt ngón tay lên trên một thiết bị đọc dấu vân tay, ngay lập tức thiết bị này sẽ quét hình ảnh ngón tay đó và đưa vào hệ thống Hệ thống sẽ xử lý dấu vân tay, chuyển sang dạng dữ liệu số rồi đối chiếu các đặc điểm của vân tay đó với dữ liệu đã được lưu trữ trong hệ thống Nếu dấu vân tay này khớp với dữ liệu sẽ cho phép hệ thống thực hiện các chức năng tiếp theo
Trang 22Hình 2.4 Cấu trúc cơ bản của hệ thống nhận dạng vân tay
- Hệ thống này gồm 2 phần:
- Verification (Xác nhận dấu vân tay): Đầu tiên một người sẽ cung cấp dấu vân tay
cùng với thông hoặc đặc điểm cá nhân của người đó như họ tên, ngày sinh, quê quán Bước này nhằm tạo ra một cơ sở dữ liệu tương ứng dấu vân tay và các đặc điểm liên quan Nguyên lý cơ bản của hệ thống này là sử dụng các diot phát sáng để truyền các tia gần hồng ngoại (Near Infrared NIR) tới ngón tay và chúng sẽ được hấp thụ lại bởi hồng cầu trong máu Vùng các tia bị hấp thụ trở thành vùng tối trong hình ảnh và được chụp lại bởi camera CCD Sau đó, hình ảnh được xử lý và tạo ra mẫu vân tay Mẫu vân tay được chuyển đổi thành tín hiệu số và là dữ liệu để nhận dạng người sử dụng chỉ trong vòng chưa đến 2 giây
- Identification (Nhận diện dấu vân tay): Dấu vân tay sẽ được đưa thu thập từ một
sensor để đối chiếu với database chứa các vân tay để truy ra các đặc điểm muốn truy xuất Việc đối sánh ảnh vân tay cần nhận dạng chỉ cần được tiến hành trên các vân tay (có trong cơ sở dũ liệu) thuộc loại đã được xác định nhờ quá trình phân loại Đây là giai đoạn quyết định xem hai ảnh vân tay có hoàn toàn giống nhau hay không và đưa ra kết quả nhận dạng, tức là ảnh vân tay cần nhận dạng tương ứng với vân tay của cá thể nào
đã được lưu trữ trong cơ sở dữ liệu
- Có 2 phương pháp nhận dạng vân tay thường được sử dụng là:
- Phương pháp 1: Dựa vào các đặc tính cụ thể của dấu vân tay, như điểm cuối, điểm rẽ nhánh của các vân trên tay
- Phương pháp 2: So sánh toàn bộ đặc tính của dấu vân tay
Trang 232.2.3 Ứng dụng công nghệ nhận dạng vân tay hiện nay
Ngày nay với sự phát triển của khoa học công nghệ, công nghệ nhận dạng vân tay đã được phát triển và ứng dụng rất nhiều trong các lĩnh vực của đời sống Những thiết bị điện tử có khả năng sử dụng dữ liệu sinh trắc học trong thời gian thực để bảo vệ thông tin bí mật của con người Con người sẽ không phải tạo, lưu giữ hay ghi nhớ mật khẩu dành cho thư điện tử, thẻ ngân hàng
Dấu vân tay không những được sử dụng trong lĩnh vực hình sự mà còn được sử dụng trong việc xác nhận nhân thân của cá nhân khi truy cập mạng hoặc mở khoá Một số ngân hàng đã bắt đầu thanh toán thẻ ATM sử dụng máy đọc vân tay Trong y học, dựa trên những bức tranh vân tay đặc trưng, người ta phát hiện ra những bệnh do sai lệch gen Chính phủ một số nước đã thực hiện việc thắt chặt an ninh và quản lý hộ chiếu bằng cách thử nghiệm công nghệ nhận dạng vân tay Tại Mỹ, thẻ tín dụng sắp tới kỳ trở thành
đồ cổ, trong các chuỗi siêu thị Thrifway, khách hàng trả tiền mua hàng bằng cách nhận dạng vân tay
Hình 2.5 Thanh toán mua hàng bằng dấu vân tay
Hiện nay đã có trên 100 quốc gia sử dụng hộ chiếu điện tử bằng công nghệ nhận dạng vân tay Sử dụng vân tay được đánh giá là một giải pháp bảo mật hữu hiệu và xác nhận nhân thân chính xác
Trang 24Tại Việt Nam, công nghệ nhận dạng vân tay đã đang đi vào đời sống với các ứng dụng như: chấm công, điểm danh nhân viên, thanh toán online trên smartphone, Các thiết bị bảo vệ sử dụng vân tay như khóa cửa, két sắt,
Hình 2.6 Máy chấm công Hình 2.7 Khóa cửa bảo mật vân tay
Ưu và nhược điểm của công nghệ cảm biến vân tay:
Ưu điểm:
- Mở khoá thiết bị hoặc ứng dụng chỉ với một cú chạm
- Tính xác thực cao vì vân tay mỗi người là duy nhất
- Yên tâm bởi hệ thống sẽ cho nhận dạng nhiều ngón tay khác nhau
Nhược điểm:
- Cảm biến vân tay chỉ là một hệ thống xác thực, nếu ứng dụng vào điện thoại thì nguy cơ về thất thoát vệ dữ liệu trên điện thoại người sử dụng là rất cao, khi bạn ngủ hoặc mất ý thức thì chính ngón tay sẽ mở khoá tất cả
2.3 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID
2.3.1 Khái niệm hệ điều hành android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết
bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Android, Inc Với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên
bố thành lập liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần
Trang 25cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết
bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào năm 2008
Hình 2.8 Logo hệ điều hành Android 2.3.2 Giao diện
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo giãn
và thu lại để xử lý các đối tượng trên màn hình Sự phản ứng với tác động của người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà
Hình 2.9 Giao diện của thiết bị chạy hệ điều hành Android
Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầu với các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm việc) trên máy tính để bàn Màn hính chính Android thường gồm nhiều biểu tượng (icon) và tiện ích (widget); biểu tượng ứng dụng sẽ mở ứng dụng tương ứng, còn tiện ích hiển thị
Trang 26những nội dung sống động, cập nhật tự động như dự báo thời tiết, hộp thư của người dùng, hoặc những mẩu tin thời sự ngay trên màn hình chính Màn hình chính có thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dù giao diện màn hình chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích
Hình 2.10 Thanh trạng thái của thiết bị chạy hệ điều hành Android
Ở phía trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị và tình trạng kết nối Thanh trạng thái này có thể "kéo" xuống để xem màn hình thông báo gồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin nhắn SMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện.Trong các phiên bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra ứng dụng tương ứng, về sau này các thông tin cập nhật được bổ sung thêm tính năng, như có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mở ứng dụng gọi điện ra Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc hoặc xóa nó đi
2.3.3 Ứng dụng
Các ứng dụng cho Android được phát triển bằng ngôn ngữ Java sử dụng Bộ phát triển phần mềm Android (SDK) SDK bao gồm một bộ đầy đủ các công cụ dùng để phát triển gồm có công cụ gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại dựa trên tài liệu hướng dẫn, mã nguồn mẫu, và hướng dẫn từng bước Môi trường phát triển tích hợp (IDE) được hỗ trợ chính thức là Eclipse sử dụng phần bổ sung Android Development Tools (ADT) Các công cụ phát triển khác cũng có sẵn, gồm có Bộ phát triển gốc dành cho các ứng dụng hoặc phần mở rộng viết bằng C hoặc C++, Google App Inventor, một môi trường đồ họa cho những nhà lập trình mới bắt đầu, và nhiều nền tảng ứng dụng web di động đa nền tảng phong phú
Trang 27Hình 2.11 Kho ứng dụng Google Play Store
Android có lượng ứng dụng của bên thứ ba ngày càng nhiều, được chọn lọc và đặt trên một cửa hàng ứng dụng như Google Play hay Amazon Appstore để người dùng lấy
về, hoặc bằng cách tải xuống rồi cài đặt tập tin APK từ trang web khác Các ứng dụng trên Play Store cho phép người dùng duyệt, tải về và cập nhật các ứng dụng do Google
và các nhà phát triển thứ ba phát hành Play Store được cài đặt sẵn trên các thiết bị thỏa mãn điều kiện tương thích của Google Ứng dụng sẽ tự động lọc ra một danh sách các ứng dụng tương thích với thiết bị của người dùng, và nhà phát triển có thể giới hạn ứng dụng của họ chỉ dành cho những nhà mạng cố định hoặc những quốc gia cố định vì lý
do kinh doanh Nếu người dùng mua một ứng dụng mà họ cảm thấy không thích, họ được hoàn trả tiền sau 15 phút kể từ lúc tải về và một vài nhà mạng còn có khả năng mua giúp các ứng dụng trên Google Play, sau đó tính tiền vào trong hóa đơn sử dụng hàng tháng của người dùng Đến tháng 9 năm 2012, có hơn 675.000 ứng dụng dành cho Android, và số lượng ứng dụng tải về từ Play Store ước tính đạt 25 tỷ
2.3.4 Ưu và nhược điểm của hệ điều hành Android
Ưu điểm:
- Là hệ điều hành có mã nguồn mở nên khả năng tuỳ biến cao, có thể tùy ý chỉnh sửa
- Kho ứng dụng Google Play Store đồ sộ
Trang 28- Kho ứng dụng quá nhiều dẫn đến khó kiểm soát chất lượng các ứng dụng
- Hiện tượng giật lag trong quá trình sử dụng diễn ra thường xuyên do đặc trưng hệ
điều hành sản sinh ra nhiều file rác
2.4 TỔNG QUAN VỀ FIREBASE
2.4.1 Lịch sử và khái niệm
Năm 2011, startup tiền thân của Firebase được thành lập, được gọi là Envolve Nó cung cấp cho các nhà phát triển API cho phép tích hợp tính năng nhắn tin trực tuyến vào trang web của họ Điều thú vị là các nhà phát triển sử dụng Envolve không chỉ để làm nhắn tin trực tuyến Họ sử dụng Envolve để đồng bộ hóa dữ liệu ứng dụng, chẳng hạn như một trạng thái game giữa các user trong thời gian thực Điều đó đã dẫn đến các nhà sáng lập của Envolve tách riêng hệ thống chat và kiến trúc realtime Năm 2012, Firebase được tạo như một công ty cung cấp dịch vụ với tính năng realtime Sau khi được Google mua lại năm 2014, Firebase nhanh chóng phát triển thành một nền tảng đa chức năng như ngày nay
Hình 2.12 Biểu tượng của nền tảng Firebase
Firebase là một nền tảng ứng dụng di động và web với các công cụ và hạ tầng được thiết kế để giúp các lập trình viên xây dựng các ứng dụng chất lượng cao Với Google Firebase, chúng ta có thể tạo ra các ứng dụng chat như Yahoo Message của ngày xưa hoặc như Facebook Messager của ngày nay trong thời gian cực ngắn như khoảng một
Trang 29ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client còn phần server và database đã có firebase lo Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta những API đơn giản, mạnh
mẽ và đa nền tảng trong việc quản lý, sử dụng database
2.4.2 Các tính năng chính
a Realtime database
Trong đồ án này chúng ta sử dụng 1 công cụ rất thông dụng của Firebase là Realtime Database - Cơ sở dữ liệu thời gian thực Firebase Realtime Database là một cơ sở dữ liệu NoSQL trên đám mây cho phép bạn lưu trữ và đồng bộ hóa dữ liệu giữa các user trong thời gian thực Realtime Database cơ bản chỉ là một đối tượng JSON lớn mà các nhà phát triển có thể quản lý thời gian thực
Hình 2.13 Cây Json của Realtime Database
Chỉ với một API duy nhất, Realtime Database cung cấp cho ứng dụng của bạn cả giá trị hiện tại của dữ liệu và bất kì cập nhật mới nào.Đồng bộ hóa thời gian thực giúp người dùng truy cập dữ liệu của họ dễ dàng từ bất kì thiết bị nào cũng như tương tác với các người dùng khác Realtime Database cũng tích hợp với Firebase Authentication để cung cấp một tiến trình xác thực đơn giản và trực quan
Trang 30Hình 2.14 Các thiết bị tương tác với Realtime Database
b Authentication
Hình 2.15 Xác thực người dùng qua Authentication
Firebase Authentication cung cấp dịch vụ backend, SDKs sẵn sàng sử dụng, và các thư viện UI được làm sẵn để giúp ứng dụng của bạn xác thực người dùng
Thông thường, bạn phải mất cả tháng để xây dựng hệ thống xác thực và thường xuyên phải bảo trì nó Nhưng nếu bạn sử dụng Firebase, bạn chỉ dưới 10 dòng code để xử lý mọi thứ, bao gồm cả những thao tác phức tạp như sát nhập tài khoản
Bạn có thể xác thực người dùng qua các phương thức như: Email, Phone number, Facebook, Google, Twitter,
Sử dụng Firebase Authentication giúp dễ dang hơn cho việc xây dựng hệ thống xác thực
an toàn, trong khi cũng cải thiện trải nghiệm cho người dùng
Trang 31c Firebase Cloud Messaging (FCM)
Hình 2.16 Các thiết bị gửi và nhận tin nhắn qua Firebase Cloud Messaging
Firebase Cloud Messaging cung cấp một kết nối hiệu quả và đáng tin cậy giữa server
và thiết bị của bạn, cho phép bạn gửi và nhận tin nhắn hoặc thông báo trên iOS, Android
và Web mà không mất thêm chi phí
Bạn có thể gửi tin nhắn thông báo (giới hạn 2KB) hoặc tin nhắn dữ liệu (giới hạn 4KB)
Sử dụng FCM, bạn có thể dễ dàng xác định đối tượng mục tiêu với các phân khúc được định nghĩa trước hoặc do bạn tự định nghĩa, sử dụng nhân khẩu học và hành vi Bạn có thể gửi tin nhắn tới một nhóm các thiết bị được đăng kí theo các chủ đề xác định, hoặc bạn có thể nhận được chi tiết như một thiết bị duy nhất
FCM có thể gửi tin nhắn ngay lập tức hoặc trong tương lai theo múi giờ của người dùng Bạn có thể gửi dữ liệu tùy chỉnh như cài đặt độ ưu tiên, âm thanh, ngày hết hạn, và cũng theo dõi các sự kiện tùy chỉnh
2.4.3 Ưu và nhược điểm của Firebase
Trang 32Đăng ký tài khoản miễn phí nhưng giới hạn số lượng đăng ký hoặc người truy cập trong
khi có tính phí thì sẽ trả phí theo thuê bao và dung lượng lưu trữ
Hình 2.17 Giao diện hiển thị các project của Firebase 2.5 CÁC CHUẨN TRUYỀN DỮ LIỆU
2.5.1 Chẩn giao tiếp I2C
I2C là tên viết tắt của cụm từ Inter-Integrated Circuit Đây là đường Bus giao tiếp giữa các IC với nhau Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, ARM
Hình 2.18 Bus I2C và các thiết bị ngoại vi
- Đặc điểm giao tiếp I2C:
Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL) SDA là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ để đồng bộ và chỉ theo một hướng Khi một thiết bị ngoại vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA của bus, chân SCL sẽ nối với dây SCL
Trang 33Mỗi dây SDA hãy SCL đều được nối với điện áp dương của nguồn cấp thông qua một điện trở kéo lên (pullup resistor) Sự cần thiết của các điện trở kéo này là vì chân giao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng hở (opendrain hay opencollector) Giá trị của các điện trở này khác nhau tùy vào từng thiết bị và chuẩn giao tiếp, thường dao động trong khoảng 1 KΩ đến 4.7KΩ
Chế độ hoạt động (tốc độ truyền):
Các bus I2C có thể hoạt động ở ba chế độ, hay nói cách khác các dữ liệu trên bus I2C có thể được truyền trong ba chế độ khác nhau
- Chế độ tiêu chuẩn (Standard mode)
- Chế độ nhanh (Fast mode)
- Chế độ cao tốc High-Speed (Hs) mode
Hình 2.19 Trình tự truyền bit trên đường truyền
Trình tự truyền bit trên đường truyền:
- Thiết bị chủ tạo một điều kiện start Điều kiện này thông báo cho tất cả các thiết bị tớ lắng nghe dữ liệu trên đường truyền
- Thiết bị chủ gửi địa chỉ của thiết bị tớ mà thiết bị chủ muốn giao tiếp và cờ đọc/ghi dữ liệụ (nếu cờ thiết lập lên 1 thì byte tiếp theo được truyền từ thiết bị tớ đến thiết bị chủ, nếu cờ thiết lập xuống 0 thì byte tiếp theo truyền từ thiết bị chủ đến thiết bị tớ)
- Khi thiết bị tớ trên bus I2C có địa chỉ đúng với địa chỉ mà thiết bị chủ gửi sẽ phản hồi lại bằng một xung ACK
- Giao tiếp giữa thiết bị chủ và tớ trên bus dữ liệu bắt đầu Cả chủ và tớ đều có thể nhận hoặc truyền dữ liệu tùy thuộc vào việc truyền thông là đọc hay viết Bộ truyền gửi 8bit
dữ liệu tới bộ nhận, bộ nhận trả lời với một bit ACK
- Để kết thúc quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện stop
Trang 342.5.2 Chuẩn truyền thông UART
UART viết tắt của “Universal Asynchronous Receiver / Transmitter” là kiểu truyền thông tin nối tiếp không đồng bộ thường là một mạch tích hợp Chức năng chính của UART là truyền dữ liệu nối tiếp Trong UART, giao tiếp giữa hai thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song Việc truyền dữ liệu của UART có thể được thực hiện bằng cách sử dụng bus dữ liệu
ở dạng song song bởi các thiết bị khác như vi điều khiển, bộ nhớ, CPU, Sau khi nhận được dữ liệu song song từ bus, nó tạo thành gói dữ liệu bằng cách thêm ba bit như bắt đầu, dừng lại và trung bình Nó đọc từng bit gói dữ liệu và chuyển đổi dữ liệu nhận được thành dạng song song để loại bỏ ba bit của gói dữ liệu Tóm lại, gói dữ liệu nhận được bởi UART chuyển song song về phía bus dữ liệu ở đầu nhận
Hình 2.20 Truyền thông UART
- Start-bit
Start-bit còn được gọi là bit đồng bộ hóa được đặt trước dữ liệu thực tế Nói chung, một đường truyền dữ liệu không hoạt động được điều khiển ở mức điện áp cao Để bắt đầu truyền dữ liệu, truyền UART kéo đường dữ liệu từ mức điện áp cao (1) xuống mức điện áp thấp (0) UART thu được thông báo sự chuyển đổi này từ mức cao sang mức thấp qua đường dữ liệu cũng như bắt đầu hiểu dữ liệu thực Chỉ có một start-bit
Trang 35- Dữ liệu bit hoặc khung dữ liệu
Các bit dữ liệu bao gồm dữ liệu thực được truyền từ người gửi đến người nhận Độ dài khung dữ liệu có thể nằm trong khoảng 5 và 8 Nếu bit chẵn lẻ không được sử dụng thì chiều dài khung dữ liệu có thể dài 9 bit Nói chung, LSB của dữ liệu được truyền trước tiên sau đó nó rất hữu ích cho việc truyền
2.5.3 Chuẩn truyền thông SPI
SPI (Serial Peripheral Interface, SPI bus) là một chuẩn đồng bộ nối tiếp để truyền
dữ liệu ở chế độ song công toàn phần
Khác với cổng nối tiếp chuẩn (standard serial port), SPI là giao diện đồng bộ, trong
đó bất cứ quá trình truyền nào cũng được đồng bộ hóa với tín hiệu xung clock, tín hiệu này sinh ra bởi thiết bị master (thiết bị chủ động) Thiết bị ngoại vi bên phía nhận (bị động) làm đồng bộ quá trình nhận chuỗi bit với tín hiệu xung clock Có thể kết nối một
số vi mạch vào mỗi giao diện ngoại vi nối tiếp của vi mạch-thiết bị master Thiết bị master chọn thiết bị động để truyền dữ liệu bằng cách kích hoạt tín hiệu "chọn chip" (chip select) trên vi mạch bị động Thiết bị ngoại vi nếu không được chọn bởi bộ vi xử
lý sẽ không tham gia vào quá trình truyền theo giao diện SPI
- Trong giao diện SPI có sử dụng bốn tín hiệu số:
MOSI (Master Out Slave In) hay SI - cổng ra của bên master, cổng vào của bên
bị động, dành cho việc truyền dữ liệu từ thiết bị master đến thiết bị slave
MISO (Master In Slave Out) hay SO - cổng vào của bên master, cổng ra của bên
bị động, dành cho việc truyền dữ liệu từ thiết bị slave đến thiết bị master
SCLK (Serial Clock) hay SCK - tín hiệu xung clock nối tiếp, dành cho việc
truyền tín hiệu dành cho thiết bị slave
CS hay SS (Chip Select, Slave Select): chọn vi mạch, chọn thiết bị slave
Hình 2.21 Giao tiếp SPI
Trang 36CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Yêu cầu đề tài: Thiết kế tủ đựng vật dụng của giảng viên bảo mật bằng vân tay với kích thước 145x85x40 cm, gồm 6 hộc chứa Người sử dụng tương tác và điều khiển thông qua màn hình cảm ứng LCD TFT 3.2 inch Có tích hợp UPS (mạch chuyển nguồn
tự động) cấp nguồn dự phòng lúc mất điện Qua những yêu cầu đã đề ra nhóm sẽ tiến hành tính toán và thiết kế cho hệ thống
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Hình 3.1 Sơ đồ khối hệ thống
Trang 37 Chức năng từng khối:
- Khối xử lý trung tâm: Là khối điều khiển trung tâm cho toàn hệ thống, có nhiệm
vụ kết nối với các thành phần trong hệ thống để truyền dữ liệu điều khiển từ người
sử dụng đến các thiết bị, đồng thời nhận dữ liệu của các cảm biến xử lý và thự thi
- Khối cảm biến vân tay: Sử dụng cảm biến vân tay R305 với chức năng quét vân
tay của người dùng, giao tiếp với vi điều khiển để thực hiện chức năng tương ứng
- Khối module wifi: Khối này có chức năng kết nối với mạng wifi và giao tiếp với
vi điều khiển truyền và nhận dữ liệu sau đó sẽ gửi lên cơ sở dữ liệu để lưu trữ
- Khối thời gian thực: Cung cấp thời gian thực cho hệ thống
- Khối điều khiển và hiển thị (LCD touch screen): Sử dụng một màn hình cảm ứng
cho phép người dùng tương tác và điều khiển trực tiếp trên màn hình Đồng thời hiển thị các thông tin khác từ vi điều khiển trung tâm
- Khối relay: Nhận tín hiệu điều khiển từ khối xử lý trung tâm để đóng mở các relay
tương ứng với các khóa tủ
- Khóa chốt điện: Có chức năng khóa hoặc mở các hộc tủ
- Khối nguồn, UPS và pin dự phòng: Cung cấp nguồn liên tục cho toàn bộ hệ thống,
UPS với chức năng chuyển mạch tự động cấp nguồn dự phòng lúc mất điện
- App: Là một ứng dụng android có chức năng điều khiển và hiển thị thông tin tủ
- Firebase: Là một nền tảng ứng dụng di động và web kết nối giữa App và module
wifi để thực thiện các chức năng của hệ thống
3.3 TÍNH TOÁN VÀ THIẾT KẾ MẠCH
3.3.1 Khối cảm biến vân tay
Hình 3.2 Module cảm biến vân tay R305
Trang 38
Hình 3.3 Hình dạng bên ngoài và kích thước module R305 Thông số kỹ thuật:
- Điện áp cung cấp: DC 3.6 ~ 6.0V
- 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
- 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
Trang 39- 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ụ)
Hình 3.4 Các chân kết nối của module cảm biến vân tây R305
Bảng 3.1: Kí hiệu và chức năng của các chân trên cảm biến vân tay R305
- Khối cảm biến vân tay sử dụng module vân tay R305 có sơ đồ kết nối như sau:
Hình 3.5 Sơ đồ kết nối cảm biến vân tay với vi điều khiển
Trang 40- Giao tiếp giữa cảm biến vân tay và arduino theo chuẩn UART
- Điện áp sử dụng 5V
- Dòng điện làm việc 100mA
- Mô tả chi tiết các chân của cảm biến vân tay kết nối với vi diều khiển:
Chân 1: chân 5V kết nối nguồn để module họat động
Chân 2: chân GND nối mass
Chân 3: chân TD kết nối với chân RX1 của vi điều khiển để nhận dữ liệu của vi điều khiển
Chân 4: chân RD kết nối với chân TX1 của vi điều khiển để truyền dữ liệu cho vi điều khiển
3.3.2 Vi điều khiển
- Với những đặt tính của hệ thống, nhóm lựa chọn vi đều khiển trung tâm là Arduino Mega 2560
- Hình ảnh thực tế của board arduino mega 2560:
Hình 3.6 Board arduino mega 2560
- Arduino Mega 2560: là một bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển
AVR ATMega2560 ATMega2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có
8 KB được sử dụng cho bộ nạp khởi động), 8 KB SRAM và 4 KB của EEPROM
- Có 54 chân vào/ra: Đánh số thứ tự từ 0 đến 53 (với 15 chân có thể diều khiển PWM),
ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF)
- Có 16 đầu vào tương tự: Mỗi ngõ vào tương tự đều có độ phân giải 10 bit (tức là
1024 giá trị khác nhau)
- 4 UART: Truyền và nhận giao tiếp với vi điều khiển ở ngoại vi
- Cổng USB: Đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển Đồng
thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính