Luận văn tốt nghiệp: Xây dựng nền tảng quản lý và giám sát thiết bị IoT

Luận văn tốt nghiệp khoa học máy tính beebee trình bày nền tảng quản lý và giám sát hiệu quả các thiết bị IoT, ứng dụng công nghệ hiện đại.

Trường đại học

Trường Đại Học Bách Khoa

Người đăng

Ẩn danh

Thể loại

luận văn tốt nghiệp

2022

187
3
0

Phí lưu trữ

45 Point

Tóm tắt

I. Giới thiệu đề tài

Trong bối cảnh hiện đại, quản lý thiết bị IoT đã trở thành một yếu tố quan trọng trong lĩnh vực khoa học máy tính. Đề tài này nhằm mục tiêu xây dựng một nền tảng cho việc giám sát IoT và quản lý các thiết bị kết nối, giúp người dùng có thể theo dõi và điều khiển thiết bị từ xa. Nền tảng này không chỉ cung cấp các chức năng quản lý cơ bản mà còn tích hợp nhiều tính năng nâng cao như thiết lập cảnh báo, ghi nhận dữ liệu và phân tích trạng thái thiết bị. Việc phát triển nền tảng này sẽ giúp cải thiện hiệu suất và độ tin cậy của các ứng dụng IoT, đồng thời tạo ra một môi trường thuận lợi cho việc phát triển và triển khai các ứng dụng IoT trong tương lai.

1.1 Ý nghĩa thực tiễn

Nền tảng quản lý và giám sát thiết bị IoT mang lại nhiều lợi ích cho người dùng và doanh nghiệp. Đầu tiên, nó giúp tối ưu hóa quy trình quản lý dữ liệu IoT, cho phép người dùng theo dõi tình trạng thiết bị một cách liên tục. Thứ hai, nền tảng này hỗ trợ tự động hóa IoT, giúp giảm thiểu thời gian và công sức trong việc quản lý thiết bị. Cuối cùng, việc sử dụng nền tảng này còn giúp tăng cường bảo mật IoT, đảm bảo rằng dữ liệu được bảo vệ và chỉ có những người dùng được ủy quyền mới có quyền truy cập vào các thông tin nhạy cảm.

II. Kiến thức nền tảng

Chương này trình bày các công nghệ và lý do lựa chọn chúng để xây dựng nền tảng. Các giao thức như MQTT được sử dụng để truyền tải dữ liệu giữa các thiết bị IoT, cho phép kết nối IoT nhanh chóng và hiệu quả. Ngoài ra, kiến trúc multi-tenant được áp dụng để phát triển hệ thống theo hướng phần mềm như dịch vụ (SaaS), cho phép nhiều người dùng sử dụng cùng một nền tảng mà không làm ảnh hưởng đến dữ liệu của nhau. Việc sử dụng công nghệ IoT hiện đại giúp tăng cường khả năng mở rộng và tính linh hoạt của nền tảng, đáp ứng tốt nhất nhu cầu của người dùng.

2.1 Giao thức MQTT

MQTT là một giao thức nhắn tin nhẹ, được thiết kế cho các kết nối không ổn định, rất phù hợp cho môi trường IoT. Giao thức này cho phép các thiết bị gửi và nhận dữ liệu một cách hiệu quả, giúp tối ưu hóa quá trình giám sát IoT. Thông qua MQTT, người dùng có thể thiết lập các kênh truyền thông giữa các thiết bị, từ đó nâng cao khả năng phân tích dữ liệu IoT và giám sát tình trạng thiết bị một cách chính xác hơn. Việc sử dụng MQTT không chỉ giúp tiết kiệm băng thông mà còn giảm thiểu độ trễ trong việc truyền tải thông tin.

III. Phân tích hệ thống

