Hệ Thống Quản Lý Thiết Bị IoT Dự Đoán Mưa Dựa Trên AI

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp mạng máy tính và truyền thông dữ liệu hệ thống quản lý iot với khả năng dự đoán lượng, vận dụng lý thuyết vào thực tế, đề xuất giải pháp

Chuyên ngành

Cử nhân ngành Mạng Máy tính và Truyền thông

Người đăng

Ẩn danh

Thể loại

khóa luận

2024

110
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Tên đề tài

1.2. Đặt vấn đề

1.3. Các nghiên cứu liên quan

1.4. Mục tiêu đề tài

1.5. Đối tượng và phạm vi nghiên cứu

1.5.1. Đối tượng nghiên cứu

1.5.2. Phạm vi nghiên cứu

1.6. Phương pháp nghiên cứu

1.7. Cấu trúc khóa luận

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Giới thiệu về TypeScript

2.2. Tại sao nên sử dụng TypeScript

2.3. Áp dụng TypeScript vào hệ thống

2.4. Giới thiệu về PostgreSQL

2.5. Tại sao nên sử dụng PostgreSQL

2.6. Áp dụng PostgreSQL vào hệ thống

2.7. Giới thiệu về RestAPI

2.8. Tại sao nên sử dụng RestAPI

2.9. Áp dụng Rest API vào hệ thống

2.10. Giới thiệu về Android SDK

2.11. Tại sao nên sử dụng Android SDK

2.12. Áp dụng Android SDK vào hệ thống

2.13. Giới thiệu về Keycloak

2.14. Tại sao nên sử dụng Keycloak

2.15. Áp dụng Keycloak vào hệ thống

2.16. Giới thiệu về kiến trúc Microservices

2.17. Tại sao nên sử dụng kiến trúc Microservices

2.18. Áp dụng kiến trúc Microservices vào hệ thống

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. Mô hình dự đoán mưa

3.1.1. Kiến trúc mô hình

3.1.2. Sử dụng mô hình dự đoán mưa

3.2. Mô hình phân rã chức năng

3.3. Thiết kế cơ sở dữ liệu

3.3.1. Giải thích cơ sở dữ liệu

3.4. Biểu đồ Sequence Diagram

3.4.1. Chức năng Đăng kí, Đăng nhập, Quên mật khẩu, Đăng xuất

3.4.2. Chức năng Tài khoản

3.4.3. Chức năng Danh sách & Tìm kiếm thiết bị

3.4.4. Chức năng Chi tiết thiết bị

3.4.5. Chức năng Hệ thống quy tắc

3.4.6. Nhóm chức năng Quản trị viên

4. CHƯƠNG 4: HIỆN THỰC HỆ THỐNG

4.1. Đặc tả giao diện ứng dụng di động

4.1.1. Đặc tả giao diện đăng nhập, đăng ký

4.1.2. Giao diện trang chủ

4.1.3. Đặc tả giao diện liên quan đến các chức năng quản lý thiết bị

4.1.4. Đặc tả giao diện các chức năng liên quan đến bản đồ, biểu đồ

4.1.5. Đặc tả giao diện các chức năng liên quan đến quy tắc

4.1.7. Đặc tả giao diện danh sách và sửa người dùng

4.2. Đặc tả giao diện ứng dụng web

4.2.1. Đặc tả các giao diện đăng nhập, đăng ký, quên mật khẩu

4.2.2. Đặc tả các giao diện liên quan đến quản lý thiết bị

4.2.3. Đặc tả các giao diện liên quan đến bản đồ, biểu đồ

4.2.4. Đặc tả giao diện liên quan đến quy tắc

4.2.5. Đặc tả các giao diện liên quan đến người dùng

5. CHƯƠNG 5: THỬ NGHIỆM VÀ BÀN LUẬN

5.2. Mô hình dự đoán mưa cho ngày mai

5.3. Huấn luyện và đánh giá mô hình

5.4. Kết quả khi so sánh với các mô hình phân loại phổ biến

5.5. Kết quả khi so sánh với các mô hình cùng đề tài

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Những kết quả đã đạt được

6.2. Những điểm còn hạn chế

6.3. Hướng phát triển

PHỤ LỤC

Tóm tắt

I. Tổng Quan Về Hệ Thống Quản Lý IoT Dự Đoán Mưa Dựa Trên AI

