1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công hệ thống khóa cửa điện tử

103 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Thi Công Hệ Thống Khóa Cửa Điện Tử
Tác giả Nguyễn Trí Tân, Thân Trọng Quốc
Người hướng dẫn ThS. Nguyễn Văn Phúc
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 103
Dung lượng 8,96 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (18)
    • 1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY (18)
    • 1.2 MỤC TIÊU ĐỀ TÀI (19)
    • 1.3 GIỚI HẠN ĐỀ TÀI (20)
    • 1.4 PHƯƠNG PHÁP NGHIÊN CỨU (20)
    • 1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (21)
    • 1.6 BỐ CỤC QUYỂN BÁO CÁO (21)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (23)
    • 2.1 CÔNG NGHỆ CẢM BIẾN VÂN TAY (23)
      • 2.1.1 Giới thiệu về công nghệ nhận dạng dấu vân tay (0)
      • 2.1.2 Nguyên lý hoạt động của cảm biến quang học (23)
      • 2.1.3 Ứng dụng trong đề tài (24)
    • 2.2 CẤU HÌNH MẠNG WIFI CHO ESP32 THÔNG QUA (APP) VÀ WEB (24)
      • 2.2.2 Nguyên lý hoạt động (25)
      • 2.2.3 Ứng dụng trong đề tài (25)
    • 2.3 API (26)
      • 2.3.1 Tổng quan về API (26)
      • 2.3.2 Tổng quan về Restful API (27)
      • 2.3.3 Ứng dụng trong đề tài (27)
    • 2.4 CHUẨN GIAO TIẾP UART (28)
      • 2.4.1 Tổng quan về UART (28)
      • 2.4.2 Cách thức hoạt động (28)
      • 2.4.3 Các ưu điểm và nhược điểm (0)
    • 2.5 FIREBASE (30)
      • 2.5.1 Tổng quan về Firebase (30)
      • 2.5.2 Cách thức hoạt động của Firebase (31)
      • 2.5.3 Ứng dụng trong đề tài (31)
    • 2.6 GIỚI THIỆU PHẦN MỀM LẬP TRÌNH ỨNG DỤNG DI ĐỘNG KODULAR (32)
      • 2.6.1 Ưu điểm và nhược điểm (0)
      • 2.6.2 Ứng dụng trong đề tài (33)
    • 2.7 PHẦN MỀM LẬP TRÌNH ARDUINO IDE (34)
  • CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG HỆ THỐNG (37)
    • 3.1 THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG (37)
      • 3.1.1 Chức năng của từng khối (38)
      • 3.1.2 Tính toán và thiết kế từng khối (39)
    • 3.2 THIẾT KẾ VÀ THI CÔNG BO MẠCH (59)
      • 3.2.1 Thiết kế (59)
      • 3.2.2 Thi công lắp ráp và kiểm tra (60)
    • 3.3 THIẾT KẾ VÀ THI CÔNG MÔ HÌNH (61)
      • 3.3.1 Thiết kế (61)
      • 3.3.2 Thi công lắp ráp mô hình (63)
    • 3.4 LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG (64)
      • 3.4.1 Chương trình chính (64)
      • 3.4.2 Chương trình hoạt động khi mất sóng WiFi (66)
      • 3.4.3 Chương trình quét dấu vân tay (67)
      • 3.4.4 Chương trình chức năng của các nút bấm (68)
      • 3.4.5 Chương trình đọc giá trị phần trăm pin còn lại (70)
      • 3.4.6 Chương trình chế độ bàn phím (71)
      • 3.4.7 Chương trình đăng ký, thay đổi vân tay chính (74)
      • 3.4.8 Chương trình đăng ký vân tay con (75)
      • 3.4.9 Chương trình xử lý ID (76)
      • 3.4.10 Chương trình thêm vân tay (77)
    • 3.5 THIẾT KẾ VÀ LẬP TRÌNH ỨNG DỤNG DI ĐỘNG (78)
      • 3.5.1 Thiết kế giao diện người dùng (78)
      • 3.5.2 Thiết kế các hoạt động của ứng dụng di động (78)
      • 3.5.3 Lưu đồ giải thuật của ứng dụng di động (0)
  • CHƯƠNG 4 KẾT QUẢ THỰC HIỆN (86)
    • 4.1 KẾT QUẢ THỰC HIỆN PHẦN CỨNG (86)
      • 4.1.1 Thiết lập WiFi cho hệ thống (0)
      • 4.1.2 Các trạng thái của hệ thống (87)
    • 4.2 Kết quả phần mềm (92)
    • 4.3 NHẬN XÉT- ĐÁNH GIÁ (95)
      • 4.3.1 Nhận xét (0)
      • 4.3.2 Đánh giá hệ thống (96)
  • CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (98)
    • 5.1 KẾT LUẬN (98)
    • 5.2 HƯỚNG PHÁT TRIỂN (99)
  • TÀI LIỆU THAM KHẢO (100)
  • PHỤ LỤC (102)

Nội dung

TỔNG QUAN

GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY

Thế giới công nghệ không ngừng phát triển, với những cuộc cách mạng 4.0 mang lại sự tiện lợi và an toàn cho cuộc sống hàng ngày Để đáp ứng nhu cầu ngày càng cao, công nghệ bảo mật, đặc biệt là hệ thống cửa điện tử, đang được nâng cấp và phổ biến rộng rãi Mặc dù không còn mới mẻ, khóa cửa điện tử vẫn thu hút sự chú ý trong nghiên cứu và phát triển, song hành cùng các thiết bị di động như smartphone và iPad Trong bối cảnh toàn cầu hóa diễn ra nhanh chóng, việc bảo mật thông tin cá nhân trở nên quan trọng hơn bao giờ hết, dẫn đến sự ra đời của công nghệ sinh trắc, đáp ứng nhu cầu nhận diện cá nhân trong một thế giới đông đúc.

Công nghệ sinh trắc ngày nay đóng vai trò quan trọng trong việc bảo mật các thiết bị điện tử thông minh, với những đặc trưng như vân tay, nhận diện khuôn mặt, quét mống mắt và nhận diện giọng nói Mỗi đặc điểm sinh trắc đều có ưu điểm và nhược điểm riêng, phù hợp với nhu cầu sử dụng khác nhau Trong số đó, nhận dạng dấu vân tay là một trong những phương pháp phổ biến và hiệu quả nhất, nhờ vào tính chính xác và độ tin cậy cao của kỹ thuật nhận dạng.

Khóa cửa điện tử ngày càng được phát triển để phù hợp với xu hướng ứng dụng IoT (Internet of Things), cho phép kết nối dễ dàng với các thiết bị thông minh.

Khóa cửa thông minh cho phép người dùng tương tác và hỗ trợ tiện lợi thông qua ứng dụng đi kèm trên smartphone hoặc iPad Người dùng có thể dễ dàng mở và đóng cửa từ xa, đồng thời kiểm soát trạng thái và thông tin lưu trữ trong hệ thống khóa cửa.

Nhóm đã quyết định thực hiện đề tài "THIẾT KẾ VÀ THI CÔNG KHÓA CỬA ĐIỆN TỬ" với chi phí hợp lý, phù hợp cho các khu sinh hoạt nhỏ như dãy trọ sinh viên và khu sống tập thể Sản phẩm kế thừa từ khóa cửa đời mới Lockin X1 của Xiaomi và tích hợp thêm các chức năng tiện lợi từ Bosch cùng các hãng khóa điện tử trong nước như Lumi và Việt Tiệp Hệ thống đảm bảo an ninh với tính năng ghi lại lịch sử hoạt động đóng mở cửa, được hiển thị rõ ràng trên ứng dụng Android Bên cạnh đó, hệ thống còn cho phép người quản lý dễ dàng chỉnh sửa danh sách thông tin dấu vân tay.

MỤC TIÊU ĐỀ TÀI

Nhóm đặt ra mục tiêu thiết kế hệ thống cửa điện tử an toàn, có khả năng ứng dụng thực tế, tập trung vào phát triển phần cứng và ứng dụng di động.

Hệ thống phần cứng được thiết kế để mở khóa qua nhập mật khẩu từ bàn phím 4x4, cảm biến vân tay bên ngoài và nút nhấn bên trong Người dùng có thể thêm, chỉnh sửa hoặc xóa mật khẩu và dấu vân tay Hệ thống cung cấp thông báo hướng dẫn và cảnh báo khi pin sắp hết Nó hỗ trợ kết nối WiFi và truyền dữ liệu với Firebase, đồng thời lưu trữ thông tin trong bộ nhớ FLASH để bảo vệ dữ liệu khi reset Ngay cả khi mất điện hoặc mất sóng WiFi, hệ thống vẫn có thể mở khóa bằng vân tay, mật khẩu và nút bấm.