Chương này tập trung vào việc phân tích các yêu cầu của hệ thống và đánh giá các dịch vụ tương tự. Việc phân tích yêu cầu giúp xác định rõ ràng các tính năng cần thiết cho nền tảng, từ đó xây dựng một hệ thống có khả năng đáp ứng tốt nhất nhu cầu của người dùng. Bên cạnh đó, việc nghiên cứu các dịch vụ tương tự cũng giúp rút ra bài học kinh nghiệm quý báu, từ đó cải thiện và tối ưu hóa nền tảng. Các yêu cầu như khả năng quản lý thiết bị IoT, giám sát từ xabảo mật dữ liệu đều được xem xét kỹ lưỡng.

3.1 Phân tích yêu cầu

Các yêu cầu của hệ thống được phân chia thành nhiều nhóm khác nhau, bao gồm yêu cầu chức năng và yêu cầu phi chức năng. Yêu cầu chức năng bao gồm khả năng quản lý thiết bị, thiết lập cảnh báo và ghi nhận dữ liệu. Trong khi đó, yêu cầu phi chức năng tập trung vào hiệu suất, tính bảo mật và khả năng mở rộng của hệ thống. Để đáp ứng các yêu cầu này, nền tảng cần được thiết kế với kiến trúc linh hoạt, cho phép dễ dàng tích hợp các công nghệ mới và mở rộng quy mô khi cần thiết.

IV. Thiết kế hệ thống

Chương này trình bày chi tiết về kiến trúc hệ thống và thiết kế cơ sở dữ liệu. Kiến trúc hệ thống được xây dựng dựa trên các nguyên tắc thiết kế hiện đại, đảm bảo tính khả dụng và bảo mật cho người dùng. Cơ sở dữ liệu được thiết kế theo mô hình multi-tenant, cho phép mỗi người dùng có không gian lưu trữ riêng biệt mà không làm ảnh hưởng đến người dùng khác. Điều này không chỉ giúp tối ưu hóa quy trình quản lý dữ liệu IoT mà còn đảm bảo tính riêng tư cho người dùng.

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

Cơ sở dữ liệu được thiết kế để lưu trữ thông tin về người dùng, thiết bị và các dữ liệu liên quan đến hoạt động của thiết bị. Việc sử dụng PostgreSQL làm hệ quản trị cơ sở dữ liệu giúp tăng cường khả năng xử lý và truy xuất dữ liệu. Thiết kế này không chỉ đảm bảo tính toàn vẹn của dữ liệu mà còn hỗ trợ tốt cho việc phân tích và báo cáo. Hệ thống cũng được trang bị các cơ chế bảo mật, đảm bảo rằng chỉ có những người dùng được ủy quyền mới có quyền truy cập vào dữ liệu nhạy cảm.

V. Hiện thực hệ thống

Chương này đề cập đến quá trình triển khai và hiện thực hóa nền tảng. Việc hiện thực hóa được thực hiện thông qua các công cụ và công nghệ hiện đại, đảm bảo rằng nền tảng hoạt động hiệu quả và đáp ứng tốt nhất nhu cầu của người dùng. Các tính năng như giám sát từ xaquản lý thiết bị IoT đã được tích hợp đầy đủ, cho phép người dùng dễ dàng theo dõi và điều khiển thiết bị từ xa.

5.1 Kiến trúc hệ thống

Kiến trúc hệ thống được thiết kế theo mô hình microservices, cho phép các thành phần của hệ thống hoạt động độc lập và có thể mở rộng dễ dàng. Mỗi dịch vụ sẽ đảm nhận một chức năng cụ thể, từ quản lý thiết bị IoT đến phân tích dữ liệu IoT. Điều này giúp tăng cường tính linh hoạt và khả năng mở rộng của nền tảng, đồng thời giảm thiểu rủi ro khi một thành phần gặp sự cố. Kiến trúc này cũng cho phép dễ dàng tích hợp các công nghệ mới và cải tiến hệ thống trong tương lai.

VI. Kiểm thử