Hệ thống quản lý IoT dự đoán mưa dựa trên AI đang trở thành một xu hướng quan trọng trong việc tối ưu hóa quản lý tài nguyên và nâng cao chất lượng cuộc sống. Sự phát triển nhanh chóng của công nghệ IoT đã tạo ra nhiều cơ hội mới cho việc thu thập và phân tích dữ liệu thời tiết. Hệ thống này không chỉ giúp dự đoán mưa mà còn cải thiện khả năng quản lý thông minh cho các đô thị.

1.1. Khái Niệm Về IoT Và AI Trong Dự Đoán Thời Tiết

IoT (Internet of Things) là mạng lưới các thiết bị kết nối với nhau, cho phép thu thập và chia sẻ dữ liệu. AI (trí tuệ nhân tạo) giúp phân tích dữ liệu này để đưa ra dự đoán chính xác về thời tiết, đặc biệt là mưa.

1.2. Lợi Ích Của Hệ Thống Quản Lý IoT Dự Đoán Mưa

Hệ thống này mang lại nhiều lợi ích như giảm thiểu thiệt hại do thiên tai, tối ưu hóa việc sử dụng tài nguyên nước, và nâng cao khả năng ứng phó với biến đổi khí hậu.

II. Vấn Đề Và Thách Thức Trong Dự Đoán Mưa Bằng IoT

Mặc dù hệ thống quản lý IoT dự đoán mưa mang lại nhiều lợi ích, nhưng vẫn tồn tại nhiều thách thức. Việc thu thập dữ liệu từ nhiều nguồn khác nhau và xử lý chúng một cách hiệu quả là một trong những vấn đề lớn nhất.

2.1. Khó Khăn Trong Việc Kết Nối Các Thiết Bị IoT

Sự đa dạng về tiêu chuẩn kết nối và định dạng dữ liệu giữa các thiết bị IoT gây khó khăn trong việc tích hợp và quản lý chúng.

2.2. Khối Lượng Dữ Liệu Lớn Cần Phân Tích

Lượng dữ liệu thu thập từ các cảm biến thời tiết là rất lớn, đòi hỏi các phương pháp phân tích mạnh mẽ để trích xuất thông tin hữu ích.

III. Phương Pháp Dự Đoán Mưa Bằng AI Trong Hệ Thống IoT

Để dự đoán mưa hiệu quả, hệ thống sử dụng các mô hình học máy như BiLSTM kết hợp với các kỹ thuật như Attention và ECA. Những phương pháp này giúp cải thiện độ chính xác của dự đoán.

3.1. Mô Hình BiLSTM Trong Dự Đoán Mưa

Mô hình BiLSTM (Bidirectional Long Short-Term Memory) cho phép xử lý dữ liệu thời gian theo cả hai chiều, giúp cải thiện khả năng dự đoán.

3.2. Kỹ Thuật Attention Và ECA

Kỹ thuật Attention giúp mô hình tập trung vào các thông tin quan trọng trong dữ liệu, trong khi ECA (Efficient Channel Attention) tối ưu hóa việc sử dụng tài nguyên tính toán.

IV. Ứng Dụng Thực Tiễn Của Hệ Thống Dự Đoán Mưa

Hệ thống quản lý IoT dự đoán mưa đã được áp dụng trong nhiều lĩnh vực như nông nghiệp, quản lý đô thị và bảo vệ môi trường. Những ứng dụng này không chỉ giúp nâng cao hiệu quả công việc mà còn bảo vệ tài nguyên thiên nhiên.

4.1. Ứng Dụng Trong Nông Nghiệp

Hệ thống giúp nông dân dự đoán thời tiết, từ đó lên kế hoạch tưới tiêu và thu hoạch hợp lý, giảm thiểu thiệt hại do mưa lớn.

4.2. Ứng Dụng Trong Quản Lý Đô Thị

Các thành phố thông minh sử dụng hệ thống này để quản lý nguồn nước và ứng phó với thiên tai, đảm bảo an toàn cho cư dân.

V. Kết Luận Và Hướng Phát Triển Trong Tương Lai

Hệ thống quản lý IoT dự đoán mưa dựa trên AI đang mở ra nhiều cơ hội mới cho việc quản lý tài nguyên và ứng phó với biến đổi khí hậu. Trong tương lai, cần tiếp tục nghiên cứu và phát triển để cải thiện độ chính xác và khả năng ứng dụng của hệ thống.

5.1. Những Kết Quả Đạt Được

Hệ thống đã đạt được độ chính xác 80% trong việc dự đoán mưa, cho thấy tiềm năng lớn trong việc ứng dụng thực tiễn.