Xây dựng ứng dụng di động cho phép người dùng đăng nhập, mở khóa và hiển thị chi tiết lịch sử các hoạt động Ứng dụng cũng cung cấp danh sách người đăng ký cùng với lượng phần thưởng mà họ đã nhận.

Hệ thống còn 300 pin và cho phép cài đặt các thông số như âm lượng và thời gian mở cửa Nó có khả năng thông báo cho người dùng khi pin sắp hết, khi có cố gắng đăng nhập trái phép, và khi cửa mở lâu hơn thời gian cho phép.

GIỚI HẠN ĐỀ TÀI

Đề tài “THIẾT KẾ VÀ THI CÔNG KHÓA CỬA ĐIỆN TỬ ” của nhóm có những giới hạn như sau

- Đề tài hướng đến khóa cửa điện tử sử dụng cho hộ gia đình hoặc khu sống tập thể có số lượng ít hơn 120 người

- Hệ thống chủ yếu sử dụng các module trên thị trường

Hệ thống chỉ hỗ trợ mở khóa bằng vân tay, mật khẩu và điều khiển từ xa qua ứng dụng trên điện thoại thông minh, không có chức năng nhận diện giọng nói và khuôn mặt.

- Đề tại không tập trung sử lý khóa cơ.

PHƯƠNG PHÁP NGHIÊN CỨU

Nhóm nghiên cứu đã tiến hành xem xét và nghiên cứu các tài liệu, sách, bài báo, internet, diễn đàn quốc tế, cùng với các báo cáo và nghiên cứu trước đó liên quan đến khóa cửa điện tử thông minh Qua quá trình này, nhóm đã tổng hợp và tạo ra cái nhìn tổng quát về lợi ích, ưu điểm và nhược điểm của hệ thống khóa cửa điện tử.

Nhóm đã tiến hành thu thập và phân tích dữ liệu từ các nguồn thông tin thực tế như khảo sát, phỏng vấn và quan sát trực tiếp các loại khóa trên thị trường Mục tiêu là nắm bắt nhu cầu, yêu cầu và hạn chế của người dùng khi sử dụng khóa cửa điện tử thông minh Dựa trên dữ liệu thu thập được, nhóm đã phân tích và đưa ra các giải pháp nhằm khắc phục những hạn chế hiện tại của loại khóa này trong thực tế.

Nhóm nghiên cứu đã tiến hành đánh giá kết quả và so sánh với các mục tiêu ban đầu Qua quá trình này, những kết quả đạt được được phân tích một cách chi tiết, giúp xác định mức độ hoàn thành và hiệu quả của nghiên cứu.

Bốn nhóm đã phân tích kỹ lưỡng những ưu điểm và hạn chế của khóa cửa điện tử thông minh, đồng thời đánh giá khả năng áp dụng của sản phẩm này trong các hộ gia đình và khu trọ nhỏ.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

+ Nghiên cứu nguyên lý hoạt động của các phần cứng kit ESP32, module cảm biến vân tay AS 608, DFPlayer mini, bàn phím ma trận,…

Nghiên cứu các ngôn ngữ lập trình liên quan đến phát triển và tùy chỉnh chức năng của hệ thống khóa cửa điện tử thông minh là rất quan trọng Bên cạnh đó, lập trình ứng dụng di động Android bằng công cụ Kodular và tìm hiểu về giao tiếp API giữa các ứng dụng khác nhau cũng góp phần nâng cao hiệu quả hoạt động Cuối cùng, nguồn pin có thể sạc sẽ cung cấp năng lượng cho toàn bộ hệ thống, đảm bảo sự ổn định và tiện lợi cho người dùng.

Nghiên cứu này tập trung vào việc cải tiến các mô hình hiện có trên thị trường bằng cách tích hợp thêm các chức năng mới và phát triển ứng dụng di động, nhằm đáp ứng nhu cầu sử dụng cho hộ gia đình và nhà trọ.

BỐ CỤC QUYỂN BÁO CÁO

Nội dung báo cáo sẽ được tổ chức theo cấu trúc gồm 6 chương như sau:

Chương đầu tiên cung cấp cái nhìn tổng quan về đề tài nghiên cứu, nhấn mạnh sự cần thiết và tính cấp bách của việc nghiên cứu Nó nêu rõ mục tiêu và nhiệm vụ của đề tài, đồng thời xác định giới hạn nghiên cứu Phương pháp nghiên cứu được trình bày một cách rõ ràng, cùng với việc xác định đối tượng và phạm vi nghiên cứu Cuối cùng, chương này cũng đề cập đến bố cục của báo cáo.

- Chương 2: Cơ sở lý thuyết

Chương này trình bày các lý thuyết về phần cứng, phần mềm và các dịch vụ được sử dụng trong toàn bộ thống khóa cửa điện tử

- Chương 3: Thiết kế và thi công hệ thống

Quy trình thiết kế hệ thống khóa cửa điện tử thông minh bao gồm việc tính toán và xây dựng sơ đồ khối, giúp hình dung cấu trúc tổng thể của hệ thống Bài viết cũng mô tả sơ đồ nguyên lý hoạt động và lưu đồ giải thuật, cung cấp cái nhìn rõ ràng về cách thức hoạt động và các bước thực hiện trong quá trình thiết kế.

5 của hệ thống Trình bày cách thiết kế ứng dụng di động bằng công cụ

Kodular, sơ đồ thiết kế mạch in PCB

- Chương 4: Kết quả thực hiện

Chương này sẽ trình bày kết quả thi công phần cứng và phần mềm của hệ thống khóa cửa, kèm theo hình ảnh thực tế minh họa mô hình hệ thống Từ đó, chúng tôi sẽ đưa ra nhận xét và đánh giá tổng quan về hiệu quả của hệ thống.

- Chương 5: Kết luận và hướng phát triển

Chương cuối sẽ trình bày kết quả thông qua hình ảnh và video thực tế của hệ thống khóa điện tử, đồng thời liệt kê các mục tiêu đã hoàn thành so với kế hoạch ban đầu Phân tích ưu điểm và nhược điểm của hệ thống sẽ được thực hiện, từ đó đề xuất hướng phát triển tiếp theo và cải thiện đề tài.

CƠ SỞ LÝ THUYẾT

CÔNG NGHỆ CẢM BIẾN VÂN TAY

2.1.1 Giới thiệu về công nghệ nhận dạng dấu vân tay

Công nghệ nhận dạng dấu vân tay là một phương pháp hiện đại và đáng tin cậy để xác định và phân biệt cá nhân dựa trên các đặc điểm độc nhất của dấu vân tay Mỗi ngón tay của con người có mẫu vân tay riêng biệt, không trùng lặp và không thay đổi trong suốt cuộc đời Nguyên lý hoạt động của công nghệ này là so sánh mẫu vân tay của người dùng với dữ liệu vân tay đã được lưu trữ trong hệ thống.

Trong lĩnh vực khóa cửa vân tay, các công nghệ cảm biến phổ biến bao gồm cảm biến quang học, cảm biến điện trở, cảm biến siêu âm và cảm biến dạng hình Những công nghệ này giúp ghi lại và xác định các đặc điểm độc nhất của dấu vân tay, từ đó đảm bảo tính bảo mật và độ chính xác cao trong việc xác thực người dùng.

2.1.2 Nguyên lý hoạt động của cảm biến quang học

Hình 2.1 Nguyên lý hoạt động của cảm biến quang học [1]

Công nghệ cảm biến quang học quét và lấy mẫu dấu vân tay bằng cách sử dụng ánh sáng Cảm biến này chiếu sáng vùng da chứa vân tay bằng đèn LED, kết hợp với hệ thống máy ảnh để phát hiện và tạo hình ảnh dấu vân tay thông qua việc xác định các vùng sáng và tối Quá trình quét bắt đầu khi người dùng đặt ngón tay lên bề mặt của cảm biến quang học, sử dụng hai loại máy dò khác nhau.

Cảm biến quang học, bao gồm thiết bị ghép điện tích (CCD) và thiết bị chụp ảnh quang học dựa trên cảm biến CMOS, mang lại độ chính xác cao và đáng tin cậy trong việc nhận dạng dấu vân tay Dưới đây là các bước chuyển đổi từ ảnh vân tay thành dòng dữ liệu.

Hình 2.2 Chuyển đổi ảnh vân tay sang dòng dữ liệu [2]

2.1.3 Ứng dụng trong đề tài

Nhóm nghiên cứu tập trung vào ứng dụng công nghệ nhận dạng vân tay trong hệ thống ổ khóa cửa Công nghệ này được tích hợp vào cảm biến vân tay, mang lại phương pháp xác thực hiệu quả và bảo mật Điều này không chỉ giúp người dùng dễ dàng sử dụng mà còn thuận tiện cho việc quản lý.