Chương này trình bày quy trình kiểm thử nền tảng, đảm bảo rằng tất cả các chức năng đều hoạt động đúng như mong đợi. Việc kiểm thử được thực hiện qua nhiều giai đoạn, từ kiểm thử đơn vị đến kiểm thử tích hợp, nhằm phát hiện và khắc phục các lỗi trước khi đưa vào sử dụng. Các công cụ kiểm thử tự động cũng được áp dụng để nâng cao hiệu quả của quá trình này.

6.1 Kiểm thử chức năng

Kiểm thử chức năng được thực hiện để đảm bảo rằng tất cả các tính năng của nền tảng hoạt động đúng như thiết kế. Các trường hợp kiểm thử được xây dựng dựa trên các yêu cầu đã phân tích, đảm bảo rằng nền tảng đáp ứng đầy đủ các yêu cầu của người dùng. Ngoài ra, việc kiểm thử cũng giúp phát hiện sớm các lỗi và cải thiện chất lượng của nền tảng trước khi chính thức ra mắt.

VII. Triển khai

Chương này đề cập đến quy trình triển khai nền tảng lên môi trường thực tế. Việc triển khai được thực hiện trên các dịch vụ điện toán đám mây, giúp tăng cường khả năng mở rộng và tính sẵn sàng của hệ thống. Quy trình triển khai cũng bao gồm việc cấu hình các dịch vụ và thiết lập các kết nối cần thiết để đảm bảo nền tảng hoạt động ổn định.

7.1 Triển khai trên Cloud

Nền tảng được triển khai trên các dịch vụ điện toán đám mây như AWS, giúp tối ưu hóa chi phí và tăng cường khả năng mở rộng. Việc sử dụng dịch vụ đám mây không chỉ giúp giảm thiểu rủi ro về phần cứng mà còn tăng cường tính linh hoạt trong việc quản lý và mở rộng hệ thống. Các biện pháp bảo mật cũng được áp dụng để đảm bảo rằng dữ liệu của người dùng được bảo vệ an toàn.

VIII. Tổng kết đánh giá và hướng phát triển

Chương cuối cùng tổng kết lại toàn bộ quá trình phát triển nền tảng, từ ý tưởng ban đầu đến hiện thực hóa và triển khai. Các kết quả đạt được sẽ được đánh giá dựa trên các tiêu chí như hiệu suất, tính bảo mật và khả năng mở rộng. Đồng thời, chương này cũng đề xuất các hướng phát triển trong tương lai, nhằm nâng cao hơn nữa hiệu quả của nền tảng.

8.1 Đánh giá kết quả

Kết quả đạt được từ việc phát triển nền tảng cho thấy sự khả thi và hiệu quả của hệ thống trong việc quản lý thiết bị IoT. Nền tảng không chỉ đáp ứng được các yêu cầu chức năng mà còn đảm bảo tính bảo mật và hiệu suất cao. Các phản hồi từ người dùng cũng cho thấy sự hài lòng với các tính năng mà nền tảng cung cấp, điều này khẳng định giá trị thực tiễn của đề tài.

10/01/2025

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

Chương 1 Giới thiệu đề tài 1.1 Tổng quan IoT (Internet of Things), hay còn gọi là Internet vạn vật, là một hệ thống các thiết bị tính toán, máy móc cơ khí và kỹ thuật số hoặc con người có liên quan với nhau và khả năng truyền dữ liệu qua mạng mà không yêu cầu sự tương tác giữa con người với máy tính. IoT giúp công việc và đời sống mọi người trở nên thuận tiện và hiệu quả hơn. Việc áp dụng IoT giúp các doanh nghiệp có thể kiểm soát hoàn toàn hệ thống của họ, tự động hóa các quy trình và giảm thiểu chi phí lao động, cung cấp thông tin chi tiết về mọi thứ, từ hiệu suất của máy móc đến chuỗi cung ứng và hoạt động hậu cần. Nhận thấy tiềm năng phát triển cũng như sự cần thiết đó, chúng tôi đã lên ý tưởng và thực hiện đề tài phát triển một phần mềm dịch vụ (Software as a Service) cung cấp giải pháp giám sát và quản lý các thiết bị IoT.

