ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH THỰC TẬP ĐỒ ÁN MÔN HỌC ĐA NGÀNH HƯỚNG CÔNG NGHỆ PHẦN MỀM (CO3109) ỨNG DỤNG NHÀ THÔNG MINH (SMART HOME) GVHD: Ths. Bùi Công Tuấn SV thực hiện: Võ Minh Duy – 2113046 Nguyễn Tất Tấn Dũng – 2113066 Trương Thuận Hưng – 2113619 Phạm Ngọc Ân – 2112839 Trần Đình Phong – 2114404 Tp. Hồ Chí Minh, Tháng 2/2024 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học & Kỹ Thuật Máy Tính Danh sách thành viên & Phân chia công việc Student ID Full name Assigned Task % Work Chức năng điều khiển quạt và quạt tự động 2113619 Trương Thuận Hưng 100% Chức năng điều khiển bằng giọng nói Chức năng bật và tắt đèn, đèn tự động 2113046 Võ Minh Duy 100% Chức năng thông báo khi phát hiện vượt ngưỡng Chức năng xem nhiệt độ và độ ẩm 2113066 Nguyễn Tất Tấn Dũng 100% Chức năng xem hoạt động của thiết bị Chức năng đóng mở cửa và case study cho các thiết bị 2114404 Trần Đình Phong 100% Chức năng điều khiển thiết bị bằng remote Chức năng thông báo khi phát hiện người 2112839 Phạm Ngọc Ân 100% Chức năng đèn tự động Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024 Trang 1/67 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học & Kỹ Thuật Máy Tính Mục lục 1 Thu thập yêu cầu (Requirement elicitation) 4 1.1 Mô tả dự án .2 Các bên liên quan (Stakeholders) .3 Yêu cầu người dùng (User Requirements) .4 Yêu cầu chức năng và phi chức năng .1 Yêu cầu chức năng (Functional Requirements) .2 Yêu cầu phi chức năng (Non-functional Requirements) .5 Danh sách các thiết bị .6 Biểu đồ use-case và kịch bản use-case .1 Biểu đồ use-case cho toàn hệ thống .2 Use-case: Đèn tự động .3 Use-case: Bật và tắt đèn .4 Use-case: Đóng và mở cửa .5 Use-case: Điều khiển quạt .6 Use-case: Quạt tự động .7 Use-case: Xem nhiệt độ và độ ẩm .8 Use-case: Bật/Tắt chế độ phát hiện người .9 Use-case: Phát hiện người .10 Use-case: Phát hiện vượt ngưỡng .11 Use-case: Điều khiển bằng giọng nói .12 Use-case: Xem hoạt động của thiết bị. 19 2 Mô hình hóa hệ thống (System modelling) 20 2.1 Biểu đồ hoạt động (Activity diagram) .1 Chức năng: Đèn tự động .2 Chức năng: Bật và tắt đèn .3 Chức năng: Đóng và mở cửa .4 Chức năng: Điều khiển quạt .5 Chức năng: Quạt tự động .6 Chức năng: Xem nhiệt độ và độ ẩm .7 Chức năng: Bật chế độ phát hiện người .8 Chức năng: Phát hiện người .9 Chức năng: Phát hiện vượt ngưỡng .10 Chức năng: Điều khiển bằng giọng nói .2 Biểu đồ tuần tự (Sequence diagram) .1 Chức năng: Đèn tự động .2 Chức năng: Bật và tắt đèn .3 Chức năng: Đóng và mở cửa .4 Chức năng: Điều khiển quạt .5 Chức năng: Quạt tự động .6 Chức năng: Xem nhiệt độ và độ ẩm .7 Chức năng: Bật/tắt chế độ phát hiện người .8 Chức năng: Phát hiện người .9 Chức năng: Phát hiện vượt ngưỡng .10 Chức năng: Điều khiển bằng giọng nói .3 Casestudy cho các thiết bị và State chart diagram .1 Quạt tự động theo cảm biến nhiệt độ .2 Đèn tự động theo cảm biến ánh sáng .3 Đèn tự động khi phát hiện chuyển động .4 Cửa tự động .1 Các thành phần chính (Components).
48 Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024 Trang 2/67 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học & Kỹ Thuật Máy Tính 2.3 Log in / Sign up page .4 Account management page .1 Entity-Relationship Diagram (ER diagram) .7 Tìm hiểu công nghệ .8 Tính năng đặc trưng CNPM: Design Pattern .1 Design Pattern: Adapter .2 Design Pattern: Facade. 65 3 Mã nguồn dự án và video demo 67 Tài liệu tham khảo 67 Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024 Trang 3/67 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học & Kỹ Thuật Máy Tính 1 Thu thập yêu cầu (Requirement elicitation) 1.1 Mô tả dự án Hiện nay, tốc độ phát triển của công nghệ kỹ thuật trên thế giới ngày càng nhanh, cùng với đó là nhu cầu sử dụng các thiết bị công nghệ thông minh của người dùng ngày càng tăng cao. Họ muốn trải nghiệm các công nghệ tiên tiến ngay trong chính ngôi nhà của mình để đem đến sự an toàn, tiện lợi cho cuộc sống. Chính vì vậy, nhà thông minh (Smart home) đang trở thành xu thế, sẽ hướng người dùng tiếp cận đến lối sống hiện đại, đảm bảo sự an toàn và tiện nghi cho cư dân, đồng thời giúp tiết kiệm năng lượng và tối ưu hóa quản lý tài nguyên.
Dự án này tập trung nhắm đến đối tượng là cư dân trong các căn hộ chung cư bao gồm cả gia đình và người sống độc thân, với mong muốn tối ưu hóa trải nghiệm sống hàng ngày của họ. Ngày nay, sống trong các căn hộ chung cư là lựa chọn phổ biến tại nhiều đại đô thị, do mật độ dân số cao và diện tích đất thấp. Dù có một vài ưu điểm hơn so với nhà đất, song căn hộ chung cư vẫn còn nhiều điểm hạn chế, đặc biệt là các sự cố như: cháy nổ, chập điện. Do đó, để đảm bảo an toàn cũng như tăng sự tiện lợi cho cuộc sống, dự án nhà thông minh do nhóm thực hiện sẽ không chỉ giải quyết các nhược điểm của căn hộ chung cư mà còn mang lại nhiều lợi ích vô cùng thiết thực.2 Các bên liên quan (Stakeholders) Dự án hệ thống nhà thông minh cho căn hộ chung cư bao gồm các stakeholder như: • Cư dân: Sử dụng, quản lý các tiện ích thông minh trong căn hộ, yêu cầu lắp thêm thiết bị, báo cáo khi thiết bị hỏng hoặc có sự cố, góp ý về dịch vụ thông minh.
• Nhân viên kỹ thuật: Bảo trì và vận hành các hệ thống thông minh, sửa chữa thay thế khi người dùng báo cáo lỗi, lắp đặt thêm các thiết bị khi người dùng yêu cầu. • Nhà cung cấp công nghệ : Cung cấp các thiết bị cho toà nhà, chịu trách nhiệm về sản phẩm cung cấp. • Chủ đầu tư: Quyết định đầu tư vào dự án, cung cấp nguồn vốn và tài trợ. • Các nhà thầu xây dựng: Thực hiện việc xây dựng, lắp đặt và triển khai các hệ thống thông minh.
• Đội ngũ phát triển dự án: bao gồm PM, BA, Developers,.chịu trách nhiệm về việc triển khai dự án thành công. Họ đảm bảo rằng hệ thống an toàn, đáng tin cậy và đáp ứng nhu cầu của người dùng • Ban quản lý chung cư: Quản lý các hoạt động hàng ngày của chung cư.3 Yêu cầu người dùng (User Requirements) Là cư dân trong các căn hộ chung cư, người dùng đòi hỏi hệ thống nhà thông minh phải đáp ứng đầy đủ các yêu cầu sau: • Người dùng có khả năng điều khiển các thiết bị trong gia đình (đèn , quạt điện, điều hòa,. ) thông qua ứng dụng theo mong muốn. • Người dùng có khả năng xem nhiệt độ bên trong ngôi nhà qua ứng dụng.
• Người dùng mong muốn hệ thống gửi thông báo cho người dùng thông qua ứng dụng về các sự kiện như phát hiện chuyển động, phát hiện cháy, thiết bị vượt ngưỡng. • Người dùng mong muốn hệ thống dễ sử dụng, mượt mà, ít xảy ra lỗi hay bảo trì ứng dụng. • Người dùng mong muốn khả năng truy cập ứng dụng là mọi lúc mọi nơi với đa dạng thiết bị và chỉ cần có kết nối internet. • Người dùng mong muốn hệ thống có độ bảo mật tốt, tránh bị xâm hại bởi bên thứ ba.
Trong các yêu cầu trên, nhóm nhận thấy chức năng gửi thông báo cho người dùng thông qua ứng dụng về các sự kiện như phát hiện chuyển động, phát hiện cháy, thiết bị vượt ngưỡng. là quan trọng nhất vì nó đảm bảo sự an toàn cho ngôi nhà cũng như bảo vệ người dùng khỏi các sự cố không đáng có. Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024 Trang 4/67 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học & Kỹ Thuật Máy Tính 1.4 Yêu cầu chức năng và phi chức năng 1.1 Yêu cầu chức năng (Functional Requirements) • Người dùng có thể bật/tắt quạt và điều chỉnh tốc độ quay của quạt thông qua ứng dụng. • Người dùng có thể bật/tắt đèn LED RGB thông qua ứng dụng.
• Người dùng có thể xem được nhiệt độ và độ ẩm bên trong ngôi nhà trên ứng dụng thông qua cảm biến đo nhiệt độ và độ ẩm không khí (DHT20). • Người dùng có thể điều khiển cửa đóng hoặc cửa mở thông qua ứng dụng • Hệ thống gửi thông báo cho người dùng khi phát hiện có người. • Hệ thống gửi thông báo cho người dùng khi phát hiện input thiết bị vượt ngưỡng. • Hệ thống tự động bật đèn khi ánh sáng vượt ngưỡng và tắt đèn khi ánh sáng thấp hơn ngưỡng cho phép.
• Hệ thống tự động bật quạt khi nhiệt độ, độ ẩm vượt ngưỡng và tắt quạt khi nhiệt độ, độ ẩm thấp hơn ngưỡng cho phép.2 Yêu cầu phi chức năng (Non-functional Requirements) Tính bảo mật • Bảo mật dữ liệu: Hệ thống phải sử dụng mã hóa mạnh mẽ để bảo vệ thông tin cá nhân và dữ liệu nhạy cảm của người dùng, đặc biệt là khi truyền qua mạng. • Xác thực và ủy quyền: Đảm bảo rằng chỉ có người dùng được ủy quyền mới có thể truy cập và điều khiển các thiết bị thông qua ứng dụng, có cơ chế xác thực hai yếu tố nếu cần thiết. Độ ổn định và tin cậy • Kiểm thử và đảm bảo chất lượng: Phát triển hệ thống cần được kiểm thử kỹ lưỡng để đảm bảo tính ổn định và tin cậy, đồng thời cần có quy trình giám sát và báo cáo lỗi để sửa chữa kịp thời. • Sao lưu và khôi phục: Cần có cơ chế sao lưu dữ liệu định kỳ và khả năng khôi phục nhanh chóng sau sự cố để đảm bảo không mất mát dữ liệu quan trọng.
Hiệu suất • Hệ thống phải có thời gian phản hồi nhanh chóng cho các yêu cầu điều khiển từ người dùng, đảm bảo rằng các thiết bị có thể được điều khiển một cách trơn tru và hiệu quả. Cụ thể là thời gian phản hồi của hệ thống cho các yêu cầu điều khiển từ người dùng không vượt quá 2 giây. • Ứng dụng hỗ trợ chạy real-time. Tính mở rộng • Mở rộng tính năng: Có khả năng cập nhật phần mềm và tích hợp tính năng mới một cách dễ dàng để đáp ứng nhu cầu và yêu cầu mới của người dùng.
• Tải và mở rộng: Hệ thống cần được thiết kế để có thể xử lý đồng thời số lượng lớn người dùng và thiết bị, và có khả năng mở rộng linh hoạt khi cần thiết.