CẤU HÌNH MẠNG WIFI CHO ESP32 THÔNG QUA (APP) VÀ WEB

Hình 2.3 Access Point từ ESP32 [3]

Khi cấu hình ESP32 thành Access Point, người dùng có thể tạo ra một mạng WiFi với tên và mật khẩu tùy chỉnh Các thiết bị khác sẽ có khả năng phát hiện và kết nối với mạng WiFi này.

Khi một thiết bị di động kết nối thành công với điểm truy cập ESP32, nó sẽ nhận được địa chỉ IPv4 và trở thành một phần của mạng WiFi ESP32 đóng vai trò quan trọng trong việc xử lý các yêu cầu từ thiết bị kết nối, đồng thời cung cấp dịch vụ như gửi và nhận dữ liệu qua mạng.

Web Server là phần mềm hoặc thiết bị hỗ trợ trang Web và ứng dụng Web cho các thiết bị kết nối mạng, đáp ứng yêu cầu HTTP từ máy khách và cung cấp tài nguyên Web ESP32 tích hợp chức năng Web Server, hoạt động như một máy chủ Web nhỏ, nhận yêu cầu HTTP từ máy khách và phản hồi bằng cách cung cấp tài nguyên Web tương ứng.

- ESP32 được cấu hình để hoạt động trong chế độ AP, tạo ra một mạng WiFi mới với tên và mật khẩu được định nghĩa trước

- Khi một thiết bị khác muốn kết nối vào mạng WiFi của ESP32, người dùng sẽ tìm kiếm và chọn kết nối vào mạng WiFi ESP32

- Sau khi kết nối thành công, thiết bị sẽ tự động mở một trình duyệt web và truy cập vào địa chỉ IPv4 của ESP32

- Trên Web Server của ESP32, hiển thị một giao diện người dùng đơn giản, cho phép nhập SSID và mật khẩu của WiFi mà ESP32 muốn kết nối

- Khi người dùng nhấn nút "save" , thông tin tên mạng WiFi và mật khẩu sẽ được gửi từ trình duyệt Web tới ESP32 bằng yêu cầu HTTP POST

- ESP32 nhận dữ liệu từ yêu cầu HTTP POST và lưu trữ thông tin mạng WiFi vào bộ nhớ FLASH

- Các lần hoạt động sau đó, ESP32 sẽ tự động kết nối vào mạng WiFi mới với các thông tin đã được cấu hình

2.2.3 Ứng dụng trong đề tài

Nhóm nghiên cứu đã phát triển một hệ thống cấu hình mạng WiFi cho ESP32 thông qua Access Point và Web Server, giúp người dùng dễ dàng cấu hình tên và mật khẩu mạng WiFi cần thiết cho kết nối của ESP32 Hệ thống này mang lại cái nhìn trực quan và thuận tiện cho người sử dụng.

Bộ nhớ FLASH của ESP32 cho phép hệ thống tự động lưu trữ thông tin mạng WiFi, giúp thiết bị dễ dàng kết nối lại với mạng WiFi đã được cấu hình sau khi khởi động lại.

API

Hình 2.4 Tổng quan về API [4]

API (Giao diện lập trình ứng dụng) hoạt động như một cầu nối giữa giao diện web và ứng dụng (như Facebook, Instagram, Twitter) với máy chủ lưu trữ dữ liệu Bên cạnh đó, API cung cấp dữ liệu cho các đối tác, chẳng hạn như các ví điện tử sử dụng thông tin từ các nhà mạng Dữ liệu trả về từ API thường ở định dạng JSON hoặc XML.

2.3.2 Tổng quan về Restful API

Hình 2.5 Tổng quan về Restful API [5]

Trước khi nói về Restful API, chúng ta cần hiểu cơ bản về chuẩn Rest Chuẩn Rest là một tập bao gồm 6 ràng buộc :

• Stateless : Server không lưu trữ các thông tin yêu cầu từ máy client

• Cacheable : máy Client sẽ được Server cho phép lưu trữ một số phản hồi từ Server vào bộ nhớ đệm, điều này giúp tăng hiệu suất cho hệ thống

• Uniform interface : mỗi tài nguyên chỉ có duy nhất 1 URL chỉ tới nó

• Layer system : nhiều lớp Server

• Code on command (không bắt buộc)

Để được gọi là Restful API, API cần tuân thủ ít nhất 5 ràng buộc nhất định Restful API bao gồm 4 phương thức yêu cầu quan trọng từ Client đến Server.

2.3.3 Ứng dụng trong đề tài

Nhóm sử dụng Restful API và phương thức POST từ ESP32 lên Onesignal để tạo ra thông báo đa dạng và linh hoạt từ hệ thống đến ứng dụng di động Việc áp dụng API của Onesignal cho phép nhóm gửi thông báo đến các thiết bị di động đã cài đặt ứng dụng tương ứng.

CHUẨN GIAO TIẾP UART

UART (Bộ truyền nhận dữ liệu nối tiếp bất đồng bộ) là một giao thức truyền thông giúp kết nối hai thiết bị mà không cần phân biệt vai trò master và slave Trong giao tiếp UART, một thiết bị sẽ đóng vai trò là bộ truyền (transmitter) và thiết bị còn lại sẽ là bộ nhận (receiver), tạo nên một kết nối hiệu quả và đơn giản cho việc truyền tải dữ liệu.

UART là một phương thức truyền dữ liệu nối tiếp đơn giản và hiệu quả, sử dụng hai chân Tx và Rx để kết nối giữa hai thiết bị Các đặc điểm hoạt động của UART bao gồm khả năng truyền tải dữ liệu với tốc độ cao và độ tin cậy cao, phù hợp cho nhiều ứng dụng trong lĩnh vực điện tử và viễn thông.

- Dữ liệu được truyền và nhận theo các bit liên tiếp, không cần xung clock chung

- Giao tiếp UART là bất đồng bộ, nghĩa là không cần đồng bộ theo một xung clock chung

Để đảm bảo sự đồng bộ giữa hai thiết bị, cần tuân thủ các thiết lập chung như tốc độ baud, kích thước khung dữ liệu, bit start, bit stop và bit parity Dưới đây là hình ảnh kết nối phần cứng của hai thiết bị qua giao thức UART.

Hình 2.6 Kết nối chuẩn UART [6]

Khi thiết bị 1 (bộ truyền) nhận dữ liệu từ bên ngoài, UART sẽ tạo ra một khung dữ liệu bằng cách thêm một bit start, từ 5 đến 9 bit dữ liệu, một bit parity và một hoặc hai bit stop Gói dữ liệu này sau đó được truyền từng bit liên tiếp qua chân Tx UART của thiết bị 1.

Khi thiết bị 2 (bộ nhận) nhận dữ liệu, chân Rx UART sẽ tiếp nhận từng bit và loại bỏ các bit start, bit parity và bit stop để phục hồi dữ liệu về dạng gốc Sau khi được chuyển đổi, dữ liệu sẽ được đưa vào bus dữ liệu tại đầu nhận.

Dưới đây là khung truyền của chuẩn giao tiếp UART

Hình 2.7 Khung truyền chuẩn UART [6]

Trong chuẩn giao tiếp UART, khung truyền bao gồm một bit start để đánh dấu sự bắt đầu, tiếp theo là từ 5 đến 9 bit dữ liệu, một bit parity để kiểm tra lỗi, và một hoặc hai bit stop để đánh dấu sự kết thúc của khung dữ liệu.

2.4.3 Các ưu điểm và nhược điểm

Trong phần này sẽ trình bày ưu điểm và nhược điểm của chuẩn giao tiếp UART

+ Đơn giản: UART là một giao thức đơn giản và dễ triển khai

+ Linh hoạt: UART có thể hoạt động với nhiều tốc độ truyền khác nhau và hỗ trợ đa số các nền tảng vi điều khiển và vi xử lý

+ Tiết kiệm tài nguyên: UART không đòi hỏi nhiều tài nguyên phần cứng và không yêu cầu xung clock bên ngoài

+ Tốc độ truyền thông hạn chế: UART có tốc độ truyền dữ liệu tương đối thấp so với các giao thức giao tiếp khác như Ethernet hay USB

UART không hỗ trợ đồng bộ dữ liệu giữa các thiết bị do sử dụng truyền bất đồng bộ, điều này có thể dẫn đến mất mát và sai sót dữ liệu.

Trong đề tài, nhóm sử dụng giao thức UART để kết nối module DFPlayer MP3 Mini và module cảm biến vân tay với ESP32.

FIREBASE