Ứng dụng cho phép khách hàng đăng ký tạo workspace để quản lý hệ thống IoT của từng cá nhân, tổ chức. Trong đó, workspace là một không gian làm việc chứa dữ liệu của một hệ thống IoT và được cô lập với các workpsace khác. Để thực hiện điều này, chúng tôi sử dụng kiến trúc multi-tenant để xây dựng cơ sở dữ liệu. Qua đó, giúp ứng dụng có khả năng thiết lập và khả cấu hình cho các mục đích khác nhau của khách hàng.

Ứng dụng cung cấp giải pháp quản lý và giám sát mô hình thiết bị IoT gồm các chức năng sau: • Đối với website: 17 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính - Quản lý workspace • Đối với ứng dụng di động: - Quản lý dự án - Quản lý nhóm thiết bị - Quản lý loại thiết bị - Quản lý MQTT broker - Quản lý thiết bị - Quản lý cảnh báo - Quản lý lập lịch - Quản lý bảng điều khiển - Quản lý tài khoản người dùng 1.2 Nội dung thực hiện BeeBee là một hệ thống gồm website quản trị và ứng dụng di động cho phép khách hàng quản lý, giám sát các thiết bị IoT. Để xây dựng một hệ thống như vậy, chúng tôi đã nghiên cứu và thực hiện những nội dung sau: • Nghiên cứu các hệ thống tương tự • Nghiên cứu kiến trúc multi-tenant để áp dụng vào hệ thống • Nghiên cứu các công nghệ nền tảng dùng để hiện thực hệ thống • Thiết kế giao diện thân thiện với người dùng • Hiện thực và kiểm thử hệ thống • Triển khai và đánh giá hệ thống đã hiện thực • Hoàn thiện báo cáo về đề tài đã thực hiện Luận Văn Tốt Nghiệp Page 18/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 1.3 Ý nghĩa của đề tài 1.1 Ý nghĩa thực tiễn Hệ thống được xây dựng hướng tới các lợi ích cho doanh nghiệp: • Triển khai nhanh chóng các dự án IoT • Cung cấp cái nhìn tổng thể đối với các dự án • Đảm bảo tính an toàn và riêng tư cho dữ liệu 1.2 Ý nghĩa khoa học, kỹ thuật Xây dựng hệ thống BeeBee là cơ hội để chúng tôi tìm hiểu về các công nghệ được sử dụng trong dự án IoT như giao thức MQTT. Để xây dựng hệ thống, chúng tôi đã tổng hợp, áp dụng các kiến thức đã học về cơ sở dữ liệu, kiến trúc hệ thống; tìm hiểu và làm việc với các công nghệ phổ biến hiện nay như Next.js để phát triển website, Flutter để phát triển ứng dụng di động, thư viện shelf của Dart để phát triển back-end. Đây cũng là cơ hội để chúng tôi nâng cao khả năng tự học, kỹ năng tìm hiểu kiến thức mới, kỹ năng giải quyết các vấn đề phát sinh khi hiện thực và triển khai hệ thống.4 Giới hạn đề tài Trong quá trình xây dựng hệ thống, chúng tôi chỉ tập trung vào việc quản lý các thiết bị IoT sử dụng giao thức MQTT.

