Bối cảnh và vấn đề nghiên cứu
Sự bùng nổ của mạng lưới vạn vật kết nối Internet (Internet of Things - IoT) đang định hình lại phương thức thu thập và giám sát dữ liệu trong nhiều lĩnh vực như y học, kinh tế, nông nghiệp và quan trắc môi trường. Theo báo cáo từ IoT Analytics Research được tác giả dẫn dụng, số lượng thiết bị kết nối toàn cầu đạt khoảng 11,7 tỷ thiết bị vào năm 2019 và được dự báo tăng trưởng lên 30,9 tỷ thiết bị vào năm 2025 (tổng số thiết bị kết nối có thể chạm mốc 41,2 tỷ). Tỷ lệ tăng trưởng kép hàng năm (CAGR) giai đoạn 2010–2019 đạt 10% và dự kiến đạt 13% trong giai đoạn 2020–2025; quy mô thị trường IoT toàn cầu dự kiến tăng từ 151 tỷ USD năm 2018 lên 1.567 tỷ USD vào năm 2025.
Song hành với sự gia tăng số lượng thiết bị, cảm biến được xem là thành phần cốt lõi thu thập dữ liệu thời gian thực. Tuy nhiên, thách thức kỹ thuật lớn nhất đặt ra là bài toán năng lượng giới hạn của các nút mạng cảm biến (sensor nodes). Trong các tình huống thực địa đặc thù như rừng rậm, vùng cực hay trạm khí tượng trên hải đảo, thiết bị phải hoạt động độc lập bằng nguồn pin giới hạn và không thể bổ sung hay thay thế định kỳ. Khi thiết bị liên tục kích hoạt bộ lấy mẫu và truyền dữ liệu, pin sẽ cạn kiệt nhanh chóng, dẫn đến hiện tượng trạm quan trắc ngừng hoạt động đột ngột, làm gián đoạn luồng thông tin giám sát và cảnh báo thiên tai. Bên cạnh đó, việc gửi liên tục dữ liệu đo lường định kỳ sinh ra luồng dữ liệu khổng lồ, gây áp lực nghẽn cổ chai băng thông và tải trọng lưu trữ tại máy chủ trung tâm.
Để giải quyết vấn đề này, đề tài xác định 4 mục tiêu nghiên cứu cụ thể:
- Tìm hiểu, xây dựng hệ thống thu thập dữ liệu môi trường thực tế tại Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP. Hồ Chí Minh dựa trên nền tảng phần cứng Libelium.
- Nghiên cứu, lập trình thuật toán lấy mẫu thích ứng UDASA (User-Driven Adaptive Sampling Algorithm) tại đơn vị cổng kết nối (gateway) để phân tích biến động dữ liệu và tự động đề xuất tần suất đọc dữ liệu tối ưu gửi ngược lại thiết bị cảm biến.
- Triển khai hoàn chỉnh hệ thống IoT gồm 3 tầng: Đám mây (Cloud) để lưu trữ và quản trị, Cổng kết nối (Gateway) để tính toán thuật toán và chuyển tiếp dữ liệu, cùng Thiết bị phần cứng Libelium Waspmote thu thập dữ liệu môi trường (nhiệt độ, độ ẩm, ánh sáng, áp suất), hiển thị trực quan thông qua bảng biểu và đồ thị.
- So sánh, đánh giá sự tương quan giữa các bộ dữ liệu thời gian thực khi áp dụng và không áp dụng thuật toán UDASA trên nhiều kịch bản thực nghiệm, nhằm kiểm chứng độ tin cậy và mức độ suy giảm sai số.
Đối tượng nghiên cứu của khóa luận bao gồm: nền tảng phần cứng Libelium (vi mạch Waspmote, các bo mạch cảm biến, module truyền thông XBee 802.15.4), thuật toán UDASA (công bố trên IEEE Access năm 2020), công nghệ ảo hóa Docker và Docker Compose, nền tảng điện toán đám mây và tập dữ liệu chuẩn của Cơ quan Khí quyển và Đại dương Quốc gia Hoa Kỳ (NOAA). Phạm vi nghiên cứu tập trung vào việc thu thập các thông số môi trường tại khuôn viên Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP. Hồ Chí Minh trong năm 2021.
Cơ sở lý thuyết và phương pháp
Khóa luận hệ thống hóa các nhóm giải pháp tiết kiệm năng lượng cho mạng cảm biến không dây thành 4 hướng tiếp cận chính:
- Lấy mẫu thích ứng (Adaptive Sampling): Điều chỉnh chu kỳ đọc dữ liệu dựa trên sự biến đổi của tín hiệu thực tế. Các phương pháp điển hình gồm Send-on-delta (event-based, magnitude-driven, deadbands), lấy mẫu tích phân (Integral Sampling), lấy mẫu dựa trên mô hình dự báo (Predictor-based sampling), lấy mẫu tích phân dựa trên độ dốc (Gradient-based integral sampling) và lấy mẫu dựa trên hàm sigmoid (Sigmoid-based sampling).
- Lập lịch tác vụ tối ưu (Optimum Task Scheduling): Giảm thiểu năng lượng tiêu thụ thông qua các thuật toán điều phối chu kỳ ngủ/nghỉ, tối ưu hóa tuyến đường như thuật toán Gale-Shapley, lập trình động (Dynamic Programming), thuật toán biến thể Earliest Deadline First (MEDF), Energy-aware lazy scheduling và Q-learning với chiến lược Annealing.
- Tối ưu hóa chức năng mạng (Cloud Optimized Networking Functions): Khai thác tối ưu hóa Lyapunov, mô hình hóa tiến trình quyết định Markov (Markov Decision Process - MDP) và lý thuyết đối sánh để tối ưu hóa việc phân bổ công suất, kiểm soát tốc độ cảm biến và chọn kênh vô tuyến.
- Tối ưu hóa cảm biến (Optimum Sensing): Tối ưu hóa chu kỳ lấy mẫu và năng lượng lấy mẫu dựa trên đánh giá lỗi bình phương trung bình (Mean Squared Error - MSE), cảm biến nén (Compressed Sensing) và các phân phối ngẫu nhiên Poisson.
Phương pháp nghiên cứu thực tế của đề tài là phương pháp thực nghiệm kết hợp thiết kế hệ thống kỹ thuật. Thuật toán trọng tâm được chọn để hiện thực là UDASA. Thuật toán này sử dụng độ lệch tuyệt đối trung vị và hàm sigmoid nâng cao để đánh giá độ biến động của dữ liệu trong một cửa sổ trượt, từ đó điều chỉnh hệ số giãn cách thời gian đọc dữ liệu của cảm biến.
Các công thức toán học và chỉ số định lượng tác giả sử dụng để đánh giá thuật toán gồm:
| Chỉ số / Công thức |
Ký hiệu |
Phương trình toán học |
Ý nghĩa trong nghiên cứu |
| Độ lệch tuyệt đối trung vị |
MAD |
$MAD(M_i) = \text{median}(|M_i - \text{median}(M)|)$ |
Đo lường độ phân tán dữ liệu, triệt tiêu ảnh hưởng của các giá trị nhiễu đột biến. |
| Phép nội suy tuyến tính |
Linear Interpolation |
$\frac{y - y_0}{x - x_0} = \frac{y_1 - y_0}{x_1 - x_0}$ |
Tái tạo các điểm dữ liệu bị khuyết tại thời điểm không lấy mẫu để đánh giá sai số. |
| Hàm Sigmoid |
$S(x)$ |
$S(x) = \frac{1}{1 + e^{-x}}$ |
Ánh xạ sự biến đổi dữ liệu thành hệ số điều chỉnh tần suất lấy mẫu trong khoảng giới hạn. |
| Lỗi trung bình chuẩn hóa |
NME |
$NME = \frac{1}{n} \sum_{i=1}^n |\hat{x}_i - x_i| \times 100%$ |
Đánh giá mức độ khớp giữa dữ liệu sau khi tái tạo ($\hat{x}_i$) và dữ liệu gốc ($x_i$). |
| Phần lấy mẫu |
SF |
$SF = \frac{m}{n}$ |
Tỷ lệ giữa số mẫu dữ liệu thực tế thu thập ($m$) so với tổng số mẫu ban đầu ($n$). |
| Lỗi tuyệt đối trung bình |
MAE |
$MAE = \frac{1}{n} \sum_{i=1}^n |\hat{x}_i - x_i|$ |
Đo lường độ lệch tuyệt đối giữa chuỗi dữ liệu gốc và chuỗi dữ liệu được tái lập. |
Nguồn dữ liệu thực nghiệm được tác giả khai thác từ hai nguồn: bộ dữ liệu chuẩn DO (Dissolved Oxygen - nồng độ oxy hòa tan) của NOAA phục vụ việc kiểm chứng thuật toán mô phỏng, và dữ liệu thời gian thực đo đạc trực tiếp từ các cảm biến vật lý tại trường đại học.
Thiết kế và triển khai hệ thống kỹ thuật
Hệ thống được thiết kế theo mô hình phân rã 3 tầng độc lập gồm: Tầng thiết bị (End Devices), Tầng cổng kết nối (Gateway) và Tầng đám mây (Cloud).
[ Thiết bị Waspmote ] <-- XBee 802.15.4 (P2P/Star) --> [ Gateway Xử lý UDASA ] <-- Giao thức MQTT (JSON) --> [ Tầng Đám mây (Docker) ]
(Cảm biến & Module RF) (Cổng tính toán tần suất) (Broker EMQ X, Backend, DB, UI)
1. Kiến trúc Tầng thiết bị (End Devices)
Thiết bị phần cứng sử dụng nền tảng vi mạch nhúng Waspmote của Libelium. Thiết bị được trang bị các bo mạch cảm biến (trong hệ sinh thái 8 loại bo mạch của Libelium như Smart Agriculture, Smart Cities PRO...) tích hợp cảm biến nhiệt độ, độ ẩm, ánh sáng, áp suất khí quyển. Waspmote có kiến trúc phần cứng chuyên biệt cho chế độ tiêu thụ cực thấp với mức dòng rò ở trạng thái ngủ sâu chỉ đạt 7 µA.
Giao tiếp không dây giữa Waspmote và Gateway sử dụng module Digi XBee 802.15.4 hoạt động ở băng tần miễn phí ISM 2.4 GHz (12 kênh, băng thông 5 MHz/kênh), tốc độ truyền UART đạt 115.200 bps, hỗ trợ mã hóa bảo mật AES-128 bit loại CTR. Module hỗ trợ chế độ truyền Unicast (có cơ chế phản hồi ACK, gửi lại tối đa 10 lần) và Broadcast. Dữ liệu được đóng gói vào các khung truyền Waspmote Frame dưới định dạng ASCII hoặc Binary. Waspmote được lập trình qua Waspmote IDE, hỗ trợ hai chế độ tiết kiệm năng lượng cho module vô tuyến: Chế độ ngủ đông (dòng tiêu thụ < 10 µA, thời gian thức 13,2 ms) và Chế độ Pin Doze (dòng tiêu thụ < 50 µA, thời gian thức 2 ms).
Kích thước tải trọng dữ liệu (payload) tối đa của module XBee 802.15.4 được quy định:
- Chế độ 16-bit Unicast: 100 Bytes (không mã hóa) / 98 Bytes (có mã hóa).
- Chế độ 64-bit Unicast: 100 Bytes (không mã hóa) / 94 Bytes (có mã hóa).
- Chế độ Broadcast: 100 Bytes (không mã hóa) / 95 Bytes (có mã hóa).
2. Kiến trúc Tầng trung tâm xử lý Gateway
Gateway hoạt động như đơn vị trung gian kết nối mạng cảm biến cục bộ với trung tâm dữ liệu đám mây. Gateway nhận các gói tin vô tuyến từ Waspmote qua module XBee phối hợp giao tiếp máy tính, thực hiện tiền xử lý dữ liệu và duy trì thuật toán UDASA. Thuật toán phân tích chuỗi dữ liệu trong cửa sổ quan sát, tính toán tham số độ lệch, từ đó sinh ra cấu hình thời gian ngủ và chu kỳ lấy mẫu mới để gửi lệnh tái cấu hình ngược về cho node Waspmote. Đồng thời, Gateway chuyển đổi dữ liệu nhận được thành định dạng thông điệp MQTT để đẩy lên Cloud thông qua thư viện Paho MQTT Client.
3. Kiến trúc Tầng Đám mây (Cloud Datacenter)
Tầng Đám mây đảm nhiệm lưu trữ, phân tích và cung cấp giao diện trực quan hóa, toàn bộ được đóng gói và vận hành qua Docker và Docker Compose. Kiến trúc phần mềm bao gồm:
- MQTT Broker: Sử dụng nền tảng EMQ X (hoặc Eclipse Mosquitto) thiết lập mô hình Publish/Subscribe nhằm tiếp nhận dữ liệu cảm biến phân tán với độ trễ thấp và băng thông tối thiểu.
- Backend API: Xây dựng trên nền tảng Laravel Framework (PHP 8) tuân thủ mô hình kiến trúc MVC kết hợp mẫu thiết kế Repository (Repository Design Pattern), đảm bảo việc tách biệt tầng xử lý nghiệp vụ với tầng truy xuất cơ sở dữ liệu quan hệ MySQL. Backend cung cấp các RESTful API quản lý thiết bị, cấu hình kịch bản và cung cấp dữ liệu lịch sử.
- Frontend Dashboard: Xây dựng dưới dạng ứng dụng trang đơn (Single Page Application - SPA) bằng ReactJS, ứng dụng công nghệ Virtual DOM, cú pháp JSX và kiến trúc phân rã thành phần giao diện (Components). Việc quản lý luồng dữ liệu một chiều và trạng thái ứng dụng tập trung (Store) được điều phối bởi thư viện Redux, kết hợp cùng Redux-Saga nhằm giải quyết các tác vụ bất đồng bộ (side effects) dựa trên hàm tạo Generator (ES6).
Nội dung chính theo từng chương
Chương 1: Giới thiệu
Chương 1 phác thảo bức tranh tổng thể về làn sóng công nghệ IoT trên toàn cầu và tại Việt Nam, nêu bật xu hướng dịch chuyển từ việc thu thập dữ liệu đơn lẻ sang giám sát đa thông số môi trường. Tác giả chỉ rõ mâu thuẫn giữa nhu cầu mở rộng mạng lưới cảm biến với rào cản dung lượng pin tại các vị trí địa lý hiểm trở. Từ đó, chương xác định mục tiêu cốt lõi của khóa luận là ứng dụng giải thuật lấy mẫu thích ứng UDASA trên nền tảng phần cứng Libelium để cắt giảm lưu lượng dữ liệu và tiết kiệm điện năng tiêu thụ, đồng thời xác lập rõ phạm vi nghiên cứu, đối tượng khảo sát và cấu trúc 6 chương của luận văn.
Chương 2: Các nghiên cứu và công nghệ liên quan
Chương 2 tổng hợp tình hình nghiên cứu quốc tế về bài toán tối ưu năng lượng trong IoT thông qua 4 trụ cột kỹ thuật: Lấy mẫu thích ứng, Lập lịch tác vụ tối ưu, Tối ưu hóa chức năng mạng và Tối ưu hóa cảm biến. Tác giả phân tích giải phẫu một nút cảm biến gồm 4 khối chức năng (thu thập, xử lý, giao tiếp, năng lượng), đồng thời so sánh các trạng thái vận hành của nút mạng (hoạt động, nhàn rỗi, ngủ). Về mặt công nghệ, chương trình bày chi tiết thông số kỹ thuật của vi mạch Libelium Waspmote, 8 dòng bo mạch cảm biến, đặc tính truyền tin và cấu trúc khung truyền của module XBee 802.15.4. Các định nghĩa và công thức toán học về MAD, hàm Sigmoid, phép nội suy tuyến tính, các độ đo sai số NME, SF, MAE được chuẩn hóa. Cuối cùng, chương thuyết minh về các công nghệ nền tảng gồm Docker, giao thức MQTT, framework Laravel, thư viện ReactJS, Redux và Redux-Saga.
Chương 3: Phương pháp luận, nghiên cứu
Chương 3 đi sâu vào phân tích mô hình phân rã chức năng của hệ thống gồm tầng thiết bị, gateway và đám mây. Tác giả phân tích hạn chế của phương pháp lấy mẫu định kỳ cố định: tần suất lấy mẫu quá lớn sẽ gây dư thừa dữ liệu và lãng phí năng lượng khi môi trường ít biến động; ngược lại tần suất quá thấp sẽ bỏ sót các biến động đột ngột. Ý tưởng thuật toán UDASA được đặc tả chi tiết: dựa trên cửa sổ trượt kích thước $N$ và bước nhảy $n$, thuật toán tính toán MAD và đưa qua hàm sigmoid mở rộng nhằm tự động điều chỉnh khoảng thời gian lấy mẫu kế tiếp. Tác giả trình bày các bước mô phỏng thuật toán UDASA trên môi trường toán học để làm cơ sở triển khai thực nghiệm.
Chương 4: Hiện thực, triển khai hệ thống
Chương 4 mô tả toàn bộ quá trình hiện thực hóa giải pháp thành hệ thống phần mềm và phần cứng hoàn chỉnh. Các module API Backend của Laravel được thiết kế theo Repository Pattern để xử lý dữ liệu từ broker. Cấu trúc frontend ReactJS tổ chức các màn hình quản trị, đồ thị giám sát trực quan hóa các đại lượng vật lý. Tác giả cấu hình quy trình triển khai MQTT Broker với EMQ X và quản lý các dịch vụ thông qua Dockerfile và docker-compose.yml. Trên tầng gateway, mã nguồn xử lý luồng nhận dữ liệu XBee, tính toán giải thuật UDASA và xuất bản thông điệp MQTT được hoàn thiện. Trên tầng thiết bị, chương trình Waspmote được lập trình bằng Waspmote IDE, hỗ trợ đóng gói Waspmote Frame và chuyển đổi chế độ ngủ nhằm tối ưu dòng điện tiêu thụ.
Chương 5: Kết quả thử nghiệm và đánh giá
Chương 5 trình bày việc kiểm thử hệ thống qua 3 kịch bản lớn:
- Đánh giá độ tin cậy thuật toán trên tập dữ liệu NOAA: Thực nghiệm chạy thuật toán UDASA mô phỏng trên chuỗi dữ liệu nồng độ oxy hòa tan (DO) với các giá trị tham số cấu hình khác nhau ($n = 3, 5, 10$ trên cửa sổ trượt $N = 30$), phân tích tương quan giữa tỷ lệ giảm lấy mẫu và độ lệch dữ liệu.
- Triển khai UDASA trên Waspmote với một loại cảm biến: Thực nghiệm đo đạc thực tế dữ liệu cảm biến ánh sáng, ghi nhận khả năng thích ứng của Waspmote khi cường độ sáng môi trường thay đổi đột ngột.
- Triển khai UDASA trên Waspmote với nhiều loại cảm biến: Triển khai đồng thời các cảm biến nhiệt độ, độ ẩm và áp suất khí quyển. Kết quả được đánh giá chéo giữa các tập dữ liệu gốc không dùng thuật toán và dữ liệu sau khi áp dụng UDASA kết hợp thuật toán tái tạo nội suy tuyến tính.
Chương 6: Kết luận và hướng phát triển
Chương 6 tổng kết các kết quả mà khóa luận đã đạt được so với đề cương: xây dựng thành công hệ thống thu thập dữ liệu môi trường trên nền tảng Libelium, lập trình tích hợp hoàn chỉnh thuật toán UDASA trên Gateway, hiện thực hóa hệ thống phân tầng với giao diện Cloud thời gian thực và đánh giá định lượng thuật toán qua dữ liệu chuẩn NOAA cũng như dữ liệu thực địa. Đồng thời, chương chỉ ra các vấn đề còn tồn tại về sai số nội suy và đề xuất các hướng nghiên cứu mở rộng trong tương lai.
Kết quả và đóng góp
Khóa luận đã kiểm chứng thành công thuật toán UDASA trên cả dữ liệu lý thuyết và phần cứng thực tế, chứng minh tính khả thi của việc giảm lưu lượng truyền dữ liệu để tiết kiệm năng lượng:
- Kiểm chứng trên bộ dữ liệu chuẩn NOAA DO: Khi thay đổi tham số bước nhảy $n \in {3, 5, 10}$ tương ứng với kích thước cửa sổ $N = 30$, thuật toán thể hiện rõ sự đánh đổi giữa phần lấy mẫu (Sampling Fraction - SF) và mức độ sai số chuẩn hóa (Normalized Mean Error - NME). Giá trị $n$ càng lớn thì số lượng mẫu cần thu thập càng giảm (giá trị SF thấp hơn), giúp tiết kiệm năng lượng truyền thông nhiều hơn, nhưng đi kèm mức tăng nhẹ của sai số NME.
- Thực nghiệm với một cảm biến (ánh sáng) và nhiều cảm biến (nhiệt độ, độ ẩm, áp suất): Hệ thống chứng minh khả năng tự động nhận diện các giai đoạn tín hiệu môi trường ổn định để kéo dài chu kỳ ngủ của vi mạch Waspmote. Ngược lại, khi các thông số môi trường biến động nhanh (như nhiệt độ thay đổi giữa ngày và đêm, hoặc ánh sáng thay đổi tức thời), gateway tính toán và hạ thấp thời gian ngủ, buộc cảm biến đọc dữ liệu dày đặc hơn để đảm bảo tính toàn vẹn của tín hiệu.
- Giải pháp kỹ thuật: Thiết lập thành công chu trình khép kín: Nút cảm biến Waspmote $\rightarrow$ Truyền tin vô tuyến XBee 802.15.4 $\rightarrow$ Cổng Gateway tính toán UDASA $\rightarrow$ Gửi lệnh phản hồi cấu hình tần suất về node $\rightarrow$ Đẩy dữ liệu qua MQTT lên Đám mây $\rightarrow$ Lưu trữ cơ sở dữ liệu và hiển thị trên Dashboard ReactJS qua Docker.
- Đóng góp học thuật: Đề tài đã chuyển hóa thuật toán UDASA từ công bố lý thuyết (IEEE Access 2020) sang triển khai thực tế trên nền tảng công nghiệp Libelium Waspmote; xây dựng phương pháp đánh giá sai số dữ liệu môi trường thực tế tại Việt Nam kết hợp các chỉ số toán học MAD, MAE, NME và SF.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận được tác giả thẳng thắn chỉ rõ các mặt hạn chế kỹ thuật:
- Về thuật toán và hàm nội suy: Để tái tạo dữ liệu từ chuỗi điểm rời rạc sau lấy mẫu thích ứng nhằm tính toán sai số, nhóm nghiên cứu sử dụng hàm nội suy tuyến tính có sẵn trong thư viện Python
scipy.interpolate. Công cụ này có sự khác biệt so với phương pháp tái tạo dữ liệu chuyên biệt trong công bố gốc trên IEEE Access, dẫn đến tỷ lệ lỗi NME trong đề tài có phần cao hơn kết quả của bài báo gốc.
- Về giới hạn phần cứng và kịch bản đo: Do số lượng thiết bị phần cứng Libelium có hạn, nhóm tác giả phải mất nhiều thời gian thực hiện thủ công các lần đo lường và thay đổi cấu hình giữa các kịch bản. Số liệu thực tế thu thập được chịu sự tác động bởi các yếu tố môi trường khách quan xung quanh vị trí đặt thiết bị, tình trạng tiếp xúc của cảm biến và sự ổn định của phần cứng.
Hướng phát triển trong tương lai bao gồm việc nghiên cứu các thuật toán nội suy và mô hình dự báo nâng cao nhằm kéo giảm sai số NME khi tái lập dữ liệu, tối ưu hóa hơn nữa năng lượng tiêu thụ tại gateway, mở rộng quy mô mạng lưới thử nghiệm với nhiều nút cảm biến hoạt động song song trên diện rộng, và tích hợp thêm các dòng cảm biến chuyên dụng khác thuộc danh mục hỗ trợ của Libelium.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo có giá trị chuyên môn cao cho sinh viên, học viên cao học và kỹ sư thuộc các ngành Mạng máy tính và Truyền thông, Kỹ thuật Máy tính, Công nghệ Thông tin và Hệ thống IoT.
Nội dung đồ án mang tính ứng dụng thực tiễn cao ở các phần:
- Phương pháp cấu hình và lập trình thiết bị Libelium Waspmote kết hợp module vô tuyến XBee 802.15.4, cách sử dụng các chế độ ngủ để giảm dòng rò xuống mức micro-ampe.
- Quy trình triển khai thuật toán thích ứng (Adaptive Sampling) để tái cấu hình thiết bị nhúng từ xa dựa trên phân tích phương sai tín hiệu.
- Mô hình kiến trúc phân tầng chuẩn mực cho hệ thống IoT quy mô vừa và lớn: cách thức kết nối trung gian bằng Paho MQTT, cấu hình EMQ X Broker trên Docker, xây dựng kiến trúc Backend Laravel theo Repository Pattern và Frontend Dashboard điều phối trạng thái bằng Redux-Saga.
Câu hỏi thường gặp
1. Mục tiêu cốt lõi của việc áp dụng thuật toán UDASA trên nền tảng Libelium là gì?
Mục tiêu cốt lõi là giải quyết bài toán cạn kiệt năng lượng pin trên các nút cảm biến IoT. Bằng cách phân tích độ biến động của dữ liệu môi trường thông qua độ lệch tuyệt đối trung vị (MAD) và hàm sigmoid, thuật toán tại gateway sẽ tự động điều chỉnh giãn cách chu kỳ lấy mẫu: khi dữ liệu ít biến động, thiết bị tăng thời gian ngủ để tiết kiệm năng lượng; khi dữ liệu biến động mạnh, thiết bị tăng tần suất lấy mẫu để bảo đảm độ chính xác.
2. Hệ thống trong khóa luận được phân rã thành những tầng nào và vai trò của Gateway là gì?
Hệ thống gồm 3 tầng: Tầng thiết bị (Waspmote kết hợp cảm biến và module XBee), Tầng Gateway (bộ xử lý trung gian) và Tầng Đám mây (Cloud Datacenter với Docker, EMQ X, Laravel, ReactJS). Gateway đóng vai trò trung tâm tính toán: tiếp nhận các gói dữ liệu từ Waspmote qua XBee, chạy thuật toán UDASA để xác định tần suất lấy mẫu mới và gửi lệnh cấu hình ngược về cho nút mạng, đồng thời chuyển tiếp dữ liệu lên Broker qua giao thức MQTT.
3. Nhóm tác giả sử dụng các chỉ số toán học nào để đo lường độ lệch và hiệu quả giảm dữ liệu?
Nhóm sử dụng 4 chỉ số toán học chính: Độ lệch tuyệt đối trung vị (MAD) để lọc nhiễu và đo độ trải rộng dữ liệu; Lỗi trung bình chuẩn hóa (NME) và Lỗi tuyệt đối trung bình (MAE) để so sánh sai số giữa chuỗi dữ liệu gốc và dữ liệu tái tạo; Phần lấy mẫu (SF) để xác định tỷ lệ phần trăm mẫu dữ liệu đã cắt giảm được so với phương pháp đo liên tục.
4. Module truyền thông vô tuyến giữa Waspmote và Gateway có các đặc điểm kỹ thuật gì?
Hệ thống dùng module Digi XBee 802.15.4 hoạt động ở băng tần 2.4 GHz với 12 kênh vô tuyến (băng thông 5 MHz/kênh), giao tiếp UART ở tốc độ 115.200 bps, hỗ trợ mã hóa AES-128 bit loại CTR. Module hỗ trợ truyền Unicast (có cơ chế nhận ACK và truyền lại tối đa 10 lần) và Broadcast, với tải trọng dữ liệu tối đa từ 94 đến 100 Bytes tùy thuộc vào chế độ địa chỉ hóa và mã hóa.
5. Vì sao sai số tái tạo dữ liệu (NME) trong nghiên cứu thực nghiệm lại có phần cao hơn bài báo gốc IEEE Access 2020?
Theo phân tích của nhóm tác giả trong phần giới hạn đề tài, nguyên nhân chính là do nhóm sử dụng hàm nội suy tuyến tính có sẵn trong thư viện Python scipy.interpolate để tái lập dữ liệu từ các điểm rời rạc. Phương pháp này khác biệt so với cơ chế tái lập dữ liệu chuyên biệt mà bài báo gốc năm 2020 áp dụng, dẫn đến sự chênh lệch về mặt tính toán khiến tỷ lệ lỗi NME của đồ án cao hơn.
Kết luận
Khóa luận tốt nghiệp của sinh viên Phan Trung Phát và Nguyễn Hoàng Phúc đã giải quyết hoàn chỉnh bài toán tiết kiệm năng lượng cho mạng cảm biến IoT bằng cách hiện thực hóa thuật toán lấy mẫu thích ứng UDASA trên nền tảng phần cứng công nghiệp Libelium Waspmote. Hệ thống được xây dựng bài bản theo kiến trúc 3 tầng chuẩn mực, kết hợp hài hòa giữa phần cứng nhúng tiêu thụ siêu thấp, giao thức truyền thông XBee/MQTT và nền tảng giám sát đám mây đóng gói trên Docker. Mặc dù còn một số hạn chế về công cụ nội suy và số lượng thiết bị vật lý, công trình đã chứng minh rõ nét hiệu quả của việc giảm tải dữ liệu lấy mẫu trên các thông số môi trường thực tế, đóng góp một giải pháp kỹ thuật có tính ứng dụng cao cho lĩnh vực mạng máy tính và truyền thông.