Firebase là một cơ sở dữ liệu thời gian thực do Google cung cấp, với hệ thống máy chủ mạnh mẽ phân bố toàn cầu Nền tảng này hỗ trợ phát triển ứng dụng di động và web thông qua các API đơn giản, giúp lập trình viên dễ dàng tiếp cận và triển khai sản phẩm cho hàng triệu người dùng Đặc biệt, Firebase cung cấp dịch vụ đa năng với tính bảo mật cao, tương thích với cả hai hệ điều hành Android và iOS.

Firebase có rất nhiều ưu điểm giúp cho người dùng dễ tiếp cận, nhưng song song với các ưu điểm, vẫn còn tồn tại các khuyết điểm nhất định

+ Các bước tạo tài khoản đơn giản và giao diện dễ dàng sử dụng ngay cả với những người bắt đầu

+ Được phát triển và cập nhật hằng năm

+ Bao gồm nhiều dịch vụ khác nhau trong cùng một nền tảng

+ Được cung cấp bởi công ty Google, mang lại uy tín và bảo mật cho người sử dụng

+ Người dùng không có quyền truy cập mã nguồn

+ Firebase không được hoạt động ở nhiều quốc gia

+ Tốc độ truy vấn chậm, thời gian đẩy thông báo lên ứng dụng tốn khoảng 2 đến 3 phút

+ Tất cả các dịch vụ của Firebase không hoàn toàn miễn phí

+ Chỉ có thể chạy trên Google Cloud

2.5.2 Cách thức hoạt động của Firebase

Firebase Realtime Database là một dịch vụ cơ sở dữ liệu thời gian thực, cho phép người dùng lưu trữ và đồng bộ dữ liệu dưới dạng cây JSON Với khả năng đồng bộ theo thời gian thực, Firebase Realtime Database rất hữu ích trong việc phát triển ứng dụng có độ phản hồi cao, đặc biệt là trong các hệ thống khóa cửa điện tử.

Firebase Authentication là dịch vụ xác thực người dùng, cung cấp nhiều phương thức như đăng nhập qua Gmail, tài khoản Facebook và số điện thoại Chức năng xác thực này đóng vai trò quan trọng trong việc bảo mật cho các ứng dụng và hệ thống.

2.5.3 Ứng dụng trong đề tài

Nhóm đã sử dụng Firebase Realtime Database để lưu trữ thông tin lịch sử và danh sách vân tay đã đăng ký Đồng thời, họ tận dụng sự thay đổi giá trị trong cơ sở dữ liệu để điều khiển hệ thống từ xa qua ứng dụng di động.

Nhóm sử dụng dịch vụ Firebase Authentication để thực hiện cách đăng nhập vào ứng dụng di động bằng mã OTP

GIỚI THIỆU PHẦN MỀM LẬP TRÌNH ỨNG DỤNG DI ĐỘNG KODULAR

Hình 2.9 Logo của phần mềm Kodular

Hiện nay, có nhiều phần mềm hỗ trợ lập trình viên phát triển ứng dụng di động và ứng dụng IoT, tiêu biểu như MIT App Inventor và Kodular, cả hai đều sử dụng nền tảng kéo thả Nền tảng này cho phép lập trình viên dễ dàng tạo ứng dụng bằng cách kéo và thả các khối lệnh có sẵn hoặc các khối lệnh tùy chỉnh do chính họ phát triển.

Do tính chất của đồ án chủ yếu tập trung vào phần cứng và không theo hướng lập trình ứng dụng di động, nhóm đã quyết định không sử dụng ngôn ngữ lập trình Java trên các IDE như Android Studio Thay vào đó, Kodular được lựa chọn để thiết kế giao diện người dùng, cho phép sắp xếp bố cục và quản lý các khung hình trong ứng dụng Ngoài việc thiết kế giao diện, Kodular còn cung cấp các khối lệnh như logic, biến, lệnh số học và danh sách, hỗ trợ tạo ra các tác vụ hoạt động cho ứng dụng.

2.6.1 Ưu điểm và nhược điểm

+ Có thao tác và giao diện dễ sử dụng cho người mới

+ Có cộng đồng khá lớn trên quốc tế

+ Có phần mềm phụ Companion giúp việc chạy thử ứng dụng một cách nhanh chóng và chính xác

+ Dễ dàng liên kết với các dịch vụ của Firebase

+ Các component có sẵn không được thay đổi, dẫn đến khó phát triển trong các ứng dụng chuyên nghiệp

+ Bị gò bó trong các khối lệnh có sẵn

2.6.2 Ứng dụng trong đề tài

Nhóm đã nâng cấp hệ thống khóa cơ bản với các phương thức mở cửa như vân tay, thẻ và mật mã, bằng cách bổ sung chức năng điều khiển cửa từ xa thông qua ứng dụng được phát triển từ phần mềm lập trình Kodular.

PHẦN MỀM LẬP TRÌNH ARDUINO IDE

Hình 2.10 Logo của Arduino IDE

Arduino IDE là một môi trường phát triển tích hợp cho vi điều khiển Arduino

Nó cung cấp một giao diện đồ họa dễ sử dụng để viết, tải lên và chạy các chương trình trên các bo mạch Arduino, ESP32…

Arduino IDE có 1 số tính năng nổi bật sau:

Giao diện người dùng của IDE rất đơn giản và thân thiện, giúp người dùng dễ dàng tạo, mở và lưu trữ các tệp tin cũng như chương trình cho vi điều khiển.

- Thư viện và ví dụ: Arduino IDE có bộ thư viện lớn và các ví dụ đi kèm được cung cấp để giúp người dùng lập trình

Công cụ giám sát và gỡ lỗi trong IDE giúp người dùng kiểm tra giá trị biến, gỡ lỗi chương trình và theo dõi quá trình thực thi một cách hiệu quả.

Arduino IDE là một công cụ mạnh mẽ và phổ biến cho lập trình các dự án vi điều khiển Arduino, được sử dụng rộng rãi trong cộng đồng.

Giao diện chính của phần mềm bao gồm

- Thanh Menu: Chứa các tùy chọn và chức năng để quản lý, chỉnh sửa và tải xuống các chương trình Arduino

- Thanh công cụ: Chứa các nút điều khiển các tác vụ thường dùng như lưu, tải lên, mở, và mới

Cửa sổ mã nguồn là nơi để viết mã Arduino, cho phép người dùng tạo ra các chương trình Arduino bằng cách sử dụng ngôn ngữ lập trình C/C++ Tại đây, người dùng sẽ được hỗ trợ tính năng tô sáng cú pháp và tự động hoàn thành mã, giúp quá trình lập trình trở nên dễ dàng và hiệu quả hơn.

- Cửa sổ thông báo: Hiển thị thông báo và lỗi từ quá trình biên dịch và tải xuống

- Thanh trạng thái: Hiển thị trạng thái kết nối, tên loại board Arduino và cấu hình

Hình 2.11 Giao diện chính của phần mềm

Bảng 2.1 Các nút lệnh trên thanh công cụ phần mềm Arduino IDE

Biểu tượng Tên Chức năng

Verify Kiểm tra lỗi và biên dịch code

Upload Dịch và upload code vào bo mạch đã được cài đặt sẵn

Open Mở một sketch có sẵn

Serial Monitor Mở serial monitor

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG

THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG

Khóa cửa điện tử có nhiều tính năng đa dạng, nhưng dưới đây là những chức năng chính và quan trọng nhất trong hệ thống.

Các chức năng cơ bản của hệ thống nhận diện vân tay bao gồm thêm và xóa dấu vân tay, mở cửa bằng vân tay, cũng như phân biệt giữa vân tay chính và vân tay con Dữ liệu của từng ID vân tay được lưu trữ trong bộ nhớ FLASH của khối xử lý trung tâm.

- Các chức năng phổ biến của bàn phím ma trận như thêm, xóa mật khẩu chính, mở cửa bằng mật khẩu, thêm và xóa mật khẩu tạm

Dữ liệu được bổ sung sẽ được khối xử lý trung tâm đưa lên Firebase và hiển thị trên ứng dụng di động, giúp người dùng dễ dàng quản lý thông tin.

Sơ đồ khối hệ thống khóa cửa điện tử được mô tả như trong hình

Hình 3.1 Sơ đồ khối hệ thống khóa cửa điện tử

3.1.1 Chức năng của từng khối

Khối xử lý trung tâm nhận thông tin từ các cảm biến và giá trị đọc từ Firebase, sau đó thực hiện xử lý và điều khiển các khối hiển thị, khối RELAY, và khối âm thanh, đồng thời đẩy giá trị trở lại Firebase.

Khối cảm biến: bao gồm cảm biến vân tay và cảm biến từ