5.2. Hướng Phát Triển Trong Tương Lai

Cần nghiên cứu thêm về các mô hình học sâu và cải tiến thuật toán để nâng cao hiệu quả dự đoán và mở rộng ứng dụng trong các lĩnh vực khác.

10/07/2025
Khóa luận tốt nghiệp mạng máy tính và truyền thông dữ liệu hệ thống quản lý iot với khả năng dự đoán lượng mưa dựa trên ai

Trích đoạn nội dung tài liệu

Chương 1. TỔNG QUAN DE TÀI: Giới thiệu tổng quan về dé tài đưa ra, các van để liên quan, mục đích, phạm vi, đối tượng và phương pháp nghiên cứu. CƠ SỞ LÝ THUYET: Giới thiệu các khái niệm lý thuyết, các công nghệ đã tìm hiểu và áp dụng để hiện thực hoá hệ thống. PHAN TÍCH VÀ THIẾT KE HỆ THONG: Dua ra phân tích đặc tả về các yêu cầu mà hệ thống cần đáp ứng, từ đó dé xuất kiến trúc, mô hình hệ thống tương ứng.

HIEN THUC HE THỒNG: Trình bày kết quả hiện thực hệ thống được để xuất, minh hoạ và mô tả giao diện, chức năng của hệ thống. THU NGHIỆM VA BAN LUẬN: So sánh và đánh giá kết quả của mô hình dự đoán của hệ thống so với các mô hình tương đương, đưa ra các nhận xét nhằm cải thiện và phát triển hệ thống. 23 Chương 2 CƠ CỔ LÝ THUYÊT 2.1 Giới thiệu về TypeScript Là một ngôn ngữ lập trình mã nguồn mở, được phát triển và duy trì bởi Microsoft. TypeScript được xem là một phần mở rộng của JavaScript, sử dụng cú pháp của JavaScript và bổ sung thêm các tính năng mạnh mẽ như kiểu tĩnh và hướng đối tượng để hỗ trợ Type (các kiểu dữ liệu).

TypeScript liên tục được cải tiễn và đã trở thành một trong những ngôn ngữ lập trình phổ biến giúp các lập trình viên viết mã dễ dàng và bảo trì các dự án phần mềm lớn một cách hiệu quả hơn.2 Tại sao nên sử dụng TypeScript Có các ưu điểm của TypeScript so với các lựa chọn khác như: — Kiểm tra kiểu tĩnh là một trong những đặc điểm nổi bật nhất của TypeScript, điều này giúp phát hiện các lỗi kiểu trong quá trình viết mã ngay lập tức, giảm thiểu các lỗi runtime, cải thiện độ tin cậy cũng như rút ngắn thời gian phát triển hệ thống. — TypeScript hỗ trợ đầy đủ các tính năng lập trình hướng đối tượng như lớp (class), giao diện (interface), kế thừa (inheritance), và đóng gói (encapsulation). 24 — Cách tổ chức code rõ ràng, hệ thống code hướng module, hỗ trợ namespace, giúp xây dựng và kiểm soát các hệ thống lớn một cách dễ dàng hơn. — TypeScript luôn sử dụng day đủ các cập nhật mới nhất của Javascript, ví dụ như ECMAScript 2015 (ES6).3 Áp dụng TypeScript vào hệ thông Với những ưu điểm đã nêu trên, nhóm chúng em áp dụng TypeScript vào việc phát triển giao diện người dùng cho thành phần Web UI, cung cấp giao diện Bảng điều khiển đơn giản, linh hoạt, hiện dai và dé sử dung cho người dùng hệ thống thông qua trình duyệt.

Object-Oriented DOM Manipulation ES 6 Features Hình 2.1: Các tính nang của TypeScript (maybe.works/blogs/typescript-what-is-its-power) 2.1 Giới thiệu ve PostgreSQL PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ va đối tượng (Object — Rela- tional Database Management System) mã nguồn mở, đã trải qua nhiều giai đoạn phát triển và hiện nay là một trong những hệ quản trị cơ sở dữ liệu phổ biến và mạnh mẽ nhất. PostgreSQL cung cấp khả năng mở rộng cao, hiệu suất ổn định và có thể chạy 25 trên nhiều hệ điều hành hay nhiều nền tảng khác nhau. Hơn nữa, cộng đồng mạnh mẽ và nguồn tài liệu phong phú giúp người dùng tiếp xúc với PostgreSQL dễ dàng tìm hiểu và học hỏi.2 Tại sao nên sử dụng PostgreSQL Một số ưu điểm nổi bật của PostgreSQL có thể kể đến như: — Cung cấp đa dạng kiểu dữ liệu như nguyên ham (integer, boolean, number, string), cau trúc (date/time, array, range), hình hoc (point, line, circle), document (json, xml, key-value),. — Dữ liệu được dam bảo tinh toàn ven bằng cách ràng buộc loại từ, khoá chính, khoá ngoại, khóa khuyến nghị, khóa hàm só,.

