ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH ĐÓNG MỞ CỬA TỰ ĐỘNG VÀ THÔNG MINH SỬ DỤNG CÔNG NGHỆ IOT NGÀNH KỸ THUẬT ĐIỆN – ĐIỆN TỬ GIẢNG VIÊN HƯỚNG DẪN TS BÙI MINH DƯƠNG Sinh viên thực hiện MSSV Lớp Võ Hoàng Vũ 1711020423 17DDCA2 Phạm Văn Long 1711020519 17DDCA2 Phan Văn Phước 1711020486 17DDCA2 TP HỒ CHÍ MINH – 092021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH ĐÓNG MỞ CỬA TỰ ĐỘNG VÀ THÔNG MINH SỬ DỤNG CÔNG NGHỆ IOT NGÀNH KỸ THUẬT ĐIỆN – ĐIỆN TỬ GIẢNG.
ĐẶT VẤN ĐỀ
Trong thời đại công nghệ 4.0, việc bảo vệ tài sản cá nhân và các tổ chức đang trở thành mối quan tâm hàng đầu Hệ thống cửa tự động được bảo mật bằng mật khẩu hoặc thẻ từ, kết hợp với camera giám sát, là giải pháp hiệu quả giúp nâng cao chất lượng cuộc sống Tuy nhiên, các mô hình bảo mật cao thường có giá thành đắt đỏ, chủ yếu xuất hiện tại khách sạn và khu chung cư cao cấp, trong khi nhà dân và nhà trọ vẫn gặp phải tình trạng trộm cắp Vì vậy, nhóm đã chọn đề tài tốt nghiệp “Thiết kế mô hình đóng mở cửa tự động và thông minh sử dụng công nghệ IOT” nhằm giải quyết vấn đề giá cả và nâng cao khả năng bảo vệ tài sản cho người sử dụng.
BỐ CỤC TRÌNH BÀY
Nội dung của quyển báo cáo Đồ án tốt nghiệp bao gồm 6 chương:
Chương 1 Giới thiệu - gồm đặt vấn đề và bố cục quyển báo cáo, tổng quan giải pháp mô hình đóng mở cửa tự động và thông minh - trình bày về mục tiêu của đề tài, giới hạn đề tài và tìm hiểu về các đối tượng nghiên cứu
Chương 2 Phương pháp thiết kế mô hình đóng mở cửa tự động và thông minh - từ những tìm hiểu về các phương thức bảo mật sau đó kết nối những bộ phận lại với nhau thông qua các chuẩn giao tiếp để giải quyết những mục tiêu của đề tài
Chương 3 Quy trình thiết kế mô hình: chương này bao gồm các nội dung về mô hình hoạt động của hệ thống, sơ đồ khối tổng quan của hệ thống, sơ đồ khối của các board trung tâm và các chức năng của từng khối Trình bày
2 thiết kế board điều khiển trung tâm vả thiết kế của ứng dụng Androi điều khiển thiết bị từ xa qua điện thoại
Chương 4 Thi công mô hình thực nghiệm: chương này sẽ hoàn thiện sơ đồ nguyên lý, vẽ mạch in cho board điều khiển trung tâm, và thi công hoàn thiện ứng dụng Androi bằng phần mềm Androi Studio
Chương 5 Kết quả, nhận xét và đánh giá: chương này kết luận những kết quả đạt được của Đồ án tốt nghiệp Nhóm thực hiện cũng trình bày những mặt còn hạn chế cũng như hướng phát triển của đề tài.
MỤC TIÊU ĐỀ TÀI
Tình trạng trộm cắp tài sản do ổ khóa truyền thống dễ mở đã dẫn đến nhu cầu cải tiến hệ thống bảo mật Việc thay thế ổ khóa truyền thống bằng hệ thống cửa tự động sử dụng công nghệ mở khóa RFID và khóa điện sẽ giải quyết hiệu quả vấn đề này Đề tài “Thiết kế mô hình đóng mở cửa tự động và thông minh sử dụng công nghệ IOT” hướng đến việc phát triển giải pháp an toàn hơn cho ngôi nhà.
- Hệ thống nhập mật khẩu bằng keypad, mật khẩu sẽ được so sánh với dữ liệu trong chương trình nếu đúng cửa sẽ tự động mở ra
Hệ thống cửa tự động sử dụng công nghệ thẻ RFID để đọc mã thẻ và so sánh với dữ liệu đã lưu, cho phép mở cửa một cách an toàn Ngoài ra, thiết bị còn được trang bị nút nhấn mở cửa từ bên trong Đặc biệt, hệ thống có chức năng báo động khi thẻ không hợp lệ và hiển thị thông tin trên màn hình LCD, đảm bảo an ninh tối đa cho người sử dụng.
Thiết kế ứng dụng Android kết hợp với cơ sở dữ liệu Google Firebase cho phép giám sát thời gian ra/vào qua quẹt thẻ RFID Thông tin lịch sử quét thẻ và mã thẻ được phép sẽ được lưu trữ, đồng thời người dùng có thể thêm, sửa, xóa thông tin thẻ RFID trực tiếp trên ứng dụng Quản lý hoặc chủ sở hữu có khả năng theo dõi lịch sử ra vào của từng cá nhân Hệ thống còn tích hợp camera giám sát, giúp việc quan sát và điều khiển cửa từ xa trở nên thuận tiện hơn.
ĐỐI TƯỢNG NGHIÊN CỨU
Research and explore relevant materials related to RFID, ESP32, keypads, and cameras, while also gaining an understanding of the Android operating system and Google Firebase's Realtime Database.
- Thiết kế và thi công mô hình hệ thống cửa tự động sử dụng công nghệ RFID và keypad để bảo mật
- Thiết kế một ứng dụng Androi để quản lý và giám sát thiết bị
Vì công nghệ RFID và keypad được áp dụng, người dùng cần lưu ý rằng nếu làm mất thẻ hoặc quên mật khẩu, họ phải liên hệ với người quản lý hoặc chủ để được cấp lại thẻ mới.
PHẠM VI NGHIÊN CỨU
Để đáp ứng các yêu cầu nghiên cứu, cần áp dụng các chuẩn đã có sẵn và phương pháp kết nối phù hợp Sử dụng Firebase, người dùng cần tìm hiểu về cơ sở dữ liệu của nó và xây dựng một cơ sở dữ liệu đầy đủ thông tin cần thiết Bên cạnh đó, nhóm thực hiện cần nắm vững cách thiết kế ứng dụng trên Android.
Studio, sau đó nâng cao và hoàn chỉnh một app có thể đưa vào sử dụng trong thực tế.
PHƯƠNG PHÁP NGHIÊN CỨU
Nhóm đã tiến hành nghiên cứu thông tin liên quan đến đề tài, đánh giá nhu cầu của người sử dụng để xác định các vấn đề cần giải quyết Đồng thời, nhóm cũng phát triển mô hình với tính ứng dụng cao Cuối cùng, nhóm sẽ đánh giá và đề xuất các cải tiến cho kết quả của mô hình thiết kế.
BẢO MẬT BẰNG MẬT KHẨU THÔNG QUA KEYPAD 4×4
Keypad là thiết bị nhập với các nút bấm cho phép người dùng nhập chữ số, chữ cái hoặc ký tự điều khiển Khác với Keyboard, Keypad không bao gồm toàn bộ bảng mã ASCII, do đó thường được sử dụng trong các ứng dụng chuyên dụng và đơn giản Số lượng nút nhấn của Keypad thay đổi tùy theo từng ứng dụng, điển hình như Keypad 4×4 với 16 nút bấm được sắp xếp thành 4 hàng, mỗi hàng có 4 phím.
Keypad 4×4 là thiết bị đơn giản giúp người dùng nhập số một cách dễ dàng, vì vậy nó rất phổ biến trong các ứng dụng Dưới đây là hình ảnh mô phỏng nguyên lý hoạt động của Keypad trong phần mềm Proteus.
2.1.2 Cấu tạo và nguyên lý hoạt động
Keypad 4×4 gồm 8 đầu vào/ ra và 16 phím kết nối theo sơ đồ dưới đây:
Hình 2.3 Cấu tạo của Keypad 4×4
Các phím bấm được chia thành 4 hàng và 4 cột, 1 đầu của nút bấm được nối đến đẩu vào cột (C), đẩu kia được nối với đầu vào hang (R)
Nguyên lý hoạt động của Keypad 4×4 dựa trên giải thuật "quét phím", trong đó vi điều khiển liên tục phát tín hiệu ra hàng (hoặc cột) và thu tín hiệu vào cột (hoặc hàng) Khi một phím được bấm, đầu phát tín hiệu sẽ kết nối với đầu thu, giúp xác định phím đã được nhấn Quá trình này cho phép lựa chọn đầu ra và đầu vào theo hai phương pháp quét: chiều dọc hoặc chiều ngang Trong báo cáo này, tín hiệu được xuất ra từ các hàng và thu lại ở các cột.
Bước đầu tiên là thiết lập các chân ROW1, ROW2, ROW3, ROW4 làm chân xuất (Output) và giữ chúng ở mức cao, trong khi các chân COL1, COL2, COL3, COL4 được cấu hình làm chân nhập (Input) với điện trở kéo lên.
Bước 2: đưa tín hiệu đầu ra ở các chân ROW1=1, ROW2=1, ROW3=1,
ROW4=1 Kiểm tra tín hiệu ở các chân COL1, COL2, COL3, COL4 luôn bằng 1 dù có phím nào được ấn hay không
Bước 3: đưa tín hiệu đầu ra ở các chân ROW1=0, ROW2=1, ROW3=1,
Kiểm tra các cột COL1, COL2, COL3 và COL4 để xác định nếu phím thuộc hàng 1 được nhấn, giá trị của COL sẽ nhận được là 0 Thao tác này giúp xác định phím đã được nhấn nếu nó nằm trong hàng.
Bước 4: tiếp tục đưa tín hiệu đầu ra ở các chân ROW1=1, ROW2=0,
ROW3=1,ROW4=1 để xac1 định phím được nhấn nếu nó ở hàng 2
Bước 5: thực hiện quá trình dịch chân đầu ra mang điện áp mức 0 một cách liên tục và xác định phím được bấm.
BẢO MẬT BẰNG CÔNG NGHỆ RFID
Công nghệ RFID (Radio Frequency Identification) sử dụng trường điện từ để tự động nhận diện và theo dõi các thẻ gắn vào đối tượng Hệ thống RFID bao gồm bộ phát đáp, bộ thu và bộ phát sóng vô tuyến Khi được kích hoạt, thẻ RFID sẽ phản hồi dữ liệu cho đầu đọc RFID gần đó, thường là một giá trị định dạng riêng Giá trị này có thể được sử dụng để theo dõi hàng hóa, thiết bị và nhiều vật thể khác RFID là phương pháp nhận diện tự động, thuộc lĩnh vực Tự động Nhận dạng và Thu thập dữ liệu (AIDC).
2.2.2 Cấu tạo và nguyên lý hoạt động
Cấu tạo một hệ thống RFID cơ bản bao gồm 2 phần:
Phần cứng của hệ thống RFID bao gồm thẻ RFID, được làm từ nhựa mỏng với chip vi xử lý và ăng ten, cho phép đọc và ghi dữ liệu bảo mật RFID reader có vai trò giải mã và truyền dữ liệu từ thẻ đến phần mềm trung gian và ứng dụng để xử lý thông tin Máy chủ là máy tính chạy các phần mềm trung gian và ứng dụng, đóng vai trò quan trọng trong việc quản lý dữ liệu.
Phần mềm Middleware được sử dụng để nhận và xử lý dữ liệu thô từ các reader, sau đó chuyển giao đến các phần mềm quản trị thư viện Thường thì Middleware được phát triển bởi các nhà sản xuất thiết bị RFID Trong khi đó, Applicationware được thiết kế để xử lý và tự động hóa các công việc đặc thù, nhận dữ liệu đã được xử lý để thực hiện phân tích và thực thi nhiệm vụ.
Công nghệ RFID hoạt động dựa trên nguyên lý đơn giản: RFID reader được cố định tại một vị trí và phát sóng vô tuyến để phát hiện thiết bị xung quanh Khi RFID tag vào vùng sóng, chúng sẽ nhận và phản hồi lại mã số của mình cho RFID reader, cho phép thiết bị nhận diện chính xác các RFID tag trong khu vực hoạt động Mỗi thẻ chip RFID chứa mã nhận dạng riêng biệt, với thẻ 32bit có khả năng chứa tới 4 tỷ mã số khác nhau, đảm bảo tính chính xác và không nhầm lẫn Nhờ vào tính năng này, các thiết bị gắn RFID mang lại độ an toàn và bảo mật cao.
Hình 2.4 Ngyên lý hoạt động của RFID
RFID hoạt động trên các tần số khác nhau, bao gồm LF (125-134,2 kHz) cho hệ thống quản lý nhân sự và chấm công, HF (13,56 MHz) cho quản lý nguồn gốc và vận chuyển hàng hóa, UHF (860 MHz) cho kiểm soát thu phí đường bộ tự động và kiểm kê kho hàng, và SHF (2,4 GHz) cho hệ thống kiểm soát lưu thông hàng hải và kiểm kê hàng hóa.
CÁC CHUẨN GIAO TIẾP GIỮA CÁC MODULE VÀ VI ĐIỀU KHIỂN 8 1 Chuẩn giao tiếp UART (Universal Asynchronous Receiver/ Transmiter )
2.3.1 Chuẩn giao tiếp UART (Universal Asynchronous Receiver/ Transmiter )
UART là một vi mạch tích hợp trong vi điều khiển, khác với các giao thức truyền thông như I2C và SPI Chức năng chính của UART là truyền dữ liệu nối tiếp, cho phép giao tiếp thông qua hai phương thức: dữ liệu nối tiếp và song song.
Hình 2.5 Chuẩn giao tiếp UART
Giao tiếp song song truyền tất cả các bit từ thiết bị truyền đến thiết bị nhận trong một lần, giúp tăng tốc độ truyền dữ liệu nhưng tốn kém hơn do yêu cầu nhiều phần cứng và dây dẫn, như trong các máy in cũ Ngược lại, giao tiếp nối tiếp chỉ sử dụng một dây duy nhất để truyền dữ liệu, cần hai dây để kết nối giữa thiết bị truyền và nhận.
Hình 2.6 Giao tiếp song song và nối tiếp
Dữ liệu truyền qua UART được cấu trúc thành các gói, bao gồm: Start bit để báo hiệu bắt đầu quá trình truyền dữ liệu, Data bits chứa thông tin giao tiếp từ 5 đến 9 bit, Parity bit dùng để kiểm tra và phát hiện lỗi, và Stop bit để đánh dấu kết thúc một frame dữ liệu, với tùy chọn 1 hoặc 2 bit.
Hình 2.7 Truyền dữ liệu qua UART
2.3.2 Chuẩn giao tiếp SPI (Serial Peripheral Interface)
SPI là một chuẩn giao tiếp đồng bộ nối tiếp cho phép truyền dữ liệu song công toàn phần, cho phép quá trình truyền và nhận diễn ra đồng thời Giao thức này hoạt động theo kiểu Master-Slave, cung cấp một giao diện đơn giản và tiết kiệm chi phí giữa vi điều khiển và các thiết bị ngoại vi.
Hình 2.8 Chuẩn giao tiếp SPI
Trong chuẩn giao tiếp SPI, có bốn tín hiệu số chính: MOSI (Master Out Slave In) là cổng ra của thiết bị Master, dùng để truyền tín hiệu từ Master sang Slave; MISO (Master In Slave Out) là cổng ra của thiết bị Slave, cho phép truyền dữ liệu từ Slave về Master; SCLK (Serial Clock) là tín hiệu đồng bộ do Master tạo ra; và SC (Chip Select hoặc Slave Select) là tín hiệu chọn vi mạch, giữ ở mức cao khi không hoạt động Khi Master kéo SS xuống mức thấp, quá trình giao tiếp bắt đầu diễn ra.
SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master tùy thuộc vào thiết kế của người dùng
2.3.3 Chuẩn giao tiếp I2C (Inter – Integrated Circuit)
I2C kết hợp những ưu điểm nổi bật của SPI và UART, cho phép kết nối nhiều Slave với một Master duy nhất, tương tự như SPI Ngoài ra, I2C cũng hỗ trợ nhiều Master có thể điều khiển một hoặc nhiều Slave cùng lúc.
Giao thức I2C, tương tự như chuẩn giao tiếp UART, sử dụng chỉ 2 dây để truyền dữ liệu giữa các thiết bị Dây SDA (Serial Data) cho phép Master và Slave gửi và nhận dữ liệu, trong khi dây SCL (Serial Clock) mang tín hiệu xung nhịp I2C có hai chế độ hoạt động: chế độ chuẩn (Standard mode) với tốc độ 100Kb/s và chế độ tần số thấp (Low speed mode) hoạt động ở tốc độ 10Kb/s.
GIỚI THIỆU VỀ FIREBASE VÀ CƠ SỞ DỮ LIỆU THỜI GIAN THỰC
Firebase là một dịch vụ cơ sở dữ liệu đám mây mạnh mẽ của Google, giúp người dùng lập trình ứng dụng dễ dàng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Firebase cung cấp giao diện lập trình ứng dụng API đơn giản, dịch vụ đa năng và bảo mật cao Hỗ trợ cả hai nền tảng Android và iOS, Firebase trở thành lựa chọn hàng đầu của nhiều lập trình viên để phát triển ứng dụng cho hàng triệu người dùng toàn cầu.
2.4.2 Cách thức hoạt động của Firebase
Sau khi Google mua lại và phát triển, Firebase cung cấp các tính năng nổi bật như Realtime Database, cho phép lưu trữ dữ liệu dưới dạng JSON và đồng bộ hóa dữ liệu theo thời gian thực Điều này giúp xây dựng các ứng dụng đa nền tảng, cho phép nhiều Client cùng truy cập và sử dụng chung một cơ sở dữ liệu từ Firebase.
Việc áp dụng 12 toán quy mô cho ứng dụng của bạn giúp việc nâng cấp và mở rộng dịch vụ trở nên dễ dàng hơn Hệ thống cho phép phân quyền một cách đơn giản với cú pháp tương tự như Javascript.
Hình 2.11 Cơ sở dữ liệu thời gian thực Realtime Database
Firebase Authentication cung cấp tính năng xác thực người dùng qua nhiều nền tảng như Email, Facebook, Twitter, GitHub và Google Điều này không chỉ giúp bảo vệ thông tin cá nhân của người dùng mà còn đảm bảo tính nặc danh cho các ứng dụng Việc sử dụng xác thực này giúp ngăn chặn việc đánh cắp tài khoản, mang lại sự an toàn cho người dùng.
Hình 2.12 Firebas xây dựng hành động đăng nhập cho ứng dụng bằng cách xác định danh tính người dùng
Firebase Hosting cho phép bạn triển khai ứng dụng web chỉ trong vài giây, với dữ liệu được lưu trữ trên đám mây và bảo mật thông qua giao thức SSL.
GIỚI THIỆU VỀ ANDROID STUDIO
Android Studio là môi trường phát triển tích hợp (IDE) chính thức cho ứng dụng Android, cho phép các nhà phát triển viết mã và lắp ráp ứng dụng từ nhiều gói và thư viện khác nhau Nền tảng này cung cấp giao diện thân thiện để tạo ứng dụng và quản lý các công cụ phức tạp một cách hiệu quả Ngôn ngữ lập trình chính được sử dụng là Java, được cài đặt riêng cho từng thiết bị Khi làm việc với Android Studio, bạn chỉ cần viết, chỉnh sửa và lưu dự án vào các file trong thư mục dự án Hơn nữa, Android Studio cũng cung cấp quyền truy cập vào Android SDK, bộ công cụ cần thiết để phát triển ứng dụng.
2.5.2 Cách sử dụng phần mềm Android studio
Tạo Project Android studio là thao tác bắt buộc trước khi chúng ta bắt tay vào phát triển ứng dụng Android
Bước 1: khởi động phần mềm Android studio → chọn file → New project → nhập tên ứng dụng (Application name) → chọn thư mục chứa project location → chọn next
Bước 2: nhấn vào Phone and tablet → chọn SDK tối thiểu tương ứng hệ điều hành
Bước 3: chọn Activity → nhấn empty → next
Bước 4: nhập tên Activity ở Activity name → nhấn Finish
2.5.3 Các tính năng nổi bật của Androi studio
Phần mềm mô phỏng giúp sửa chữa và nâng cấp sản phẩm hiệu quả Các trình soạn thảo mã và công cụ Intellij cung cấp tính năng cao cấp, bao gồm Instant Run cho phép thay đổi ứng dụng đang chạy mà không cần xây dựng lại APK Phần mềm cũng tích hợp Github và hỗ trợ C++ cùng NDK, mang lại trải nghiệm lập trình sâu sắc.
Firebase và các ứng dụng sau click chuột Tích hợp Google cloud platform Công cụ
Xây dựng ứng dụng trên nền tảng Gradle với sự hỗ trợ của các Wizard tích hợp, giúp lập trình viên dễ dàng tạo ra các ứng dụng từ các mẫu có sẵn Tính năng dò và sửa lỗi nhanh chóng được tối ưu hóa để hỗ trợ quá trình phát triển ứng dụng Android.
MÔ TẢ HOẠT ĐỘNG CỦA HỆ THỐNG
Để đảm bảo hệ thống hoạt động hiệu quả và ổn định về cả phần cứng lẫn phần mềm, nhóm đã xây dựng một mô hình tổng quát mô tả cách thức hoạt động của hệ thống Mô hình này sẽ là cơ sở để phát triển chi tiết từng thành phần của hệ thống.
Hình 3.1 Mô tả hoạt động của hệ thống
Chức năng hoạt động của hệ thống này được mô tả như sau:
Hệ thống khóa cửa: Bao gồm khối điều khiển trung tâm NodeMCU, module
Mạch khóa điện sử dụng các thành phần như RC522, module keypad, khối báo động, camera quan sát, khối hiển thị thông tin trạng thái và khối nguồn, cho phép cửa tự động mở qua ba phương thức: nhấn nút trực tiếp, nhập mã qua keypad hoặc đọc thẻ RFID Dữ liệu được gửi đến cơ sở dữ liệu Google Firebase để so sánh và xử lý Nếu thông tin đúng, hệ thống sẽ thực hiện lệnh điều khiển và hiển thị mã thẻ cùng thời gian quẹt thẻ; nếu sai, hệ thống cảnh báo sẽ kích hoạt.
Firebase Database là cơ sở dữ liệu thời gian thực của Google, dùng để lưu trữ thông tin hệ thống như mã thẻ mở khóa, trạng thái hoạt động và thời gian mở cửa Ứng dụng Android được phát triển bằng Android Studio cho phép giám sát, quản lý và điều khiển toàn bộ hệ thống Người dùng có thể thêm, sửa, xóa thông tin mã thẻ trong cơ sở dữ liệu, đồng thời truy cập thông tin về mã thẻ và thời gian quẹt thẻ của từng người, giúp giám sát và điều khiển thiết bị hiệu quả qua giao diện ứng dụng.
SƠ ĐỒ KHỐI HỆ THỐNG KHÓA CỬA
Sau khi thiết kế được mô hình của hệ thống, nhóm đã tiến hành vẽ sơ đồ khối tổng quan cho khối xử lý trung tâm
Hình 3.2 Sơ đồ khối của hệ thống khóa cửa
Khối xử lý trung tâm nhận tín hiệu từ khối xác thực và gửi tín hiệu đến khối bảo bật, giám sát Tín hiệu này sẽ được xử lý và cập nhật vào cơ sở dữ liệu thời gian thực của Firebase Khối xác thực cho phép người dùng tương tác với hệ thống.
Dữ liệu được gửi lên Firebase để so sánh và quyết định việc mở cửa Khối giám sát cho phép chủ nhà quan sát bên ngoài và mở cửa qua ứng dụng, đồng thời hiển thị trạng thái hệ thống trên màn hình LCD Cuối cùng, khối nguồn sử dụng adapter và mạch hạ áp để cung cấp nguồn cho từng khối trong hệ thống, kèm theo nguồn pin dự phòng trong trường hợp mất điện.
THIẾT KẾ HỆ THỐNG KHÓA CỬA
3.3.1 Khối xử lý trung tâm
Khối xử lý trung tâm là thành phần quan trọng trong hệ thống, kết nối với Module RFID để đọc mã thẻ và so sánh với cơ sở dữ liệu Firebase, từ đó gửi tín hiệu điều khiển cho khối khóa cửa Đồng thời, nó hiển thị thông tin trên module LCD_I2C và các đèn LED báo hiệu Để thực hiện các chức năng này, khối xử lý cần có khả năng xử lý nhanh, bộ nhớ đủ lớn, kết nối wifi và tích hợp các chuẩn giao tiếp với module RFID và LCD_I2C.
Module thu phát Wifi ESP32 NodeMCU là lựa chọn tối ưu cho các yêu cầu kết nối trong hệ thống Với khả năng hỗ trợ các chuẩn giao tiếp I2C, SPI, và UART, module này không chỉ có giá thành phải chăng mà còn rất phổ biến trên thị trường hiện nay Kết nối wifi là chức năng thiết yếu, do đó nhóm nghiên cứu quyết định chọn module ESP32 làm khối điều khiển trung tâm cho dự án.
Thông số kỹ thuật của sản phẩm bao gồm IC chính là ESP32 Wifi SoC, với phiên bản firmware NodeMCU Lua Chip nạp và giao tiếp sử dụng CP2102, cùng với GPIO hoàn toàn tương thích với firmware NodeMCU Sản phẩm được cấp nguồn 5VDC qua Micro USB hoặc Vin, với dòng định mức 80mA và mức giao tiếp GPIO là 3.3VDC Ngoài ra, thiết bị còn tích hợp đèn LED báo trạng thái, nút Reset và Flash, và hoàn toàn tương thích với trình biên dịch Arduino, cùng với bộ nhớ Flash 4MB.
Thiết kế khối điều khiển trung tâm:
Hình 3.4 Sơ đồ kết nối của ESP32
Nhóm chọn loại nút nhấn nhả 2 chân có kích thước 16mm phù hợp với đặc tính nhỏ gọn của hệ thống
Hình 3.5 Nút nhấn nhả 2 chân
RFID là một thành phần quan trọng trong hệ thống, bao gồm thẻ RFID và đầu đọc RFID Đầu đọc tương tác với thẻ RFID qua sóng radio, với khoảng cách giao tiếp từ 0.5 đến 60 milimet Thiết kế của đầu đọc cần nhỏ gọn, có khả năng đọc và ghi nhiều loại thẻ RFID, đồng thời phải đảm bảo độ bền cao và tiết kiệm năng lượng.
Module RFID RC522, sử dụng IC MFRC522 của Philip, là giải pháp lý tưởng cho việc đọc và ghi dữ liệu thẻ NFC tần số 13.56MHz Với mức giá hợp lý và thiết kế nhỏ gọn, module này phù hợp cho nhiều ứng dụng liên quan đến thẻ RFID Đặc biệt, MFRC522 hỗ trợ tốc độ truyền dữ liệu tối đa 10Mbit/s thông qua giao tiếp SPI.
Thông số kỹ thuật: Nguồn hoạt động 3.3V 13-26mA Dòng ở chế độ chờ 10-
13mA Dòng ở chế độ nghỉ < 80𝜇A Tải tối đa 30mA Tần số hoạt động 13.56Mhz
Khoảng cách đọc thẻ RFID dao động từ 0 đến 60mm, sử dụng giao thức truyền thông SPI với tốc độ dữ liệu tối đa đạt 10Mbit/s Khối đọc thẻ được kết nối với khối điều khiển trung tâm thông qua giao tiếp SPI và được cung cấp nguồn 3,3V từ khối xử lý trung tâm.
Keypad là thiết bị nhập có các nút bấm cho phép người dùng nhập chữ số, chữ cái hoặc ký tự điều khiển Khác với bàn phím, keypad không bao gồm toàn bộ bảng mã ASCII, nên thường được sử dụng trong các ứng dụng chuyên dụng và đơn giản, với số lượng nút nhấn thay đổi tùy theo từng ứng dụng.
Lựa chọn: Keypad 4×4 được coi là thiết bị đơn giản cho phép người dùng thực hiện thao tác nhập số do đó được sử dụng khá phổ biến
Hình 3.7 Sơ đồ nguyên lý và module bàn phím
Module bàn phím 4x4 là loại bàn phím ma trận với thiết kế phím mềm, có độ dài cáp 88mm và hoạt động trong nhiệt độ từ 0 đến 70 độ C Sản phẩm được trang bị đầu nối ra 8 chân, với kích thước bàn phím là 77 x 69 mm.
Như cho biết trong hình, thiết kế khối xác thực bao gồm module keypad 4x4, nút nhấn, module RC522
Hình 3.8 Thiết kế khối xác thực
Khóa cửa là một phần quan trọng trong hệ thống an ninh, cần đảm bảo tính chắc chắn để ngăn chặn kẻ trộm Đối với khóa điện tử, việc lập trình và điều khiển thông qua tín hiệu là cần thiết, tuy nhiên, cần chú ý đến mức tiêu thụ năng lượng Do đó, lựa chọn khóa điện với mức điện áp phù hợp là rất quan trọng để đảm bảo hiệu suất và an toàn.
Khóa điện Solenoid Lock LY-03 là lựa chọn lý tưởng cho các ứng dụng khóa cửa tự động, hoạt động với điện áp 12 VDC và có chức năng thường đóng, mang lại chất lượng tốt và độ bền cao.
Hình 3.9 Khóa điện Solenoid Lock LY-03
Sản phẩm được làm từ vật liệu thép không gỉ, sử dụng nguồn điện 12VDC với dòng điện làm việc 0.8A và công suất tiêu thụ 9.6W Yêu cầu nguồn cấp là 12VDC/1A, với kích thước 54mm x 38mm x 28mm Thiết kế bao gồm một mạch kích bằng relay để điều khiển khóa điện đóng mở theo tín hiệu từ khối xử lý trung tâm.
Để đáp ứng yêu cầu về kích thước nhỏ gọn và tính năng tích hợp, nhóm đã quyết định sử dụng buzzer nhỏ với điện áp 5V làm còi báo động Đồng thời, transistor C1815 được chọn để làm mạch khuếch đại cho còi kêu.
Hình 3.10 Buzzer và transistor khuếch đại
Servo Để đáp ứng việc mở cửa tự động, nhóm nghiên cứu quyết định sử dụng servo, phù hợp với việc demo trên mô hình
Hình 3.11 Động cơ servo SG90 360 độ
Thiết kế khối bảo mật bao gồm, khóa điện, mạch bạo động, servo SG90
Hình 3.12 Thiết kế khối bảo mật
Để hiển thị thông tin người dùng, mã thẻ RFID, trạng thái hoạt động của hệ thống và thời gian hoạt động, cần một màn hình có kích thước phù hợp, giá thành hợp lý, độ bền cao và khả năng giao tiếp dễ dàng với khối xử lý trung tâm qua chuẩn I2C.
Màn hình LCD 20x4 với kích thước 96 x 60 mm, điện áp hoạt động 5VDC và dòng tiêu thụ thấp là một lựa chọn lý tưởng Nó được trang bị biến trở để điều chỉnh độ tương phản và jump chốt cung cấp đèn cho LCD, cùng với module giao tiếp I2C, mang lại hiệu suất tốt cho người sử dụng.
Hình 3.13 Màn hình LCD 20x4 và Module giao tiếp I2C [6]
Giao tiếp I2C cho phép điều khiển màn hình thông qua IC xử lý trên module I2C, sử dụng chỉ hai dây tín hiệu SDA và SCL, giúp tiết kiệm chân cho vi điều khiển Các chân của module LCD_I2C được kết nối với ESP32 theo một bảng cụ thể.
THIẾT KẾ ỨNG DỤNG ANDROID
Ứng dụng sẽ hoạt động hiệu quả khi có kết nối WiFi ổn định và đồng bộ với cơ sở dữ liệu thời gian thực của Google Firebase Dữ liệu sẽ được nhận từ Firebase và hiển thị trên giao diện ứng dụng Android, cho phép người dùng điều khiển và giám sát hệ thống khóa cửa một cách dễ dàng Đồng thời, người quản lý hoặc chủ sở hữu có thể thực hiện các thao tác như thêm, sửa, xóa thông tin người dùng trên ứng dụng và gửi dữ liệu lên cơ sở dữ liệu của Firebase để lưu trữ.
Yêu cầu của ứng dụng được thiết kế với 6 giao diện màn hình để giao tiếp, giám sát và điều khiển hệ thống:
- Màn hình đăng nhập để sử dụng được hệ thống
- Màn hình giới thiệu về đề tài
- Màn hình hiển thị các chức năng của ứng dụng
- Màn hình điều khiển và giám sát
- Màn hình hiển thị dữ liệu người dùng
- Màn hình hiển thị lịch sử ra vào cửa
- Ứng dụng Android được thiết kế với mô hình cấu trúc giao diện như sau:
Ứng dụng sau khi hoàn thành sẽ được tải về điện thoại, cài đặt và cho phép người dùng điều khiển cũng như giám sát hệ thống một cách hiệu quả.
THI CÔNG PHẦN CỨNG
Sau khi vẽ xong sơ đồ nguyên lý cho toàn mạch, nhóm sẽ tiến hành vẽ layout PCB bằng phần mềm Altium và thi công mạch thủ công
Hình 4.1 Sơ đồ bố trí mạch in PCB
Sau khi hoàn thành xong mạch in nhóm đã thống kê những linh kiện được sử dụng trong mạch ở bảng bên dưới và tiến hành thi công mạch
Bảng 4.1: Bảng thống kê linh kiện sử dụng
STT Tên linh kiện Số lượng Chú thích
5 Nút nhấn 2 Nút nhấn nhả 2 chân
6 Khóa chốt điện 1 Khóa điện
13 Jack DC 1 Jack nguồn DC
14 Pin Lipo 1 Pin dự phòng
20 Servo SG90 1 Động cơ bước
Nhóm thực hiện thi công mạch in, kết nối các khối với nhau bằng các header màu trắng để tạo sự gọn gàng và thuận tiện hơn cho việc kết nối phần cứng, như thể hiện trong Hình 4.2 dưới đây.
Hình 4.2 Mạch in thi công của board trung tâm
KẾT NỐI VÀ TẠO PROJECT REALTIME DATABASE TRÊN
Nhóm sử dụng phần mềm Arduino IDE để viết chương trình bằng ngôn ngữ
C, biên dịch chương trình và nạp chương trình cho board ESP32 Trong đó, nhóm nghiên cứu sử dụng các thư viện như SPI.h để giao tiếp với module đọc thẻ RFID, thư viện MFRC522.h để đọc mã thẻ RFID, thư viện WiFi.h để kết nối với mạng wifi, thư viện FirebaseESP32.h để kết nối với cơ sở dữ liệu Firebase và một số thư viện khác liên quan Sử dụng ESP32 để đọc dữ liệu từ Firebase cần phải khai báo thư viện liên quan, khai báo URL và mã key Database secret của Firebase Nhưng trước hết
32 cần phải tạo một project và cơ sở dữ liệu thời gian thực RealTime Database trên Firebase
To create a RealTime Database project on Firebase, you need to have a Gmail account to log in to Firebase and establish a project within the platform.
To create a project on Firebase, click on the "Go to console" option located at the top right corner of the Firebase interface.
Hình 4.4 Tạo project trên Firebase
Nhấn vào màn hình để chuyển sang trang tạo Project, sau đó chọn nút "Add project" để tạo một project mới và nhấn "Continue" để tiếp tục.
Hình 4.5 Tạo cơ sở dữ liệu thời gian thực trên Firebase
Sau khi hoàn tất việc tạo project, chọn mục Realtime Database và nhấn vào "Create Database" để khởi tạo cơ sở dữ liệu thời gian thực trên Google Firebase.
Hình 4.6 Cho phép đọc và ghi dữ liệu vào Firebase
Để thiết lập quyền truy cập cho cơ sở dữ liệu thời gian thực của Firebase, bạn cần vào mục Rules và thay đổi quyền đọc và ghi thành “True” như hình minh họa.
Hình 4.7 Đường link URL trên Firebase
Để ESP32 giao tiếp và nhận dữ liệu từ Firebase, cần khai báo URL và database secret của Firebase Bạn hãy vào mục Data và sao chép đường link URL để sử dụng trong chương trình điều khiển của ESP32.
Hình 4.8 Database secrets trong Firebase
Mỗi tài khoản RealTime Database sẽ được cấp một mã Database secret để bảo mật thông tin Để lấy mã này, người dùng cần vào phần Cài đặt Dự án, chọn Tài khoản Dịch vụ và sau đó chọn Bí mật Cơ sở dữ liệu Sau khi sao chép mã key Secret Firebase đã được tạo sẵn, người dùng có thể đưa vào chương trình điều khiển của ESP32 và tiến hành tạo cơ sở dữ liệu trên Firebase.
Hình 4.9 Cơ sở dữ liệu được tạo trên Firebase
The RealTime Database is structured in a tree diagram format, encompassing key data elements such as History, ID_RFID, Status_Camera, Status_Door, and Uses.
Mục “History” sẽ lưu lại mã thẻ và thời gian khi quẹt thẻ để mở cửa, thời gian khi mở cửa bằng điện thoại cũng được lưu ở đây
Mục “ID_RFID” sẽ ghi nhận giá trị của mã thẻ RFID khi thẻ được quẹt Đồng thời, nút Status_Camera và nút Status_door sẽ hiển thị thông tin về trạng thái hoạt động của camera và khóa cửa khi nhận được tín hiệu điều khiển tương ứng.
Mục “Users” sẽ lưu dữ liệu mã thẻ, tên người dùng và số điện thoại người dùng
Dữ liệu từ nút Users sẽ được lưu từ điện thoại và cập nhật lên Firebase
THI CÔNG ỨNG DỤNG ANDROID
To design an Android application for controlling and monitoring systems, the team utilized Android Studio software, which connects to Google's Firebase Real-Time Database for real-time data management.
4.3.1 Android Studio kết nối với Google Firebase
Hình 4.10 Thêm ứng dụng Android vào project Firebase
Sau khi tạo một dự án trên Firebase, bạn cần vào phần Cài đặt dự án Tại mục Chung, hãy kéo xuống và nhấn vào biểu tượng Android để bắt đầu tạo và kết nối ứng dụng Android của bạn.
Hình 4.11 Thêm đường dẫn của ứng dụng Android vào Firebase
Nhập tên đường dẫn của ứng dụng Android, tên của project và click chọn Register app để đăng ký tạo ứng dụng Android kết nối với Firebase
Hình 4.12 Tải về file google-services.json
Next, download the google-services.json file from Google Firebase and save it in the Project/app/src directory within Android Studio Then, click Next to proceed with the creation of a new project in Android Studio.
Hình 4.13 Tạo project Android Studio
Mở phần mềm Android Studio và tạo một project, chọn mục Empty Activity tạo một file project rỗng để tạo ứng dụng Android và nhấn Next
Hình 4.14 Tạo project trên Android Studio
Dự án sẽ được đặt tên là MyFinalProject, với tên gói (Package name) là đường dẫn phần mềm tự động tạo, giúp kết nối với các dịch vụ khác.
39 sử dụng đường dẫn này để kết nối ứng dụng Android với Google Firebase Sau đó bấm Finish để hoàn thành tạo project Android
Hình 4.15 Kết nối với Firebase trên Android Studio
In Android Studio, navigate to the Tools menu, select Firebase, and click the connect icon to link your project with Firebase and establish a connection to the Realtime Database This process will automatically install the necessary Google Firebase libraries and services in Android Studio, allowing you to create an application that communicates with Firebase.
4.3.3 Thi công ứng dụng Android Studio
Trong Chương 3, nhóm đã hoàn thành việc thiết kế giao diện và chức năng cho ứng dụng Android, phục vụ cho hệ thống điều khiển khóa cửa thông minh.
Hình 4.16 Giao diện đăng nhập vào hệ thống
Khi khởi động ứng dụng, người dùng cần đăng nhập vào hệ thống bằng tên tài khoản và mật khẩu đã được cấp Đối với người quản lý, giao diện đăng nhập yêu cầu nhập thông tin này để truy cập các tính năng của ứng dụng Tên tài khoản và mật khẩu mặc định được thiết lập là "admin".
Hình 4.17 Giao diện menu các chức năng của ứng dụng
Sau khi đăng nhập thành công bằng tên tài khoản và mật khẩu, người dùng sẽ thấy giao diện Menu với 4 nút nhấn: Home, Control, User và History, tương ứng với các chức năng của ứng dụng.
Hình 4.18 Giao diện giới thiệu về đề tài
Nhấn nút Home trong Menu để xem màn hình giới thiệu về hệ thống khóa cửa thông minh giám sát ra vào Để trở lại giao diện Menu, hãy nhấp vào biểu tượng ổ khóa.
Hình 4.19 Giao diện điều khiển và giám sát
Khi nhấn nút Control trong Menu, giao diện điều khiển và giám sát hệ thống khóa cửa sẽ xuất hiện, bao gồm Webview hiển thị hình ảnh trực tiếp từ camera, switch gạt để bật tắt camera, Imageview hiển thị hình chiếc ổ khóa, và nút Open cho phép mở khóa cửa từ xa và gửi dữ liệu lên Firebase.
Hình 4.20: Giao diện User quản lý thông tin người dùng
Nhấn vào nút "User " trong menu sẽ mở giao diện quản lý cá nhân, cho phép quản lý hoặc chủ nhà thêm, xóa và chỉnh sửa thông tin như mã thẻ RFID, tên người dùng và số điện thoại Để chỉnh sửa hoặc xóa thông tin người dùng, chỉ cần nhấp vào biểu tượng hình bút chì trên màn hình.
Hình 4.21 Chỉnh sửa thông tin và cập nhật dữ liệu
Sau khi người dùng điền thông tin tên, mã thẻ và số điện thoại, việc nhấn nút Save trên màn hình sẽ lưu trữ dữ liệu và cập nhật ngay lập tức lên cơ sở dữ liệu thời gian thực RealTime Database của Firebase.
Hình 4.22 Dữ liệu Users được lưu trên Firebase
Dữ liệu sau khi lưu lại vào ứng dụng trên điện thoại sẽ được cập nhật lên nút Users của cơ sở dữ liệu trên Firebase
Hình 4.23 Giao diện lịch sử ra vào cửa
Khi nhấn nút History trong menu, giao diện History sẽ hiển thị mã thẻ đã quẹt và lịch sử mở cửa Dữ liệu này được nhận từ Firebase mỗi khi có tín hiệu quẹt thẻ RFID hoặc mở cửa bằng điện thoại.
Hình 4.24 Dữ liệu lịch sử ra vào được lưu trên Firebase
Dữ liệu lịch sử sẽ được lưu trữ tại nút History trên cơ sở dữ liệu của Firebase (Hình 4.24)
LƯU ĐỒ GIẢI THUẬT CHO HỆ THỐNG KHÓA CỬA
Để đảm bảo hệ thống hoạt động ổn định và đạt được mục tiêu ban đầu, nhóm đã tổ chức lại các yêu cầu cần thiết và các vấn đề cần giải quyết thành một lưu đồ thuật toán chung cho toàn bộ hệ thống.
Khi hệ thống khởi động, khối xử lý trung tâm sẽ thiết lập các giá trị ban đầu và cấu hình chân I/O cho toàn mạch ESP32 sẽ thực hiện kiểm tra để đảm bảo hoạt động chính xác của hệ thống.
Khi thiết bị kết nối thành công với WiFi, nó sẽ tiếp tục kết nối với cơ sở dữ liệu trên Firebase Sau khi hoàn tất kết nối, hệ thống khóa cửa sẽ kiểm tra và thực hiện mở cửa thông qua ba phương thức: thẻ RFID, điện thoại Android và mở cửa từ bên trong Nếu một trong ba phương thức này được thực hiện, cửa sẽ mở trong 5 giây trước khi tự động đóng lại và kết thúc quá trình.
Chương trình đọc thẻ RFID:
Hình 4.26 Lưu đồ chương trình đọc thẻ RFID
Khi hệ thống mở khóa bằng thẻ RFID được thực hiện, nó sẽ kiểm tra xem có mã thẻ nào được quẹt hay không Nếu có, hệ thống sẽ xác minh mã thẻ đó với mã thẻ đã lưu trên Firebase Nếu mã thẻ trùng khớp, hệ thống sẽ gửi mã thẻ lên Firebase, lấy thời gian thực từ Internet và gửi lên Firebase, sau đó cho phép mở cửa.
Cửa sẽ tự động đóng sau 5 giây Nếu người dùng quẹt sai mã thẻ, số lần sai sẽ tăng lên một Nếu có hơn 3 lần quẹt sai, hệ thống sẽ kích hoạt báo động, gửi dữ liệu lên Firebase và cửa vẫn sẽ giữ nguyên trạng thái đóng.
Chương trình mở khóa bằng điện thoại:
Hình 4.27 Lưu đồ mở cửa bằng điện thoại
Khi chương trình mở khóa bằng điện thoại được thực thi, ứng dụng sẽ yêu cầu người dùng đăng nhập bằng tài khoản và mật khẩu đã được cấp trên điện thoại Android Sau khi đăng nhập, người dùng chọn chức năng mở khóa trên giao diện màn hình Khi nhấn phím mở khóa, điện thoại sẽ gửi dữ liệu lên Firebase, và ESP32 sẽ nhận dữ liệu từ Firebase để điều khiển cơ chế mở khóa Sau 5 giây, cửa sẽ tự động đóng lại.
Chương trình mở khóa từ bên trong:
Hình 4.28 Lưu đồ chương trình mở khóa từ bên trong
Khi người dùng nhấn nút mở cửa từ bên trong, hệ thống sẽ xác nhận việc nhấn nút Nếu nút được nhấn, dữ liệu sẽ được gửi lên Firebase và cửa sẽ mở Sau 5 giây, cửa sẽ tự động đóng lại.
KẾT QUẢ
Hình 5.1 Mô hình hoàn chỉnh của mạch
Mô hình hoàn chỉnh bao gồm màn hình LCD hiển thị thông tin quẹt thẻ, trạng thái mở cửa và thời gian thực của hệ thống Nó còn có khung quẹt thẻ RFID, khóa chốt cửa để đóng mở, camera quan sát và hai nút nhấn: nút màu xanh để cập nhật dữ liệu lên Firebase và nút màu đỏ để mở cửa từ bên trong.
Hình 5.2 Hệ thống đang khởi động
Khi mạch được cấp nguồn, hệ thống sẽ khởi động và hiển thị thông báo trên màn hình LCD về quá trình khởi động và kết nối wifi Đồng thời, còi chip sẽ phát ra hai tiếng bíp bíp để xác nhận hoạt động.
Hình 5.3 Màn hình sau khi khởi động xong
Sau khi khởi động, thiết bị sẽ phát ra hai tiếng bíp và màn hình LCD sẽ hiển thị thông tin yêu cầu quẹt thẻ cùng với thời gian thực của hệ thống đang hoạt động.
Hình 5.4 Cập nhật dữ liệu thành công
Khi hệ thống lần đầu hoạt động, nhấn nút màu xanh để cập nhật và lấy dữ liệu từ cơ sở dữ liệu Firebase Màn hình LCD sẽ hiển thị thông báo "Đang cập nhật dữ liệu, vui lòng chờ" như trong Hình 5.4.
Dữ liệu đã được cập nhật thành công và màn hình LCD sẽ hiển thị thông báo tương ứng Lúc này, hệ thống cho phép người dùng sử dụng các chức năng để mở cửa.
Hình 5.5 Quẹt đúng thẻ RFID
Khi quẹt đúng mã thẻ, thông tin mã thẻ sẽ được hiển thị trên màn hình LCD, kích hoạt khóa cửa và mở cửa Sau 5 giây, cửa sẽ tự động đóng lại.
55 đồng thời sẽ gửi dữ liệu mã thẻ, tên người dùng, thời gian quẹt thẻ và trạng thái của khóa cửa lên cơ sở dữ liệu Firebase
Hình 5.6 Quẹt sai thẻ RFID
Nếu người dùng quẹt sai mã thẻ quá 3 lần, hệ thống sẽ phát ra còi báo động và hiển thị thông báo trên màn hình LCD Còi báo sẽ kêu lớn hơn và lâu hơn, đồng thời trạng thái cửa và số lần quẹt sai sẽ được cập nhật lên Firebase.
Về phần ứng dụng Android trên điện thoại, nhóm cũng đã hoàn thành các giao diện và các chức năng như đã đề ra
Để bắt đầu sử dụng ứng dụng, người dùng cần đăng nhập vào hệ thống bằng tên người dùng và mật khẩu đã được cài đặt trước đó.
Sau khi đăng nhập với tài khoản "admin", người dùng sẽ được chuyển đến màn hình hiển thị các chức năng của hệ thống Màn hình này bao gồm các nút "Home", "Control", "User " và "History", tương ứng với các chức năng giới thiệu đề tài, điều khiển và giám sát hệ thống, quản lý người dùng, cùng với lịch sử ra vào.
Hình 5.8 Giao diện mở khóa và khởi động camera trên điện thoại Android
Nhấn vào màn hình chức năng “Control” để truy cập giao diện điều khiển khóa cửa và kích hoạt camera từ xa.
Khóa cửa "OPEN" trên giao diện sẽ chuyển từ trạng thái khóa sang mở, đồng thời cập nhật thông tin lên Firebase để cho phép mở cửa từ xa Khi bật Switch của camera, người dùng có thể xem hình ảnh trực tiếp từ camera trên điện thoại.
Hình 5.9 Lịch sử ra vào cửa
Nhấn vào màn hình "History" (hình 5.9) để xem giao diện lịch sử ra vào cửa, nơi dữ liệu sẽ được cập nhật từ cơ sở dữ liệu Firebase.
Hình 5.10 Giao diện chỉnh sửa thông tin
Để thay đổi hoặc thêm thông tin người dùng và mã thẻ, người dùng cần truy cập vào màn hình chức năng "User " Tại đây, thông tin người dùng sẽ được hiển thị, bao gồm tên, mã thẻ RFID và số điện thoại Để chỉnh sửa và bổ sung thông tin, hãy nhấn vào biểu tượng hình bút chì, sau đó nhấn Save để lưu lại Dữ liệu sẽ được cập nhật lên Firebase.
ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN
Sau khi chạy kiểm thử hệ thống trong nhiều giờ liên tục, nhóm đã thống kê số liệu cho bảng sau:
Bảng 5.2: Bảng kết quả thử nghiệm chạy thử hệ thống
Số lần mở cửa bằng nút nhấn thành công
Thời gian trung bình mở cửa bằng nút nhấn
Thời gian trung bình quẹt thẻ
Số lần mở cửa bằng điện thoại thành công
Thời gian trung bình mở cửa bằng điện thoại
Theo bảng thống kê, thời gian mở cửa từ bên trong bằng nút nhấn diễn ra nhanh chóng do hệ thống không cần gửi dữ liệu lên Firebase Tỉ lệ thành công khi quẹt thẻ từ 10-20 lần khá chính xác, và thời gian mở cửa bằng điện thoại cũng ổn định trong 20 lần thử đầu Tuy nhiên, ở những lần thử sau, tỷ lệ thành công không đạt 100% như ban đầu Nguyên nhân có thể là do việc mở cửa liên tục làm hệ thống không đáp ứng kịp, kết nối mạng không ổn định, hoặc thuật toán chưa được tối ưu.
5.2.1 Nhận xát và đánh giá
Thông qua quá trình làm đồ án cũng như chạy thử hệ thống, nhóm đã đưa ra một số nhận xét và đánh giá như sau:
Mô hình đã hoàn tất và hệ thống hoạt động hiệu quả, đáp ứng đầy đủ các yêu cầu như mở khóa bằng thẻ RFID, sử dụng ứng dụng điện thoại Android để mở khóa, mở cửa từ bên trong, và theo dõi hình ảnh trực tuyến từ camera quan sát.
Mô hình hoạt động an toàn với điện áp dưới 12V, đảm bảo sự an toàn cho người sử dụng Các thao tác trên điện thoại Android được thiết kế đơn giản, dễ sử dụng, giúp người dùng thao tác một cách thuận tiện.
Thời gian quẹt thẻ và quá trình so sánh dữ liệu với Firebase để mở cửa thường rất chính xác Tuy nhiên, đôi khi có thể xảy ra hiện tượng trễ trong việc mở cửa do kết nối internet không ổn định.
- Camera chỉ có thể quan sát được hình ảnh trực tuyến, không lưu trữ được video lại
Sau thời gian nghiên cứu và thực hiện, nhóm đã hoàn thành đề tài với sự hỗ trợ nhiệt tình từ thầy và bạn bè Chúng tôi đã thiết kế thành công một ứng dụng Android trên phần mềm Android Studio, kết nối với cơ sở dữ liệu thời gian thực của Firebase Bên cạnh đó, sơ đồ nguyên lý của board xử lý trung tâm đã được thiết kế và layout PCB được vẽ bằng phần mềm Altium Designer Giao tiếp giữa ESP32 và Firebase diễn ra thành công, với các khối thi công hoạt động đúng chức năng Hệ thống nhận diện mã thẻ RFID và so sánh dữ liệu trên Firebase một cách chính xác, ứng dụng trên điện thoại dễ dàng thao tác và thân thiện với người dùng.
Mặc dù đề tài đã hoàn thành, nhưng vẫn tồn tại một số hạn chế như tính thẩm mỹ của hệ thống chưa cao, ứng dụng quản lý và giám sát trên điện thoại còn đơn giản, và đôi khi xuất hiện hiện tượng trễ do kết nối mạng không ổn định.
HƯỚNG PHÁT TRIỂN
Để đảm bảo sự ổn định và tính thực tế của sản phẩm, nhóm đề ra hướng phát triển của hệ thống như sau:
- Thay màn hình LCD thành màn hình cảm ứng có thêm chức năng mở khóa bằng vân tay, có thể thêm xóa vân tay trên hệ thống
Thiết kế và tính toán một nguồn pin sạc nhiều lần cho toàn bộ hệ thống, đồng thời tích hợp chức năng hiển thị phần trăm pin trên điện thoại Android.
- Thêm tính năng bảo mật cho ứng dụng trên điện thoại Android, cho phép bảo mật nhiều lớp khi mở cửa bằng điện thoại
- Thiết kế thêm một hệ thống báo động khẩn cấp phòng trường hợp hỏa hoạn, cháy nổ
- Tối ưu tính năng lưu lại lịch sử mở cửa hằng ngày
- Tối ưu camera cho phép lưu lại các video hoặc hình ảnh mỗi ngày vào bộ nhớ của hệ thống