Cảm biến vân tay AS608 thực hiện quét và xử lý dấu vân tay của người dùng, đồng thời lưu trữ thông tin này Cảm biến kết nối với vi điều khiển qua chuẩn UART, cho phép truyền nhận dữ liệu hiệu quả.

Cảm biến từ, hay còn gọi là khối cảm biến đóng mở cửa, hoạt động bằng cách dẫn điện khi cửa đóng và ngắt điện khi cửa mở Thiết bị này gửi tín hiệu dưới dạng mức điện áp đến khối xử lý trung tâm, giúp nhận diện trạng thái của cửa một cách chính xác.

Khối thông báo: bao gồm loa và LED RGB

- Loa: nhận tín hiệu điều khiển từ khối xử lý trung tâm, phát ra các âm thanh để hướng dẫn người dùng, âm bàn phím, âm báo động

LED được sử dụng để hiển thị trạng thái của hệ thống thông qua màu sắc, cho phép người dùng nhận biết các chế độ hoạt động và phản hồi tính đúng sai trong quá trình xác nhận.

Khối ngoại vi: bao gồm bàn phím ma trận và nút nhấn

- Bàn phím ma trận: giúp người dùng nhập mật mã hoặc thực hiện các thao tác khác trên hệ thống

- Nút nhấn: được đặt mặt bên trong của khóa, cho phép người dùng mở cửa ngay lập tức khi được nhấn

Khối chấp hành bao gồm module relay, module tăng áp và khóa điện, trong khi khối Firebase đảm nhiệm việc kết nối và truyền nhận dữ liệu giữa hệ thống và Firebase Nó cũng lưu trữ và cập nhật các giá trị cũng như trạng thái của hệ thống trên Firebase Database.

Khối Onesignal: gửi thông báo từ khối điều khiển đến điện thoại người dùng sử dụng

Khối APP: điều khiển, chỉnh sửa và hiển thị các thông số của hệ thống cửa

Khối nguồn: cấp nguồn cho toàn bộ hệ thống, đảm bảo hoạt động liên tục và ổn định của các khối khác trong hệ thống cửa

3.1.2 Tính toán và thiết kế từng khối

3.1.2.1 Khối xử lý trung tâm

• Phân tích và lựa chọn linh kiện

Để đảm bảo hệ thống có đủ chân GPIO kết nối và điều khiển các khối xung quanh, cùng với bộ nhớ EEPROM rộng để lưu trữ dữ liệu người dùng và khả năng kết nối WiFi, nhóm đã quyết định chọn ESP WROOM 32 làm khối xử lý trung tâm cho khóa điện tử hiện đại.

Bảng 3.1 Liệt kê số lượng chân của từng linh kiện

Linh kiện Số lượng chân sử dụng

Cảm biến vân tay AS608 4

ESP WROOM 32 là một module thu phát WiFi và Bluetooth, được phát triển bởi ESPressif Systems, với 32 chân vào/ra Đây là một trong những thiết bị mạnh mẽ và linh hoạt nhất trong dòng sản phẩm ESP32.

Thiết bị 23 là một lựa chọn tuyệt vời cho các dự án IoT nhờ vào khả năng truyền tín hiệu dữ liệu qua sóng WiFi và Bluetooth Nó hỗ trợ lập trình viên trong việc dễ dàng xây dựng và phát triển các ứng dụng và dự án sử dụng WiFi, Bluetooth thông qua Arduino IDE.

Hình 3.2 ESP WROOM 32 [8] Hình 3.3 Sơ đồ nguyên lý kết nối

Bảng 3.2 Thông số kỹ thuật của ESP WROOM 32 [8]

IC chính WiFi BLE SoC ESP32 ESP-WROOM-3232 Điện áp hoạt động 5VDC

Dòng điện sử dụng ~90mA

WiFi 802.11 b/g/n/d/e/i/k/r (tốc độ lên đến 150Mbps)

Tương thích hoàn toàn với trình biên dịch

- Các chân số 0, 2, 4, 12, 14, 15, 32, 33 kết nối với bàn phím ma trận 4x4

- Chân số 32 được kết nối với một nút bấm, có tác dụng mở cửa ngay lập tức từ bên trong Sử dụng ngắt ngoài cho chân 32

- Các chân số 5, 18,19 kết nối với LED RGB

- Các chân 25, 26 kết nối với cảm biến vân tay AS608 theo chuẩn giao tiếp UART

- Các chân 16, 17 kết nối với module MP3 DFPlayer theo chuẩn giao tiếp UART

- Chân số 27 dùng để điều khiển relay

- Chân số 36 dùng để đọc giá trị phần trăm của nguồn pin

- Sử dụng ADC chân 36 để đọc giá trị phần trăm pin

- Chân số 13 dùng để đọc giá trị từ cảm biến từ

- Bộ nhớ sử dụng chiếm 85 % bộ nhớ.

3.1.2.2 Khối ngoại vi a Bàn phím ma trận

• Phân tích và lựa chọn linh kiện

Hệ thống yêu cầu nhập mật khẩu số và các ký tự khác để thực hiện các chức năng Vì vậy, nhóm đã quyết định sử dụng bàn phím ma trận 4x4, bao gồm cả số và các chữ cái A, B, C, nhằm tạo điều kiện thuận lợi cho việc thao tác toàn bộ chức năng của hệ thống.

Bàn phím ma trận 4x4 có giao diện thân thiện và dễ dàng kết nối với hầu hết các vi điều khiển, hỗ trợ hiệu quả cho lập trình viên Sự phổ biến của bàn phím ma trận này đến từ việc chỉ cần số chân kết nối ít Với 16 phím bấm được chia thành 4 hàng và 4 cột, bàn phím ma trận chỉ cần tối đa 8 pin để thao tác, giúp tiết kiệm tài nguyên và đơn giản hóa quá trình lập trình.

Hình 3.4 Bàn phím ma trận 4x4 [9] Hình 3.5 Sơ đồ nguyên lý bàn phím ma trận

Bảng 3.3 Thông số kỹ thuật của bàn phím ma trận 4x4

Loại bàn phím ma trận Mềm Độ dài cáp 88mm

Nhiệt độ hoạt động 0~70oC

Kích thước 77x69mm b Nút nhấn

Hình 3.6 Sơ đồ nguyên lý nút bấm

Nút nhấn tích cực mức thấp được kết nối với chân số 32 của ESP32, cho phép lập trình ngắt ngoài INT0 Điều này giúp thực hiện chức năng mở cửa ngay lập tức từ bên trong.

3.1.2.3 Khối cảm biến a Cảm biến từ

• Phân tích và lựa chọn linh kiện

Sau khi hoàn thiện thiết kế hệ thống, nhóm đã tiến hành xây dựng mô hình cửa thực tế Cảm biến từ được lựa chọn là giải pháp tối ưu cho việc kiểm soát trạng thái đóng mở của cánh cửa.

THIẾT KẾ VÀ THI CÔNG BO MẠCH

Thiết kế và thi công mạch PCB là yếu tố then chốt trong việc phát triển các hệ thống điện tử chất lượng và ổn định Mạch PCB không chỉ là bản thiết kế mà còn là nơi lắp đặt và kết nối các linh kiện điện tử thông qua các đường dẫn điện Để đảm bảo hệ thống hoạt động ổn định và cung cấp nguồn chất lượng cho từng module linh kiện, nhóm thực hiện cần chú trọng vào thi công mạch PCB 1 lớp.

Nhóm đã sử dụng phần mềm Proteus để thiết kế mạch in (PCB) cho hệ thống Dưới đây là hình ảnh mạch đồng của hệ thống cùng với hình ảnh mô phỏng 3D được tạo ra từ phần mềm Proteus.

Hình 3.24 Mạch PCB Hình 3.25 Hình dạng 3D của mạch khi mô phỏng

3.2.2 Thi công lắp ráp và kiểm tra

Nhóm hiện quy trình gia công bo mạch theo các bước

Đầu tiên, chúng tôi thực hiện in mạch, ủi mạch và khoan lỗ trên bề mặt mạch Sau đó, kiểm tra đường dây đồng bằng cách đo thông mạch để đảm bảo tính chính xác của mạch và sự liên kết giữa các thành phần.

Quá trình hàn và gắn các linh kiện lên bo mạch là bước tiếp theo, đòi hỏi sự chính xác cao để đảm bảo từng linh kiện được lắp đặt đúng vị trí trên mạch.

Sau khi hoàn tất quá trình lắp ráp linh kiện, nhóm tiến hành kiểm tra bằng cách đo đạc nguồn cung cấp cho các linh kiện Điều này đảm bảo rằng mọi linh kiện hoạt động đúng như yêu cầu ban đầu, đồng thời xác định xem board mạch có hoạt động ổn định và hiệu quả hay không.