— Hỗ trợ xây dựng hàng rào bảo mật, xác thực mạnh (SCRAM-SHA-256, SSPI, LDAP, GSSAPI, Certificatem), hệ thống kiểm soát truy cập kĩ càng, bảo mật cấp độ cột — hàng. — Người dùng có thể thực hiện mở rộng qua các phương pháp lưu trữ, ngôn ngữ thủ tục như PL / PGSQL, Python, Perl, và nhiều ngôn ngữ khác. Ngoài ra còn có PostGIS, giúp kết nối cơ sở đữ liệu với giao diện SQL chuẩn.3 Áp dụng PostgreSQL vào hệ thong Với những ưu điểm của PostgreSQL đã được nêu ở trên, nhóm đã sử dụng Post- greSQL vào việc phát triển hệ quản trị cơ sở dif liệu cho hệ thống, dữ liệu từ Post- greSQL được truy xuất thông qua thành phan Bảng điều khiển để phục vụ hoạt động của hệ thống.1 Giới thiệu về Rest API REST API (Representational State Transfer Application Programming Interface) la một kiểu kiến trúc dùng để xây dựng các dịch vu web, cho phép các ứng dụng khác 26 Extensibility & Data Integrity Postgresal Features Security Concurrency Performance Reliability, Disaster Recovery Hình 2.2: Các tính nang của PostgreSQL (thomsondata.com/customer-base/companies-that-use-postgresql.php) nhau giao tiếp với nhau thông qua giao thức HTTP. REST API được thiết kế dựa trên các nguyên tắc của REST, một phong cách kiến trúc phần mềm do Roy Fielding giới thiệu vào năm 2000.

REST API dần được sử dụng rộng rãi trong phát triển ứng dụng web và di động, do tính đơn giản, hiệu quả và khả năng mở rộng của nó.2 Tại sao nên sử dung Rest API Các đặc điểm chính của REST API bao gồm: — Kiến trúc REST tách biệt giữa client và server, giúp cải thiện tính linh hoạt va khả năng mở rộng của hệ thống. Client và server có thể phát triển và triển khai 27 REQUEST | RESPONSE — © 0 Ce DATABASE WEB SERVER Hình 2.3: Kiến trúc của REST API (anonyviet.com/cung-tim-hieu-api-rest-api-va-restful-api-la-gi/) độc lập với nhau. — Mỗi yêu cầu từ client tới server phải chứa đầy đủ thông tin để server hiểu và xử lý. Server không lưu trữ bất kỳ trạng thái nào của client giữa các yêu cầu, giúp giảm tải đồng thời tăng tính linh hoạt ở phía server.

— Phản hồi từ server có thể được đánh dấu là có thể cache hoặc không, giúp cải thiện hiệu suất bằng cách giảm số lượng yêu cau cần thiết từ client tới server. — Sử dụng một giao diện thống nhất và đơn giản, thường dựa trên các phương thức HTTP như GET, POST, PUT, DELETE để thực hiện các thao tác CRUD tương ứng (Create, Read, Update, Delete). Diéu này giúp việc hiểu và sử dụng REST API trở nên dễ dàng hơn.3 Áp dung Rest API vào hệ thông Kiến trúc REST phù hợp trong việc thiết kế hệ thông phân tán, nơi mà các thành phần của hệ thống giao tiếp với nhau thông qua giao thức HTTP. REST API được sử dụng cho thành phần Bảng điều khiển để xử lí các yêu cầu từ Web UI, từ ứng dụng di động và từ các thiết bị thông qua các API được quy định sẵn.1 Giới thiệu về Android SDK Android SDK (Software Development Kit) là bộ công cụ phát triển phần mềm do Google cung cấp, giúp lập trình viên xây dựng và phát triển các ứng dụng trên nền tảng Android.