Các MQTT broker sẽ do khách hàng tự triển khai trước đó hoặc sử dụng các dịch vụ có sẵn. Ngoài ra, hệ thống chưa cung cấp một số chức năng sau đây: • Cài đặt nâng cao cho MQTT broker như chứng chỉ SSL • Hỗ trợ các giao thức khác như HTTP, LoRaWAN • Thiết lập quyền hạn cụ thể cho tài khoản người dùng trong workspace Luận Văn Tốt Nghiệp Page 19/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính • Đồng bộ hóa thời gian thực dữ liệu khi thông tin các đối tượng trong cơ sở dữ liệu thay đổi Bởi vì giới hạn về nhân lực và thời gian hiện thực, chúng tôi sẽ phát triển những chức năng này trong tương lai. Luận Văn Tốt Nghiệp Page 20/183 Chương 2 Kiến thức nền tảng 2.1 Giao thức MQTT MQTT (Message Queuing Telemetry Transport) [9] được công bố vào năm 1999 bởi IBM và EuroTech. MQTT hoạt động dựa trên mô hình Publish/Subscribe (hay còn gọi là pub/sub), sử dụng TCP/IP để truyền dữ liệu.

Mô hình pub/sub bao gồm các thành phần chính sau: • Broker: là một máy chủ giao tiếp với các thiết bị (publisher và subscriber) thông qua mạng Internet hoặc mạng cục bộ. Công việc của broker là lọc các tin nhắn dựa trên topic, sau đó phân phối các tin nhắn đến các thiết bị đã đăng ký topic đó. • Publisher: Là các thiết bị kết nối đến Broker để thực hiện việc gửi gói tin của một chủ đề (topic). • Subscriber: Là các thiết bị kết nối đến Broker để thực hiện việc nhận gói tin về một chủ đề mà thiết bị đó đã đăng ký theo dõi.

Publisher và subcriber có thể hoán đổi vai trò cho nhau, và đôi khi một thiết bị có thể đảm nhiệm cả hai vai trò cùng một lúc. Số lượng publisher và subscriber có thể bị giới hạn bởi khả năng xử lý của server. 21 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính Quality of Service - QoS Giao thức MQTT có thể truyền dữ liệu ngay cả với các kết nối không ổn định. Nó cung cấp ba tùy chọn về Quality of Service (QoS) [14] để đảm bảo độ tin cậy trong việc gửi gói tin.

Việc lựa chọn tùy chọn phụ thuộc vào mức độ quan trọng của dữ liệu và độ ổn định của kết nối. • QoS 0 (Nhiều nhất một lần): Phía gửi gửi thông tin mà không yêu cầu xác nhận từ phía nhận. Do đó, phía nhận có thể nhận được thông tin một lần hoặc không nhận được do kết nối không ổn định. Đây là chế độ gửi nhanh nhất khi chỉ cần thực hiện 1 tương tác giữa hai bên, nhưng cũng là chế độ ít tin cậy nhất nên thường được sử dụng đối với các thông tin không quá quan trọng và kết nối ổn định.1: Cơ chế QoS 0 • QoS 1 (Ít nhất một lần): Phía gửi gửi thông tin cho đến khi nhận được xác nhận truyền tin thành công (PUBACK) từ phía nhận.

Do đó, chế độ này đảm bảo rằng thông tin sẽ được gửi đến phía nhận ít nhất một lần. Cụ thể, phía gửi sẽ truyền thông tin đến phía nhận và chờ xác nhận thành công. Sau một khoảng thời gian cố định, nếu vẫn chưa nhận được xác nhận từ phía nhận, phía nhận sẽ gửi lại thông tin một lần nữa với flag DUP (duplicate). QoS 1 đảm bảo rằng phía nhận có thể nhận được thông tin ít nhất một lần nên thường được sử dụng khi thông tin truyền tải là quan trọng và kết nối không ổn định.