Cuối cùng, nhóm tiến hành kiểm tra và chạy thử các chức năng của hệ thống, đảm bảo rằng các yêu cầu đã được thực hiện một cách chính xác và ổn định.

Dưới đây là hình mạch pcb mà nhóm thiết kế sau khi gắn linh kiện

Hình 3.26 Mạch sau khi gắn linh kiện

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH

Mica được chọn làm vật liệu thi công cho mô hình nhờ vào tính cứng, độ bền và khả năng chịu nhiệt, cùng với khả năng chống tác động từ môi trường Việc sử dụng mica không chỉ đáp ứng các yêu cầu trực quan cho hệ thống khóa cửa mà còn nâng cao tính thẩm mỹ của sản phẩm.

Nhóm đã sử dụng phần mềm CorelDRAW X7 để thiết kế và vẽ các chi tiết cho hệ thống, nhằm đảm bảo tính chính xác và cá nhân hóa trong thiết kế Toàn bộ chi tiết được chia thành hai phần chính: hộp khóa và khung cửa Dưới đây là hai hình ảnh mô tả chi tiết của cả hai phần này.

Hình 3.28 Các chi tiết hộp khóa

Hình 3.29 Các chi tiết khung cửa

3.3.2 Thi công lắp ráp mô hình

Sau khi hoàn thành thiết kế bản vẽ, nhóm tiến hành cắt mica dày 3mm theo bản thiết kế Các mảnh chi tiết được lắp ráp lại với nhau bằng cách bắt vít và dán keo, đảm bảo mô hình chắc chắn và ổn định hơn.

Hình 3.30 Hộp khóa sau khi hoàn thành lắp ráp

LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG

Hình 3.31 Lưu đồ chương trình chính

Phân tích lưu đồ giải thuật

Khi hệ thống được cấp nguồn, chương trình sẽ cấu hình các port và khởi tạo thiết bị ngoại vi Nếu không có kết nối WiFi, khóa cửa sẽ hoạt động ở chế độ không sóng WiFi Chương trình tiếp tục kiểm tra xem có nhấn nút hay không; nếu có, các chức năng của nút sẽ được thực hiện Tương tự, khi người dùng đặt vân tay, hệ thống sẽ quét ngay lập tức mà không cần tín hiệu yêu cầu Tiếp theo, hệ thống kiểm tra xem cửa có mở hay không; nếu mở, bắt đầu đếm thời gian và khi hết thời gian, sẽ báo động qua loa Cuối cùng, chương trình kiểm tra giá trị pin và cập nhật toàn bộ giá trị của hệ thống lên Firebase.

3.4.2 Chương trình hoạt động khi mất sóng WiFi

Hình 3.32 Lưu đồ chương trình hoạt động khi mất sóng WiFi

Phân tích lưu đồ giải thuật

Trong chương trình hoạt động khi không có sóng WiFi, hệ thống sẽ bắt đầu bằng cách vào vòng lặp while để kiểm tra tín hiệu WiFi Nếu không có tín hiệu, chương trình sẽ tiến hành kiểm tra vân tay, nhấn nút và quét các tín hiệu WiFi xung quanh Khi tín hiệu WiFi quét được trùng khớp với dữ liệu đã lưu trong FLASH, hệ thống sẽ tự động kết nối lại với WiFi Vòng lặp sẽ kết thúc khi kết nối WiFi thành công.

3.4.3 Chương trình quét dấu vân tay

Hình 3.33 Lưu đồ quét dấu vân tay

Phân tích lưu đồ giải thuật

Khi người dùng đặt vân tay lên cảm biến, chương trình sẽ lấy mẫu và so sánh với các mẫu đã lưu trong bộ nhớ Nếu mẫu khớp, chương trình sẽ thoát nếu không có kết nối WiFi hoặc gửi dữ liệu lên Firebase nếu có kết nối Ngược lại, nếu mẫu không khớp hoặc trả về giá trị sai, hệ thống sẽ yêu cầu người dùng quét lại vân tay.

3.4.4 Chương trình chức năng của các nút bấm

Hình 3.34 Chương trình chức năng của các nút bấm

Phân tích lưu đồ giải thuật

Trong chương trình chức năng của các nút bấm trên bàn phím ma trận, nút số 5 chuyển hệ thống sang chế độ keypad, nút ‘*’ thực hiện chức năng đăng ký hoặc đổi vân tay chính, nút số 0 xóa vân tay theo số ID người dùng nhập, nút ‘#’ thêm vân tay mới, nút số 7 xóa toàn bộ vân tay trong hệ thống, bao gồm vân tay chính, và nút số 4 xóa WiFi đã lưu trong bộ nhớ flash và gửi thông tin lên Firebase.

3.4.5 Chương trình đọc giá trị phần trăm pin còn lại

Hình 3 35 Chương trình đọc giá trị phần trăm pin còn lại

Hệ thống sẽ kiểm tra giá trị pin hiện tại của thiết bị Nếu giá trị pin thay đổi và tăng hoặc giảm hơn 10%, hệ thống sẽ cập nhật giá trị % pin mới lên ứng dụng điện thoại thông qua Firebase.

Khi pin xuống dưới 30% hoặc 20%, hệ thống sẽ gửi thông báo đẩy đến điện thoại để cảnh báo người dùng rằng pin sắp hết Thông báo này giúp người dùng chuẩn bị và sạc pin kịp thời.

3.4.6 Chương trình chế độ bàn phím

Hình 3.36 Chương trình chế độ bàn phím (a)

Hình 3.37 Chương trình chế độ bàn phím (b)

Phân tích lưu đồ giải thuật

Trong chế độ keypad, các nút có chức năng khác biệt so với chương trình “chức năng của các nút bấm” Chương trình sẽ đọc giá trị nút bấm của người dùng để thực hiện việc nhập mật khẩu và bấm nút ‘#’ để xác nhận và thoát chế độ keypad Nút ‘A’ dùng để thay đổi mật khẩu hiện tại, trong khi nút ‘B’ cho phép thêm vân tay phụ; cả hai chức năng này đều yêu cầu nhập mật khẩu trước khi thực hiện, với yêu cầu xác nhận lại mật khẩu khi thay đổi Chương trình cũng có hai chức năng phụ: nút ‘C’ để xóa mật khẩu tạm và nút ‘*’ để xóa các ký tự vừa nhập Cuối cùng, nút ‘D’ giúp thoát khỏi chế độ keypad và quay về chương trình chính.

3.4.7 Chương trình đăng ký, thay đổi vân tay chính

Hình 3.38 Chương trình đăng ký, thay đổi vân tay chính

Phân tích lưu đồ giải thuật

Hệ thống sẽ kiểm tra xem bạn đã có vân tay chính hay chưa; nếu chưa, bạn cần đăng ký vân tay chính Để thực hiện điều này, bạn phải nhập mật khẩu của hệ thống và tiến hành đăng ký vân tay chính với ID bằng 1.

Nếu người dùng đã đăng ký dấu vân tay chính và cần thực hiện thay đổi, họ phải xác nhận dấu vân tay chính đã đăng ký trước đó Sau đó, tiến hành đăng ký lại dấu vân tay chính với ID bằng 1 Sau khi quá trình đăng ký hoặc thay đổi hoàn tất, lịch sử sẽ được cập nhật trên ứng dụng.

3.4.8 Chương trình đăng ký vân tay con

Hình 3.39 Chương trình đăng ký vân tay con

Phân tích lưu đồ giải thuật

Hệ thống khởi động quy trình bằng cách yêu cầu người dùng xác nhận qua vân tay chính Sau khi xác nhận thành công, hệ thống sẽ tìm kiếm một ID con trống để lưu trữ dữ liệu vân tay.

Sau khi phát hiện ID con trống, hệ thống sẽ tiến hành ký vân tay Khi quá trình này hoàn tất thành công, ID mới sẽ được lưu trữ trong hệ thống Đồng thời, thông tin ID và hành động "thêm vân tay" sẽ được gửi vào danh sách ID và lịch sử trên ứng dụng di động qua Firebase.

3.4.9 Chương trình xử lý ID

Hình 3.40 Chương trình xử lý ID

Phân tích lưu đồ giải thuật

ID được khởi tạo ban đầu là 2, trong khi ID vân tay chính là 1 Chương trình lặp sẽ tăng ID từ 2 đến 127, tương ứng với giới hạn số vân tay trong cảm biến AS608 Mỗi lần lặp, chương trình kiểm tra xem ID đã được sử dụng trong bộ nhớ FLASH hay chưa; nếu đã sử dụng, chương trình sẽ tiếp tục lặp, còn nếu chưa được sử dụng, nó sẽ trả về số ID để thêm vân tay mới.