SDK bao gồm một loạt các công cụ, thư viện, tài liệu cần thiết cho việc lập trình ứng dụng Android. Việc sử dụng Android SDK giúp các lập trình viên dé dàng thiết kế, phát triển, kiểm thử và triển khai ứng dụng Android.2 Tại sao nên sử dụng Android SDK Các đặc điểm chính của Android SDK bao gồm: — Android SDK cung cấp một môi trường phát triển toàn diện bao gồm các công cụ xây dựng, gỡ lỗi, kiểm tra và tối ưu hóa ứng dụng. Điều này giúp đảm bảo chất lượng và hiệu suất của ứng dụng Android. — Google thường xuyên cập nhật Android SDK để hỗ trợ các phiên bản Android mới nhất, bao gồm cả tính năng mới và các bản vá bảo mật.

Điều này giúp ứng dụng luôn tương thích và an toàn trên các thiết bị Android hiện đại. — Android SDK đi kèm với tài liệu chi tiết và các ví dụ mã nguồn mẫu, giúp lập trình viên nhanh chóng nắm bắt và áp dụng các kỹ thuật phát triển ứng dụng Android. — Android SDK có một cộng đồng phát triển lớn mạnh, cung cấp nhiều nguồn tài nguyên, diễn đàn hỗ trợ và các plugin, thư viện mã nguồn mở giúp tăng tốc độ phát triển và giải quyết các vấn đề phát sinh. 29 — Android SDK dễ dàng tích hợp với các dịch vụ và API của Google như Google Maps, Firebase, và Google Play Services, mở rộng kha năng và tính nang của ứng dụng.3 Áp dụng Android SDK vào hệ thông Android SDK được sử dụng rộng rãi trong việc phát triển các ứng dụng di động trên nền tang Android.

Trong hệ thống này, Android SDK đóng vai trò giúp xây dựng nên ứng dụng di động để giao tiếp với Bảng điều khiển thông qua REST API, cung cấp giao diện hệ thống cho người dùng sử dụng thiết bị di động truy cập hệ thống.1 Giới thiệu về Keycloak Keycloak là một hệ thống quan lý danh tính và truy cập mã nguồn mở được phát triển bởi Red Hat. Keycloak cung cấp các tính năng xác thực và ủy quyển, cho phép tích hợp dé dàng vào hệ thống các chức năng quản lý người dùng, đăng nhập một lần (Single Sign-On), và kiểm soát truy cập. Giúp các nhà phát triển tận dụng những tính năng bảo mật mạnh mẽ mà không cần phải xây dựng lại một hệ thống quản lí danh tính mới.2 Tại sao nên sử dụng Keycloak Các đặc điểm nổi bật của Keycloak bao gồm: — Hỗ trợ nhiều cơ chế xác thực như đăng nhập bằng tên người dùng/mật khẩu, đăng nhập một lần (Single Sign-On), xác thực hai yếu tố (2FA), và các dịch vụ OAuth2 khác. — Tính năng SSO cho phép người dùng chỉ cần đăng nhập một lần để truy cập vào nhiều ứng dụng và dịch vụ khác nhau trong hệ thống, giúp cải thiện trải nghiệm người dùng và tăng cường bảo mật.

30 — Cung cấp các công cụ quản lý người dùng, nhóm người dùng và vai trò một cách chỉ tiết, cho phép dễ dàng kiểm soát quyền truy cập và quản lý người dùng trong hệ thống. — Hỗ trợ các giao thức bảo mật tiêu chuẩn như OAuth2, OpenID Connect, SAML, giúp dễ dàng tích hợp với nhiều ứng dụng và dịch vụ khác nhau. Keycloak Application User enters URL of an application Redirects to Keycloak Login Page User Gives Credentials + ! | Validates User <--! If Valid, Redirects to Application Invalid Credentials —> Hình 2.4: Luồng xác thực qua Keycloak (walkingtreetech.com/introduction- to-keycloak-and-the-need-for-containerization-cc55a12fbde3) 2.3 Áp dung Keycloak vào hệ thông Keycloak được tích hợp như một dịch vụ với vai trò xác thực và uỷ quyền cho các truy cập vào hệ thống. Đồng thời, chức năng quản lí người dùng và vai trò của Keycloak cũng được mở rộng và tích hợp vào hệ thống để quản lí quyền truy cập và quản lí các người dùng trong hệ thống.1 Giới thiệu về kiên trúc Microservices Microservices là loại kiến trúc phần mềm, trong đó hệ thống được cấu thành từ các dịch vụ nhỏ, độc lập, mỗi dịch vụ thực hiện một chức năng riêng biệt và giao tiếp với nhau thông qua các giao thức như HTTP.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