Luận Văn Tốt Nghiệp Page 22/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính Hình 2.2: Truyền gói tin thành Hình 2.4: Thất lạc gói tin Hình 2.3: Thất lạc tin nhắn công ACK • QoS 2 (Duy nhất một lần): Đây là chế độ có độ tin cậy cao nhất khi đảm bảo rằng phía nhận chỉ nhận thông tin duy nhất một lần. Tuy nhiên QoS 2 cũng tốn nhiều thời gian nhất bởi nó bao gồm ít nhất 4 luồng gửi/nhận để hoàn tất việc truyền thông tin. Đầu tiên phía gửi gửi một tin nhắn và chờ xác nhận từ phía nhận. Sau đó, phía nhận sẽ lưu ID của tin nhắn và gửi gói tin PUBREC đến phía nhận.

Khi nhận được gói tin PUBREC, phía gửi sẽ gửi tiếp gói tin PUBREL chứa thông tin chính cần gửi và chờ gói tin PUBCOMP từ phía nhận để kết thúc quá trình. Các sơ đồ sau đây minh họa quá trình truyền nhận theo chế độ QoS 2 đối với các trường hợp khác nhau. Cần chú ý rằng tin nhắn chỉ được xử lý duy nhất một lần ở phía nhận. Qua đó đảm bảo các nghiệp vụ tương ứng với thông tin chỉ được thực hiện một lần.

Luận Văn Tốt Nghiệp Page 23/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính Hình 2.5: Truyền gói tin thành Hình 2.7: Thất lạc gói tin Hình 2.6: Thất lạc tin nhắn công PUBREC Hình 2.8: Thất lạc gói tin Hình 2.9: Thất lạc gói tin PUBREL PUBCOMP Ưu điểm • MQTT sử dụng gói tin có kích thước nhỏ, do đó có thể được sử dụng cho kết nối có băng thông thấp. Luận Văn Tốt Nghiệp Page 24/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính • Một thiết bị có thể gửi dữ liệu đến máy chủ bất kỳ lúc nào bất kể trạng thái của nó. • Là giao thức có độ tin cậy cao khi có các tùy chọn QoS để chọn mức độ đảm bảo khi truyền nhận dữ liệu. • Có khả năng mở rộng cao nhờ sử dụng mô hình pub/sub, Nhược điểm • Tài nguyên hệ thống dành cho MQTT nó thay đổi theo số lượng Topic.

• MQTT không được mã hóa. Thay vào đó, nó sử dụng TLS (Transport Layer Security) / SSL (Secure Sockets Layer) để mã hóa bảo mật.2 Kiến trúc multi-tenant Kiến trúc multi-tenant là mô hình mà một ứng dụng duy nhất phục vụ nhiều khách hàng khác nhau. Trong đó, khách hàng, có thể là cá nhân hay tổ chức, được gọi là tenant. Mỗi tenant có khả năng tùy chỉnh một khía cạnh của ứng dụng như các thành phần giao diện.

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

Luận văn tốt nghiệp mang tiêu đề Luận văn tốt nghiệp: Xây dựng nền tảng quản lý và giám sát thiết bị IoT của tác giả Nguyễn Phước Thăng, dưới sự hướng dẫn của ThS. Trần Thị Quế Nguyệt tại Trường Đại Học Bách Khoa, tập trung vào việc phát triển một nền tảng hiệu quả cho việc quản lý và giám sát các thiết bị IoT. Bài viết nêu bật những thách thức và giải pháp trong việc triển khai công nghệ IoT, đồng thời cung cấp cái nhìn sâu sắc về cách thức quản lý thiết bị thông minh trong môi trường hiện đại. Độc giả sẽ nhận được lợi ích từ việc hiểu rõ hơn về công nghệ IoT và cách thức mà nó có thể cải thiện quy trình quản lý thiết bị trong nhiều lĩnh vực khác nhau.

Nếu bạn quan tâm đến các khía cạnh khác liên quan đến công nghệ thông tin và quản lý, bạn có thể tham khảo thêm các tài liệu sau:

Những tài liệu này sẽ giúp bạn mở rộng kiến thức và hiểu biết về các ứng dụng và quản lý công nghệ trong nhiều lĩnh vực khác nhau.