3.4.10 Chương trình thêm vân tay

Hình 3.41 Chương trình thêm vân tay

Phân tích lưu đồ giải thuật

Khi bắt đầu hệ thống quét dấu vân tay, ngón tay cần được phát hiện để lấy mẫu dấu vân tay và chuyển đổi sang mã hex Sau đó, cần thực hiện việc lấy mẫu và chuyển đổi lần hai Nếu mẫu vân tay lần một và lần hai khớp nhau, quá trình thêm vân tay sẽ thành công Quy trình này áp dụng cho việc thêm vân tay chính và vân tay phụ.

THIẾT KẾ VÀ LẬP TRÌNH ỨNG DỤNG DI ĐỘNG

3.5.1 Thiết kế giao diện người dùng

Nhóm thiết kế giao diện với mục tiêu đơn giản và dễ sử dụng cho người dùng Các nút chức năng được định dạng đồng nhất với kích thước chữ lớn và màu đậm Thông tin được trình bày với kích thước chữ vừa và màu sắc nhẹ hơn so với nút bấm Những nút có chức năng quan trọng sẽ được làm nổi bật bằng màu đỏ, thu hút sự chú ý và khuyến khích người dùng cẩn trọng.

3.5.2 Thiết kế các hoạt động của ứng dụng di động

Trong một ứng dụng, việc chuyển đổi giữa nhiều khung hình có thể làm giảm hiệu suất Để khắc phục điều này, nhóm phát triển đã nghiên cứu sử dụng nhiều thẻ trong một khung hình, thay vì chuyển đổi giữa các khung hình khác nhau Nhờ đó, ứng dụng chỉ cần sử dụng hai khung hình chính (khung hình đăng nhập và khung hình chính), mỗi khung hình chứa nhiều thẻ khác nhau, giúp duy trì tốc độ mượt mà khi người dùng tương tác với ứng dụng.

Nhóm đã sử dụng nền tảng kéo thả để xây dựng ứng dụng di động, tuy nhiên, việc thiết kế nhiều thẻ trên cùng một khung hình đã tạo ra sự phức tạp do xung đột giữa khoảng 600 khối Để giảm bớt sự phức tạp và cải thiện hiệu suất hệ thống, nhóm đã sắp xếp dữ liệu lưu trữ trên Firebase một cách có tổ chức, giúp việc đọc và ghi giữa ứng dụng di động và Firebase trở nên rõ ràng và dễ quản lý hơn.

3.5.3 Lưu đồ giải thuật của ứng dụng di động

3.5.2.1 Lưu đồ giải thuật chức năng khởi động của app

Hình 3.42 Lưu đồ giải thuật chức năng khởi động của app

Phân tích lưu đồ giải thuật

Khi mở ứng dụng di động, ứng dụng sẽ chờ kết nối WiFi Sau khi kết nối thành công, người dùng cần đăng nhập bằng mã OTP gửi đến số điện thoại đã đăng ký Nếu đăng nhập thành công, ứng dụng sẽ cập nhật và gửi dữ liệu lên Firebase Trong trường hợp đăng nhập không thành công, ứng dụng sẽ yêu cầu người dùng đăng nhập lại.

3.5.2.2 Lưu đồ giải thuật các chức năng trên ứng dụng di động

Hình 3.43 Lưu đồ giải thuật các chức năng trên ứng dụng di động

Phân tích lưu đồ giải thuật

Màn hình hiển thị các thông số quan trọng như âm lượng loa, phần trăm pin còn lại và trạng thái cửa hiện tại Nó cũng bao gồm các nút chức năng như nút mở cửa, điều chỉnh âm lượng, bật tắt và thiết lập chế độ thời gian mở cửa Ngoài ra, có ba nút chuyển màn hình: màn hình lịch sử, màn hình danh sách ID và màn hình cài đặt.

3.5.2.3 Lưu đồ giải thuật chức năng tại màn hình lịch sử

Hình 3.44 Lưu đồ giải thuật chức năng tại màn hình lịch sử

Phân tích lưu đồ giải thuật

Màn hình lịch sử hiển thị chi tiết các thao tác của người dùng với khóa cửa, bao gồm thời gian thực (giờ, phút, giây, ngày, tháng, năm) Ngoài ra, màn hình này còn có nút chuyển đổi sang màn hình chức năng và danh sách ID, cùng với nút xóa toàn bộ lịch sử.

3.5.2.4 Lưu đồ giải thuật chức năng tại màn hình danh sách ID

Hình 3.45 Lưu đồ giải thuật chức năng tại màn hình danh sách ID

Phân tích lưu đồ giải thuật

Màn hình danh sách ID hiển thị toàn bộ mã ID vân tay của người dùng đã được lưu trữ, kèm theo tên tương ứng cho từng mã ID Người dùng có thể tùy chỉnh tên cho từng mã ID vân tay Tương tự như hai màn hình trước, màn hình danh sách cũng có hai nút chuyển màn hình, cho phép chuyển sang màn hình chức năng và màn hình lịch sử.

3.5.2.5 Lưu đồ giải thuật chức năng tại màn hình cài đặt

Hình 3.46 Lưu đồ giải thuật chức năng tại màn hình cài đặt

Phân tích lưu đồ giải thuật

Người dùng có thể truy cập màn hình cài đặt để xem hướng dẫn sử dụng hệ thống và thay đổi số điện thoại đăng nhập Để thực hiện việc này, chỉ cần nhập số điện thoại mới vào khung text box Số điện thoại sẽ được cập nhật trên Firebase và được sử dụng cho các lần đăng nhập tiếp theo.

KẾT QUẢ THỰC HIỆN

KẾT QUẢ THỰC HIỆN PHẦN CỨNG

4.1.1 Thiết lập WiFi cho hệ thống

Giao diện khi người dùng truy cập và web server để cấu hình WiFi cho hệ thống khóa cửa

Hình 4.1 Cấu hình WiFi cho ESP32 Hình 4.2 Cấu hình thành công

Trong lúc chờ mạng kết nối mạng, LED sẽ có màu trắng như hình bên dưới

Hình 4.3 Giao diện chờ kết nối WiFi

Khi phần cứng hệ thống kết nối được với WiFi, loa thông báo “Kết nối WiFi thành công”

4.1.2 Các trạng thái của hệ thống

4.1.2.1 Trạng thái có kết nối WiFi

Trong chế độ kết nối WiFi, đèn LED sẽ phát sáng màu xanh dương Hệ thống liên tục kiểm tra vân tay qua cảm biến và nút nhấn trên bàn phím ma trận, đồng thời cập nhật dữ liệu trên Firebase Dưới đây là hình ảnh giao diện của phần cứng.

Hình 4.4 Giao diện hệ thống có kết nối WiFi

4.1.2.2 Trạng thái không kết nối WiFi

Khi hệ thống không kết nối được với WiFi, loa thông báo “Kết nối WiFi thất bại” đèn led chuyển sang màu vàng như hình 4.5

- Trong chế độ không kết nối WiFi, người dùng vẫn có thể mở cửa bằng vân tay, bàn phím và loa vẫn hoạt động

- Ngoài ra ESP32 sẽ tự kiểm tra và kết nối lại với WiFi

Hình 4.5 Giao diện không có kết nối WiFi

4.1.2.3 Trạng thái xác nhận của hệ thống

Khi mở cửa bằng vân tay, mật khẩu hoặc mật khẩu tạm thời khớp với dữ liệu đã đăng ký trong hệ thống, loa sẽ phát tín hiệu "tinh tinh" và đèn sẽ nhấp nháy màu xanh lá cây, cho phép người dùng mở cửa.

Khi người dùng đặt vân tay chưa được đăng ký trong hệ thống hoặc nhập sai mật khẩu, loa sẽ phát ra âm thanh "tee" và đèn sẽ chuyển sang màu đỏ.

- Trường hợp đăng nhập sai 5 lần liên tiếp, hệ thống sẽ bị khóa

Hình 4.6 Giao diện xác nhận thành công Hình 4.7 Giao diện xác nhận thất bại

4.1.2.4 Trạng thái khi đăng ký hoặc đổi vân tay chính

Khi thêm hoặc đổi dấu vân tay chính, người dùng cần xác nhận mật khẩu trong trường hợp đăng ký và xác nhận vân tay chính trước đó khi đổi Nếu quá trình thành công, loa sẽ thông báo "Lưu dấu vân tay chính thành công" và đèn LED nhấp nháy màu xanh lá Ngược lại, nếu không thành công, loa sẽ thông báo "Lưu dấu vân tay chính thất bại" và đèn LED sẽ nhấp nháy màu đỏ.

4.1.2.5 Trạng thái khi đăng ký vân tay con

