Tải bản đầy đủ (.pdf) (68 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.55 MB, 68 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

THỰC TẬP ĐỒ ÁN MÔN HỌC ĐA NGÀNHHƯỚ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ấnSV thực hiện: Võ Minh Duy – 2113046

Nguyễn Tất Tấn Dũng – 2113066Trương Thuận Hưng – 2113619Phạm Ngọc Ân – 2112839Trần Đình Phong – 2114404

<small>Tp. Hồ Chí Minh, Tháng 2/2024</small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Danh sách thành viên & Phân chia công việc

2113619 <sub>Trương Thuận Hưng</sub> <sup>Chức năng điều khiển quạt và quạt tự động</sup>Chức năng điều khiển bằng giọng nói

Chức năng thơng báo khi phát hiện vượt ngưỡng

Chức năng xem hoạt động của thiết bị

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

Mục lục

1.1 Mô tả dự án. . . . 4

1.2 Các bên liên quan (Stakeholders) . . . . 4

1.3 Yêu cầu người dùng (User Requirements) . . . . 4

1.4 Yêu cầu chức năng và phi chức năng . . . . 5

1.4.1 Yêu cầu chức năng (Functional Requirements) . . . . 5

1.4.2 Yêu cầu phi chức năng (Non-functional Requirements) . . . . 5

1.5 Danh sách các thiết bị . . . . 6

1.6 Biểu đồ use-case và kịch bản use-case. . . . 7

1.6.1 Biểu đồ use-case cho toàn hệ thống. . . . 7

1.6.7 Use-case: Xem nhiệt độ và độ ẩm . . . . 14

1.6.8 Use-case: Bật/Tắt chế độ phát hiện người . . . . 15

1.6.9 Use-case: Phát hiện người . . . . 16

1.6.10 Use-case: Phát hiện vượt ngưỡng . . . . 17

1.6.11 Use-case: Điều khiển bằng giọng nói . . . . 18

1.6.12 Use-case: Xem hoạt động của thiết bị . . . . 19

2 Mô hình hóa hệ thống (System modelling) 202.1 Biểu đồ hoạt động (Activity diagram) . . . . 20

2.1.6 Chức năng: Xem nhiệt độ và độ ẩm . . . . 25

2.1.7 Chức năng: Bật chế độ phát hiện người . . . . 26

2.1.8 Chức năng: Phát hiện người . . . . 27

2.1.9 Chức năng: Phát hiện vượt ngưỡng. . . . 28

2.1.10 Chức năng: Điều khiển bằng giọng nói . . . . 29

2.2 Biểu đồ tuần tự (Sequence diagram) . . . . 30

2.2.6 Chức năng: Xem nhiệt độ và độ ẩm . . . . 34

2.2.7 Chức năng: Bật/tắt chế độ phát hiện người . . . . 37

2.2.8 Chức năng: Phát hiện người . . . . 38

2.2.9 Chức năng: Phát hiện vượt ngưỡng. . . . 38

2.2.10 Chức năng: Điều khiển bằng giọng nói . . . . 40

2.3 Casestudy cho các thiết bị và State chart diagram . . . . 41

2.3.1 Quạt tự động theo cảm biến nhiệt độ . . . . 41

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2.4.2 Home page . . . . 50

2.4.3 Log in / Sign up page . . . . 51

2.4.4 Account management page . . . . 51

2.8 Tính năng đặc trưng CNPM: Design Pattern . . . . 64

2.8.1 Design Pattern: Adapter . . . . 64

2.8.2 Design Pattern: Facade . . . . 65

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 3/67</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

1Thu thập yêu cầu (Requirement elicitation)

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ảinghiệ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 tồn, tiện lợi chocuộ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ếpcậ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ănglượ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 đìnhvà 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ốngtrong 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 chocuộ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.

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áokhi 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ườidù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 cungcấ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ư.

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ơngqua ứ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ệnnhư 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ụngvề 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 tồ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ó.

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 4/67</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

1.4Yêu cầu chức năng và phi chức năng

1.4.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ảmbiế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 chophé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ấphơn ngưỡng cho phép.

1.4.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ệunhạ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ềukhiể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ảotí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, đảmbả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 gianphả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 q 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.

Dễ sử dụng và trải nghiệm người dùng

• Giao diện người dùng thân thiện: Ứng dụng có giao diện người dùng đơn giản, dễ sử dụng và dễhiểu, với các tính năng được sắp xếp một cách logic và có thể truy cập dễ dàng.

• Đa nền tảng và đa thiết bị: Hệ thống có tính tương thích cao với các nền tảng và thiết bị khácnhau, bao gồm cả điện thoại di động, máy tính bảng và máy tính cá nhân.

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 5/67</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

• Có độ tương thích cao và hỗ trợ nhiều ngơn ngữ lập trình (Python, Scratch,..)Mạch mở rộng

• Là shield mở rộng tương thích với Yolo:Bit, giúp mở rộng thêm 9 port kết nối, dễ dàng kết nốiYolo:Bit với các cảm biến bên ngoài.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

1.6Biểu đồ use-case và kịch bản use-case

1.6.1 Biểu đồ use-case cho toàn hệ thống

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 7/67</small>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

1.6.2 Use-case: Đèn tự động

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 8/67</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Postcondition Đèn bật và tắt theo đúng như thao tác của người dùng với phầnmềm

Normal Flows 1. hệ thống quan sát dữ liệu từ cảm biến.

2. Hệ thống gửi yêu cầu thay đổi chế độ tới thiết bị.

3. Thiết bị nhận tín hiệu, lắng nghe thơng tin gửi về từ cảm biếnthông qua hệ thống và thực hiện yêu cầu.

4. Hệ thống lưu trạng thái thay đổi mới xuống database.

5. database gửi phản hồi thành công và tiến hành lưu trạng thái.Alternative Flows None

Exception Flows ở bước 4, nếu hệ thống khơng nhận được phản hồi sau 5s thì sẽgửi lại yêu cầu.

ở bước 5, nếu hệ thống không nhận được phản hồi thành công sau3s, hệ thống sẽ gửi lại yêu cầu

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 9/67</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

bị bảo trì.

Postcondition Đèn bật và tắt theo đúng như thao tác của người dùng với phầnmềm

Normal Flows 1.hệ thống lấy dữ liệu các phòng từ database

2.Màn hình hiện ra danh sách các phịng trong gia đình (livingroom, bedroom, kitchen. . . )

3.Người dùng ấn vào phòng cụ thể muốn điều khiển đèn

4.Hệ thống nhận được yêu cầu từ người dùng và lấy dữ liệu thiếtbị và cảm biến có trong phịng từ database.

5.Hệ thống hiển thị lên màn hình được chia ra làm 3 phần chínhgồm bảng điều khiển trên cùng chưa nội dung là danh sách cácphịng phía dưới, tiếp theo là phần cảm biến thông minh với nộidung bao gồm thông tin của các cảm biến trong phòng theo thứtự từ trái qua phải, cuối cùng là phần Thiết bị với nội dung phíadưới là các thiết bị trong phịng như đèn,quạt.

6. Người dùng ấn vào toggle của thiết bị đèn để điều khiển bậttắt, với chữ ON bên cạnh toggle biểu thị đèn bật, OFF biểu thịđèn tắt. Với chữ ON ở hiện tại nếu ấn vào toggle thì đèn sẽ chuyểnsang OFF đồng nghĩa với đèn sẽ tắt và ngược lại.

7. Hệ thống nhận yêu cầu từ phía người dùng và gửi yêu cầu điềukhiển tới thiết bị

8. Thiết bị nhận tín hiệu, gửi phản hồi về hệ thống và thao táctheo yêu cầu.

9. Hệ thống lưu trạng thái thay đổi mới xuống database.

10. database gửi phản hồi thành công và tiến hành lưu trạng thái.Alternative Flows Ở bước 7 của normal flow, nếu người dùng muốn bật, tắt đèn ởnhiều phịng khác nhau nữa thì quay lại bước 3 của normal flowException Flows ở bước 1, nếu hệ thống lấy dữ liệu khơng thành cơng, màn hình

sẽ hiện thị "gặp lỗi, vui lòng thử lại".

ở bước 4, nếu hệ thống lấy dữ liệu khơng thành cơng, màn hìnhsẽ hiện thị "gặp lỗi, vui lòng thử lại".

ở bước 7, nếu hệ thống không nhận được yêu cầu từ người dùng,màn hình vẫn sẽ thay đổi nhưng đèn sẽ khơng điều khiển được.ở bước 7, nếu hệ thống gửi tín hiệu thất bại, đèn sẽ không thayđổi, hệ thống sẽ hiển thị ra màn hình "gặp lỗi, vui lịng thử lại".ở bước 9, nếu hệ thống không nhận được phản hồi thành công sau3s, hệ thống sẽ gửi lại yêu cầu .

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 10/67</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Normal Flows 1.hệ thống lấy dữ liệu các phịng từ database

2.Màn hình hiện ra danh sách các phịng trong gia đình (livingroom, bedroom, kitchen. . . )

3.Người dùng ấn vào phòng cụ thể muốn điều khiển đèn

4.Hệ thống nhận được yêu cầu từ người dùng và lấy dữ liệu thiếtbị và cảm biến có trong phịng từ database.

5.Hệ thống hiển thị lên màn hình được chia ra làm 3 phần chínhgồm bảng điều khiển trên cùng chưa nội dung là danh sách cácphịng phía dưới, tiếp theo là phần cảm biến thông minh với nộidung bao gồm thơng tin của các cảm biến trong phịng theo thứtự từ trái qua phải, cuối cùng là phần Thiết bị với nội dung phíadưới là các thiết bị trong phòng như đèn,quạt.

6. Người dùng ấn vào toggle của cửa để điều khiển đóng mở, vớichữ OPEN bên cạnh toggle biểu thị cửa mở, CLOSE biểu thị cửađóng. Với chữ OPEN ở hiện tại nếu ấn vào toggle thì sẽ chuyểnsang OFF đồng nghĩa với cửa sẽ đóng và ngược lại.

7. Hệ thống nhận yêu cầu từ phía người dùng và gửi yêu cầu điềukhiển tới thiết bị

8. Thiết bị nhận tín hiệu, gửi phản hồi về hệ thống và thao táctheo yêu cầu.

9. Hệ thống lưu trạng thái thay đổi mới xuống database.

10. database gửi phản hồi thành công và tiến hành lưu trạng thái.Alternative Flows Ở bước 7 của normal flow, nếu người dùng muốn đóng mở cửa ởnhiều phịng khác nhau nữa thì quay lại bước 3 của normal flowException Flows ở bước 1, nếu hệ thống lấy dữ liệu khơng thành cơng, màn hình

sẽ hiện thị "gặp lỗi, vui lòng thử lại".

ở bước 4, nếu hệ thống lấy dữ liệu khơng thành cơng, màn hìnhsẽ hiện thị "gặp lỗi, vui lòng thử lại".

ở bước 7, nếu hệ thống không nhận được yêu cầu từ người dùng,màn hình vẫn sẽ thay đổi nhưng đèn sẽ khơng điều khiển được.ở bước 7, nếu hệ thống gửi tín hiệu thất bại, đèn sẽ không thayđổi, hệ thống sẽ hiển thị ra màn hình "gặp lỗi, vui lịng thử lại".ở bước 9, nếu hệ thống không nhận được phản hồi thành công sau3s, hệ thống sẽ gửi lại yêu cầu .

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 11/67</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

1.6.5 Use-case: Điều khiển quạt

Tên Use-case Điều khiển quạt

Description Người dùng sử dụng thiết bị có kết nối Internet để điều khiển quạtTrigger Người dùng ấn vào tab "Bảng điều khiển" trên thanh SidebarPrecondition Người dùng đăng nhập thành công vào hệ thống, phần mềm không

5. Hệ thống hiển thị giao diện gồm các cảm biến và các thiết bịtrong phòng.

6. Người dùng nhấn vào biểu tượng công tắc của thiết bị quạt đểthay đổi trạng thái bật/tắt.

7. Hệ thống nhận yêu cầu từ phía người dùng và gửi yêu cầu điềukhiển tới thiết bị.

8. Thiết bị nhận tín hiệu, gửi phản hồi về hệ thống và thao táctheo yêu cầu.

9. Hệ thống lưu trạng thái thay đổi mới xuống database.

10. Hệ thống gửi thông báo người dùng thay đổi trạng thái thànhcông.

Alternative Flows Ở bước 6,

6.1. Người dùng thay đổi tốc độ của quạt tương ứng với các mứcđộ 1, 2, 3.

Use case tiếp tục bước 7.

Exception Flows Ở bước 1, nếu hệ thống lấy dữ liệu không thành công, hệ thốnghiển thị thông báo "gặp lỗi, vui lòng thử lại".

Ở bước 1, nếu trong nhà chưa có phịng nào, hệ thống hiển thịthơng báo "Khơng tìm thấy phịng".

Ở bước 4, nếu hệ thống lấy dữ liệu không thành công, hệ thốnghiển thị thông báo "gặp lỗi, vui lòng thử lại".

Ở bước 4, nếu trong phịng chưa có thiết bị, hệ thống hiển thịthơng báo "Khơng tìm thấy thiết bị trong phịng"

Ở bước 9, nếu hệ thống không nhận được phản hồi thành công từdatabase sau 3s, hệ thống sẽ gửi lại yêu cầu.

Ở bước 6.1, nếu quạt đang ở trạng thái tắt, hệ thống hiển thịthông báo "Không thể điều chỉnh tốc độ khi quạt tắt".

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 12/67</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

1.6.6 Use-case: Quạt tự động

Tên Use-case Quạt tự động

Actor Cảm biến (Cảm biến nhiệt độ, độ ẩm DHT20)

Description Hệ thống tự động bật hoặc tắt quạt dựa vào cảm biến nhiệt độ,độ ẩm DHT20

Trigger Cảm biến DHT20 phát hiện nhiệt độ và độ ẩm trong nhà vượtngưỡng hoặc thấp hơn ngưỡng cho phép.

Precondition Cảm biến nhiệt độ, độ ẩm DHT20 được kết nối thành công vàohệ thống

Postcondition Quạt được tự động thay đổi trạng thái thành công

Normal Flows 1. Cảm biến gửi phản hồi đến hệ thống về phát hiện nhiệt độ vàđộ ẩm vượt ngưỡng

2. Hệ thống nhận phản hồi và gửi yêu cầu bật quạt đến thiết bị3. Thiết bị nhận tín hiệu, gửi phản hồi về hệ thống và thao táctheo yêu cầu.

4. Hệ thống lưu trạng thái thay đổi mới xuống database.

5. Hệ thống gửi thông báo tự động thay đổi trạng thái của quạtthành công.

Alternative Flows Ở bước 1,

1.1. Cảm biến DHT20 gửi phản hồi đến hệ thống về phát hiệnnhiệt độ và độ ẩm thấp hơn ngưỡng

2.1 Hệ thống nhận phản hồi và gửi yêu cầu tắt quạt đến thiết bịUse case tiếp tục bước 3.

Exception Flows Ở bước 2, nếu hệ thống không nhận được phản hồi từ cảm biếnsau 3s, cảm biến sẽ gửi lại yêu cầu đến hệ thống.

Ở bước 5, nếu hệ thống không nhận được phản hồi thành công từdatabase sau 3s, hệ thống sẽ gửi lại yêu cầu.

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 13/67</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

1.6.7 Use-case: Xem nhiệt độ và độ ẩm

Tên Use-case Xem nhiệt độ và độ ẩm

Normal Flows 1.Hệ thống lấy dữ liệu các phòng từ database.

2. Hệ thống hiển thị ra danh sách các phịng trong gia đình (livingroom, bedroom, kitchen. . . )

3.Người dùng ấn vào phòng cụ thể muốn xem nhiệt độ và độ ẩm.4.Hệ thống nhận được yêu cầu từ người dùng và lấy dữ liệu củacảm biến có trong phòng từ database.

5.Cảm biến gửi dữ liệu nhiệt độ, độ ẩm lên hệ thống.

6.Hệ thống hiển thị các giá trị của nhiệt độ và độ ẩm mà cảm biếnđo được ra màn hình.

7. Người dùng có thể quan sát thơng tin nhiệt độ và độ ẩm trêngiao diện.

Alternative Flows Ở bước 7 của normal flow, nếu người dùng muốn xem nhiệt độ ởphịng khác thì quay lại bước 2 của normal flow

Exception Flows Ở bước 1, nếu hệ thống lấy dữ liệu không thành công, hệ thốnghiển thị thông báo "gặp lỗi, vui lòng thử lại".

Ở bước 1, nếu trong nhà chưa có phịng nào, hệ thống hiển thịthơng báo "Khơng tìm thấy phịng".

Ở bước 4, nếu hệ thống lấy dữ liệu không thành công, hệ thốnghiển thị thông báo "gặp lỗi, vui lòng thử lại".

Ở bước 4, nếu trong phịng chưa có cảm biến, hệ thống hiển thịthơng báo "Khơng tìm thấy cảm biến trong phịng".

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 14/67</small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

1.6.8 Use-case: Bật/Tắt chế độ phát hiện người

Tên Use-case Bật/Tắt chế độ phát hiện người

Description Người dùng có thể bật/tắt tính năng thơng báo phát hiện người.Trigger Người dùng ấn vào tab "Bảng điều khiển" trên thanh SidebarPrecondition Người dùng đã đăng nhập thành công vào hệ thống, phần mềm

không bị bảo trì, các thiết bị hoạt động bình thường.

Postcondition Người dùng bật/tắt thành cơng tính năng thơng báo phát hiệnngười

Normal Flows 1. Hệ thống lấy dữ liệu phòng từ database

2. Màn hình hiện ra danh sách các phịng trong gia đình

3. Người dùng ấn vào phịng cụ thể muốn bật chế độ phát hiệnngười

4. Hệ thống nhận được yêu cầu từ người dùng và lấy dữ liệu thiếtbị và cảm biến có trong phịng từ database

5. Hệ thống hiển thị lên màn hình được chia ra làm 3 phần chínhgồm bảng điều khiển trên cùng chưa nội dung là danh sách cácphịng phía dưới, tiếp theo là phần cảm biến thông minh với nộidung bao gồm thông tin của các cảm biến trong phòng theo thứtự từ trái qua phải, cuối cùng là phần Thiết bị với nội dung phíadưới là các thiết bị trong phịng như đèn, quạt, cảm biến pháthiện người

6. Người dùng ấn vào toggle chế độ phát hiện người để điều khiểnbật tắt, với chữ ON bên cạnh toggle biểu thị chế độ bật, OFFbiểu thị chế độ tắt.

7. Hệ thống nhận yêu cầu từ phía người dùng và gửi yêu cầu điềukhiển tới thiết bị

8. Thiết bị nhận tín hiệu, gửi phản hồi về hệ thống và thao táctheo yêu cầu.

Alternative Flows None

Exception Flows Ở bước 1, nếu hệ thống lấy dữ liệu không thành cơng, màn hìnhsẽ hiện thị "gặp lỗi, vui lịng thử lại".

Ở bước 4, nếu hệ thống lấy dữ liệu khơng thành cơng, màn hìnhsẽ hiện thị "gặp lỗi, vui lịng thử lại".

Ở bước 7, nếu hệ thống gửi tín hiệu thất bại, hệ thống sẽ hiển thịra màn hình "gặp lỗi, vui lòng thử lại".

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 15/67</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

1.6.9 Use-case: Phát hiện người

Tên Use-case Phát hiện người

Actor Cảm biến phát hiện người

Description Khi nhận thấy có người, cảm biến sẽ phát hiện và gửi thông báotới ứng dụng cho người dùng biết

Trigger Cảm biến phát hiện có người đi vào khu vực

Precondition Người dùng đã đăng nhập thành công vào hệ thống, phần mềmkhơng bị bảo trì, các thiết bị hoạt động bình thường.

Người dùng đã bật chế độ phát hiện người.

Postcondition Cảm biến phát hiện có người và gửi thông báo tới thiết bịNormal Flows 1. Cảm biến quan sát

2. Cảm biến phát hiện người

3. Cảm biến gửi phản hồi đến hệ thống

4. Hệ thống nhận phản hồi và gửi thông báo đến thiết bị5. Hệ thống lưu log (thời gian phát hiện) xuống databaseAlternative Flows None

Exception Flows None

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 16/67</small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

1.6.10 Use-case: Phát hiện vượt ngưỡng

Tên Use-case Phát hiện vượt ngưỡng

Actor Cảm biến DHT20 và cảm biến ánh sáng

Description Khi cảm biến phát hiện giá trị của nhiệt độ, độ ẩm hoặc ánh sángvượt ngưỡng do người dùng thiết lập, hệ thống sẽ gửi thông báođến cho người dùng biết

Trigger Hệ thống ghi nhận giá trị của nhiệt độ, độ ẩm hoặc ánh sáng vượtngưỡng do người dùng thiết lập

Precondition Phần mềm khơng bị bảo trì, các cảm biến hoạt động bình thường.Postcondition Người dùng nhận được thông báo vượt ngưỡng do hệ thống gửi

Exception Flows None

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 17/67</small>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

1.6.11 Use-case: Điều khiển bằng giọng nói

Tên Use-case Điều khiển bằng giọng nói

Normal Flows 1. Hệ thống hiển thị ra modal điều khiển bằng giọng nói

2. Người dùng ra lệnh cho ứng dụng thông qua giọng nói của mình3. Hệ thống nhận phản hồi và gửi yêu cầu thay đổi trạng thái đếnserver của các thiết bị

4. Hệ thống nhận phản hồi và gửi thông báo đến thiết bị5. Hệ thống hiển thị thông báo điều khiển thành côngAlternative Flows None

Exception Flows Ở bước 3,

3.1 Hệ thống không nhận diện được câu lệnh của người dùng4.1 Hệ thống hiển thị thông báo "Lệnh không hợp lệ"Use case kết thúc

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 18/67</small>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

1.6.12 Use-case: Xem hoạt động của thiết bị

Tên Use-case Xem hoạt động của thiết bị

Description Người dùng xem lịch sử hoạt động các thiết bị như đèn, quạt, cửavà các cảm biến qua ứng dụng

Trigger Người dùng nhấn nút "Hoạt động" trên sidebar

Precondition Người dùng đã đăng nhập thành công vào hệ thống, phần mềmkhơng bị bảo trì.

Postcondition Người dùng xem hoạt động của các thiết bị thành công

Normal Flows 1. Hệ thống hiển thị ra giao diện hoạt động thiết bị với giao diệnbảng gồm tên thiết bị, giá trị đo được và thời gian ghi nhận2. Người dùng xem thông tin về hoạt động của các thiết bịAlternative Flows Ở bước 2,

2.1 Người dùng nhấn vào các nút phân loại thông báo để đọcthông báo theo từng loại.

3.1 Hệ thống hiển thị giao diện bảng gồm các bản ghi hoạt độngcủa thiết bị đó.

Exception Flows None

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 19/67</small>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

2Mơ hình hóa hệ thống (System modelling)

2.1.1 Chức năng: Đèn tự động

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 20/67</small>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

2.1.2 Chức năng: Bật và tắt đèn

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 21/67</small>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

2.1.3 Chức năng: Đóng và mở cửa

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 22/67</small>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

2.1.4 Chức năng: Điều khiển quạt

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 23/67</small>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

2.1.5 Chức năng: Quạt tự động

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 24/67</small>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

2.1.6 Chức năng: Xem nhiệt độ và độ ẩm

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 25/67</small>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

2.1.7 Chức năng: Bật chế độ phát hiện người

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 26/67</small>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

2.1.8 Chức năng: Phát hiện người

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 27/67</small>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

2.1.9 Chức năng: Phát hiện vượt ngưỡng

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 28/67</small>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

2.1.10 Chức năng: Điều khiển bằng giọng nói

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 29/67</small>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

2.2Biểu đồ tuần tự (Sequence diagram)

2.2.1 Chức năng: Đèn tự động

Sequence diagram phía trên trình bày quá trình thao tác giữa cảm biến và thiết bị đèn, cảm biến sẽthông báo tới đèn tùy vào các ngưỡng đã được thiết lập trước đó , tùy vào mỗi ngưỡng thì đèn sẽ bật tắttheo các thơng tin được gửi từ các cảm biến,sau đó hệ thống sẽ cập nhật lại tráng thái mới và lưu xuốngdatabase

2.2.2 Chức năng: Bật và tắt đèn

Sequence diagram phía trên trình bày quá trình người dùng thao tác với hệ thống để bật, tắt đèn thôngqua phần mềm. Ban đầu người dùng sẽ đăng nhập và ấn vào mục "Bảng điều khiển" trên giao diện chínhcủa chương trình, sau đó người dùng sẽ được hệ thống điều hướng tới phần Bảng điều khiển. Tại đâyngười dùng có thể chọn phịng mà mình muốn thao tác với đèn ở phịng đó. Sau khi ấn chọn phịng xongmàn hình sẽ hiện ra danh sách tất cả các thiết bị, người dùng có thể ấn vào toggle của thiết bị đèn mìnhmuốn thao tác để bật tắt tùy thích và ngược lại.

2.2.3 Chức năng: Đóng và mở cửa

Sequence diagram phía trên trình bày q trình người dùng thao tác với hệ thống để đóng, mở cửa thôngqua phần mềm. Ban đầu người dùng sẽ đăng nhập và ấn vào mục "Bảng điều khiển" trên giao diện chínhcủa chương trình, sau đó người dùng sẽ được hệ thống điều hướng tới phần Bảng điều khiển. Tại đâyngười dùng có thể chọn phịng mà mình muốn thao tác với cửa ở phịng đó. Sau khi ấn chọn phịng xongmàn hình sẽ hiện ra danh sách tất cả các thiết bị, người dùng có thể ấn vào toggle của thiết bị cửa mìnhmuốn thao tác để đóng mở.

2.2.4 Chức năng: Điều khiển quạt

Sequence diagram phía trên trình bày quá trình người dùng thao tác với hệ thống để điều khiển thôngqua phần mềm. Ban đầu người dùng sẽ đăng nhập và ấn vào mục "Bảng điều khiển" trên giao diện chínhcủa chương trình, sau đó người dùng sẽ được hệ thống điều hướng tới phần Bảng điều khiển. Tại đâyngười dùng có thể chọn phịng mà mình muốn thao tác với cửa ở phịng đó. Sau khi ấn chọn phòng xong

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 30/67</small>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 31/67</small>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 32/67</small>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<small>Đồ án tổng hợp hướng CNPM - Niên khóa 2023-2024Trang 33/67</small>

</div>

×