Khi đăng ký vân tay con, loa sẽ thông báo "Vui lòng đặt vân tay chính" và đèn LED nhấp nháy màu xanh dương Nếu người dùng không xác nhận vân tay chính trong 10 giây, loa sẽ tự động thoát khỏi chế độ thêm vân tay Nếu quá trình xác nhận và lưu vân tay con thành công, loa sẽ thông báo “Lưu vân tay thành công” và đèn LED sẽ nhấp nháy màu xanh lá Ngược lại, nếu quá trình thất bại, loa sẽ thông báo "Lưu vân tay chính thất bại" và đèn LED sẽ nhấp nháy màu đỏ Trong trường hợp xác nhận vân tay chính không thành công, loa sẽ phát ra âm thanh "tee" và đèn LED sẽ chuyển sang màu đỏ.

4.1.2.6 Trạng thái khi xóa vân tay, toàn bộ vân tay và WiFi cũ

Để xóa vân tay của con, loa sẽ yêu cầu "Vui lòng đặt vân tay chính" Sau khi xác nhận thành công, loa sẽ hướng dẫn "Nhập ID cần xóa và nhấn # để xác nhận" Nếu ID tồn tại trong hệ thống, loa sẽ thông báo "Xóa vân tay thành công" Ngược lại, nếu ID không có trong hệ thống, loa sẽ cảnh báo "ID không hợp lệ".

Khi xóa toàn bộ vân tay, loa sẽ thông báo "Vui lòng đặt vân tay chính" Nếu xác nhận thành công, loa sẽ thông báo "Đã xóa toàn bộ vân tay trong hệ thống" Ngược lại, nếu xác nhận vân tay chính thất bại, loa sẽ phát ra âm thanh "tee" và đèn LED sẽ chuyển sang màu đỏ.

Khi xóa Wi-Fi, quá trình diễn ra tương tự và nếu xác nhận thành công, loa sẽ thông báo "Đã xóa Wi-Fi cũ"

4.1.2.7 Trạng thái khi hoạt động ở chế độ bàn phím

Khi vào chế độ bàn phím, loa thông báo “Vui lòng nhập mật khẩu và nhấn # để xác nhận” và đèn Led chuyển sang màu tím như hình 4.8

Hình 4.8 Giao diện chế độ bàn phím

Tại chế độ bàn phím, hệ thống sẽ có các nút chức năng như sau :

Nút “A” cho phép người dùng thay đổi mật khẩu Khi người dùng yêu cầu, loa sẽ thông báo "vui lòng nhập mật khẩu cũ" Nếu mật khẩu cũ được xác nhận đúng, hệ thống sẽ cho phép nhập mật khẩu mới với độ dài 6 ký tự, sau đó yêu cầu xác nhận lại mật khẩu mới vừa nhập.

Nút “B” cho phép người dùng thêm mật khẩu tạm thời, quy trình này tương tự như việc đổi mật khẩu nhưng không yêu cầu xác nhận mật khẩu mới Khi quá trình thêm mật khẩu tạm thành công, hệ thống sẽ hiển thị thông báo “Đã thêm mật khẩu tạm thành công”.

- Nút “C” có chức năng xóa mật khẩu tạm.

- Nút “*” có chức năng xóa các ký tự vừa nhập.

- Nút “#” có chức năng xác nhận các thao tác trong hệ thống.

- Nút “D” có chức năng thoát khỏi chế độ bàn phím.

Kết quả phần mềm

Dưới đây là hình ảnh về phần mềm quản lý hệ thống cửa và thông báo trạng thái, được nhóm phát triển sau quá trình nghiên cứu Trong đó, giao diện đăng nhập là một phần quan trọng của ứng dụng di động này.

Dưới đây là giao diện đăng nhập, xác nhận OTP để vào ứng dụng di động, cũng như phần đăng ký khi người dung chưa có số điện thoại

Hình 4.9 Màn hình đăng nhập Hình 4.10 Màn hình đăng ký số điện thoại

Hình 4.11 Màn hình xác nhận OTP

Sau khi đăng nhập, ứng dụng di động cung cấp màn hình chức năng cho phép người dùng mở cửa từ xa và tùy chỉnh các thông số hệ thống Màn hình cài đặt cho phép thay đổi số điện thoại đăng nhập và hiển thị hướng dẫn sử dụng chi tiết Màn hình lịch sử ghi lại toàn bộ thời gian và hoạt động của cửa, trong khi màn hình ID hiển thị tất cả các ID vân tay đã đăng ký và cho phép người dùng đổi tên cho từng ID.

Hình 4.12 Giao diện màn hình chức năng Hình 4.13 Giao diện màn hình cài đặt

Hình 4.14 Giao diện màn hình lịch sử Hình 4.15 Giao diện màn hình danh sách ID

Trong một số trường hợp sau, ứng dụng di động sẽ nhận các thông báo được gửi từ hệ thống cửa

- Hệ thống bị khóa do có người cố tình đăng nhập trái phép

- Hệ thống gần hết pin

- Cửa mở quá thời gian cho phép (trường hợp bật chế độ thời gian cho phép cửa mở)

Hình 4.16 Thông báo tạm khóa hệ thống Hình 4.17 Thông báo sắp hết pin

Hình 4.18 Thông báo cửa mở quá lâu

NHẬN XÉT- ĐÁNH GIÁ

Sau một thời gian chạy thử, kiểm tra toàn bộ kịch bản của hệ thống khóa cửa, nhóm nhận xét về hệ thống như sau

+ Hệ thống dễ sử dụng, thao tác vì phần thao tác đơn giản chỉ bao gồm phần cảm biến vân tay và phần bàn phím ma trận

+ Hệ thống cung cấp báo động, tăng cường mức độ bảo mật cho người dùng

Hệ thống có khả năng thông báo cho người dùng khi gặp các sự kiện quan trọng, như cửa mở lâu hơn thời gian cho phép nếu chức năng "thời gian cho phép cửa mở" được kích hoạt Ngoài ra, nó cũng cảnh báo khi có người lạ cố tình mở khóa cửa không thành công quá 5 lần liên tiếp và khi mức pin của hệ thống giảm xuống dưới 30%.

Hệ thống bảo mật cao sử dụng mã PIN kết hợp với các ký tự ảo, ngăn chặn việc nhìn trộm qua camera Ngoài ra, có sự phân quyền giữa vân tay chính và vân tay con, đảm bảo chỉ có một vân tay chính duy nhất có quyền thêm và xóa vân tay.

+ Hệ thống có khả năng sạc nhanh type C, tránh tình trạng hết pin và không thể mở khóa

+ Hệ thống sẽ tự động kết nối lại WiFi

+ Không thể sử dụng các chức năng thêm, xóa và sửa đổi dấu vân tay, mật khẩu và thông báo khi không có kết nối WIFI

+ Hệ thống không có chế độ tiết kiệm năng, dẫn đến tiêu hao năng lượng không cần thiết

+ Ứng dụng đăng nhập bằng mã OTP an toàn, không yêu cầu người dùng ghi nhớ mật khẩu phức tạp

+ Ứng dụng có khả năng lưu trữ 2 số điện thoại phục vụ cho việc đăng nhập bằng OTP

+ Giao diện ứng dụng được thiết kế thân thiện, tinh tế và dễ sử dụng + Cung cấp khả năng mở cửa từ xa thuận tiện cho người dùng

+ Hiển thị đầy đủ các thông tin cần thiết, cho phép người sử dụng thực hiện các thao tác, theo dõi và quản lý một cách dễ dàng

+ Lịch sử dài có thể gây trễ hệ thống, cần được xóa sau một thời gian sử dụng để duy trì hiệu suất

+ Không hỗ trợ chức năng xóa dấu vân tay thông qua ứng dụng

4.3.2 Đánh giá hệ thống Để đánh giá mức độ hoàn thiện của hệ thống, nhóm đã tiến hành chạy thử nghiệm hệ thống trong các trường hợp khác nhau Dựa trên kết quả thu được, nhóm đã tổng hợp được bảng đánh giá sau

Bảng 4.1 Khảo sát kết quả chạy thử hệ thống

Hoạt động khảo sát Đơn vị

Số lần mở cửa bằng nút nhấn thành công 20/20 lần

Số lần mở cửa bằng cảm biến vân tay thành công 19/20 lần

Số lần mở cửa bằng mật khẩu thành công 20/20 lần

Số lần mở cửa bằng điện thoại thành công 20/20 lần

Thời gian trung bình mở cửa bằng điện thoại 1-2 giây

Thêm vân tay thành công 10/10 lần

Xóa vân tay thành công 10/10 lần

Thời gian chờ trung bình nhận thông báo 4-6 giây

Ngày đăng: 07/12/2023, 21:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w