Giới thiệu dự án
Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 và Internet of Things (IoT) đã thúc đẩy thị trường nhà thông minh (Smart Home) toàn cầu phát triển vượt bậc, với dự báo đạt quy mô hơn 222 tỷ USD vào năm 2027. Tuy nhiên, phần lớn các hệ sinh thái nhà thông minh thương mại hiện nay vẫn chỉ dừng lại ở mức độ tự động hóa thụ động (Passive Automation), điều khiển qua ngữ cảnh cố định (Hard-coded Rules) hoặc thực thi lệnh giọng nói đơn lẻ, thiếu vắng khả năng tự thích ứng và thấu hiểu hành vi thực tế của người dùng.
Đồ án tốt nghiệp chuyên ngành Kỹ thuật Máy tính tại Trường Đại học Công nghệ Thông tin (UIT - ĐHQG-HCM) với đề tài "System for managing electrical devices; analyze data and user behavior" (Hệ thống quản lý thiết bị điện; phân tích dữ liệu và hành vi người dùng) do sinh viên Phan Nhật Hoàng thực hiện dưới sự hướng dẫn của TS. Phạm Quốc Hùng và ThS. Phan Đình Duy, tập trung giải quyết bài toán cốt lõi: Làm thế nào để một hệ thống IoT vừa đảm bảo khả năng truyền thông thời gian thực linh hoạt, vừa có thể tự động khai phá thói quen sinh hoạt của người dùng mà không phụ thuộc vào quy trình gán nhãn thủ công phiền toái.
+-----------------------------------------------------------------------+
| HỆ THỐNG SMART HOME |
| |
| +---------------------+ MQTT / HTTP +-------------------+ |
| | Android Mobile App | <===================> | Central Gateway | |
| | (UI & Remote Ctrl) | | (ESP32 Gateway) | |
| +---------------------+ +---------+---------+ |
| | |
| BLE Mesh 4.2 | Flooding |
| v |
| +---------+---------+ |
| | BLE Mesh Nodes | |
| | (Sensors/Actuators| |
| +-------------------+ |
| |
| +-----------------------------------------------------------------+ |
| | PIPELINE MÁY HỌC (OFFLINE/EDGE) | |
| | Raw Data -> Changepoint (0/1) -> Elbow Threshold (alpha) | |
| | -> K-Means (24h Window) -> Apriori (Rules: X -> Y) | |
| +-----------------------------------------------------------------+ |
+-----------------------------------------------------------------------+
Vấn đề nghiên cứu cụ thể
- Sự phụ thuộc vào học có giám sát (Supervised Learning): Các nghiên cứu nhận diện hoạt động người (Human Activity Recognition - HAR) truyền thống đòi hỏi người dùng phải liên tục ghi nhật ký (Diary/ESM) hoặc gán nhãn hoạt động, gây gián đoạn sinh hoạt và sai lệch dữ liệu do yếu tố chủ quan.
- Hạn chế của cửa sổ thời gian cố định (Fixed Timeslice): Việc chia chuỗi thời gian thành các lát cắt cứng nhắc (ví dụ: $\Delta t = 60\text{s}$) dễ bỏ sót sự kiện diễn ra nhanh hoặc lồng ghép nhiều hoạt động trong cùng một khung phân tích.
- Độ trễ và tính phức tạp trong mạng cảm biến nội bộ: Các chuẩn kết nối thông thường gặp khó khăn khi mở rộng quy mô node mạng và không đảm bảo tính phản hồi tức thì (Real-time).
Mục tiêu của đồ án
- Xây dựng mạng lưới phần cứng IoT diện rộng hỗ trợ cấu hình đa điểm (Many-to-Many) dựa trên chuẩn giao tiếp Bluetooth Low Energy (BLE) Mesh 4.2 và vi điều khiển ESP32.
- Phát triển thiết bị Gateway xử lý trung tâm, cầu nối giữa mạng BLE Mesh và Cloud Database thông qua các giao thức truyền thông MQTT và HTTP.
- Ứng dụng hệ điều hành thời gian thực FreeRTOS nhằm quản lý đa tác vụ, giảm thiểu xung đột tài nguyên và duy trì độ ổn định cao trên vi điều khiển.
- Đề xuất quy trình học máy không giám sát (Unsupervised Learning) tích hợp Data Mining (K-Means Clustering và Association Rules với thuật toán Apriori) nhằm phân cụm mật độ tương tác và dự đoán chính xác hành vi kế tiếp của người dùng.
Phạm vi và giới hạn
- Phạm vi triển khai: Tập trung vào môi trường nhà thông minh đơn người dùng (Single-user Smart Home), kiểm thử trên tập dữ liệu chuẩn hóa của căn hộ A từ bộ benchmark quốc tế và hệ thống phần cứng thực nghiệm gồm Gateway, cảm biến cửa (Hall-Toilet Door) và cơ cấu chấp hành (Relay/Đèn).
- Giới hạn kỹ thuật: Chưa hỗ trợ nhận diện đa người dùng hoạt động đồng thời; hệ thống máy học vận hành phân tích dữ liệu theo lô (Batch Processing/Offline Mining) trước khi cập nhật luật dự báo vào hệ thống điều khiển.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trong lĩnh vực nhận diện hành vi người dùng (HAR), hai nghiên cứu kinh điển thường được tham chiếu gồm bài báo của van Kasteren et al. [1] và Emmanuel Munguia Tapia et al. [2].
| Tiêu chí |
Nghiên cứu van Kasteren et al. [1] |
Nghiên cứu Tapia et al. [2] |
Giải pháp của đồ án |
| Phương pháp học máy |
Supervised Learning (NB, HMM, HSMM, CRF) |
Supervised Learning (Naïve Bayes) |
Unsupervised Learning (K-Means & Apriori) |
| Phương thức gán nhãn |
Tình nguyện viên ghi chép thủ công / Bluetooth Diary |
Phương pháp Experience Sampling Method (ESM - bíp mỗi 15p) |
Không gán nhãn (Phân tích chuỗi đảo trạng thái cảm biến) |
| Phân đoạn thời gian |
Fixed Timeslice ($\Delta t = 60\text{s}$) |
Cửa sổ trượt đa khung thời gian ($t - L_i \rightarrow t$) |
Phân cụm thích ứng theo điểm ngưỡng Elbow ($\alpha$) |
| Dạng dữ liệu tối ưu |
Changepoint (chuyển trạng thái $0 \rightarrow 1$) |
Biến nhị phân chuyển trạng thái + thuộc tính Exist |
Changepoint kết hợp khoảng cách trễ liên sự kiện |
| Khả năng nhúng IoT |
Thấp (Mô hình chuỗi phức tạp) |
Trung bình |
Cao (Thuật toán nhẹ, tính toán nhanh, giải thích rõ ràng) |
Phân tích yêu cầu hệ thống (MoSCoW)
- Must have (Bắt buộc): Giao tiếp BLE Mesh giữa các node với Gateway; điều khiển bật/tắt thiết bị qua ứng dụng di động; phân cụm thời gian sử dụng thiết bị trong ngày bằng K-Means; trích xuất luật kết hợp $X \rightarrow Y$ bằng Apriori.
- Should have (Nên có): Tự động phát hiện ngưỡng $\alpha$ phân tách nhóm sự kiện bằng phương pháp Elbow; đồng bộ trạng thái thiết bị thời gian thực lên Cloud qua MQTT.
- Could have (Có thể có): Giao diện thêm/xóa phòng (Add/Remove Room) và thiết bị linh hoạt trên ứng dụng Android.
- Won't have (Chưa hỗ trợ): Tự động học thích ứng Online Learning trực tiếp trên chip nhớ Flash của ESP32.
Thiết kế hệ thống
Kiến trúc phân tầng phần cứng & phần mềm
Hệ thống gồm 4 thành phần chính:
- Thiết bị Node (End Devices): Sử dụng SoC ESP32 chạy RTOS, tích hợp các cảm biến số và relay đóng cắt tải điện tử tử, hoạt động như Relay Node hoặc Low-power Node trong mạng BLE Mesh.
- Thiết bị Gateway trung tâm: Vi điều khiển ESP32 đóng vai trò kép: vừa là Provisioner/Proxy Node trong mạng BLE Mesh, vừa là Wi-Fi Station kết nối Internet để gửi nhận bản tin MQTT/HTTP.
- Cơ sở dữ liệu đám mây (Cloud Database): Hệ thống cơ sở dữ liệu nền web lưu trữ cấu trúc phòng, danh sách thiết bị và lịch sử trạng thái I/O.
- Ứng dụng điều khiển (Android App): Phát triển trên Android Studio, cung cấp giao diện trực quan cho phép giám sát tức thời và phát lệnh can thiệp.
+---------------------------------------------------------------------------------+
| BLE MESH PROTOCOL STACK |
+---------------------------------------------------------------------------------+
| Model Layer | Generic On/Off, Sensor Server/Client Models |
+------------------------+--------------------------------------------------------+
| Foundation Layer | Configuration & Health Server/Client |
+------------------------+--------------------------------------------------------+
| Access Layer | Application Data Formatting, AppKey Encryption |
+------------------------+--------------------------------------------------------+
| Upper Transport Layer | Access Payload Encryption/Auth (128-bit AES-CCM) |
+------------------------+--------------------------------------------------------+
| Lower Transport Layer | Segmentation and Reassembly (SAR) of Transport PDUs |
+------------------------+--------------------------------------------------------+
| Network Layer | Network Addressing, Flooding Relay, NetKey Encryption |
+------------------------+--------------------------------------------------------+
| Bearer Layer | Advertising Bearer / GATT Bearer |
+------------------------+--------------------------------------------------------+
| BLE Core (PHY/LL) | 2.4 GHz ISM Band, 40 Channels (3 Advertising, 37 Data) |
+---------------------------------------------------------------------------------+
Kiến trúc luồng truyền thông và bảo mật
- Mã hóa đa tầng: Sử dụng 2 lớp khóa bảo mật của BLE Mesh gồm Network Key (NetKey) cho tầng mạng và Application Key (AppKey) cho tầng ứng dụng nhằm chống tấn công Replay Attack và Man-in-the-Middle (MITM).
- Giao thức định tuyến Flooding: Mọi gói tin truyền trong mạng được gắn giá trị Time-To-Live (TTL). Các Relay Node nhận gói tin sẽ tự động phát lại (re-transmit) đến toàn bộ các node lân cận trong tầm phủ sóng, đảm bảo dữ liệu tới đích mà không cần duy trì bảng định tuyến phức tạp.
Methodology
- Mô hình phát triển: Áp dụng mô hình phát triển phần mềm lặp (Iterative Agile), chia làm 3 giai đoạn: Thiết kế phần cứng giao tiếp BLE Mesh $\rightarrow$ Xây dựng pipeline dữ liệu và mô hình Data Mining $\rightarrow$ Tích hợp hệ thống Gateway - App và kiểm thử End-to-End.
- Chiến lược quản trị rủi ro:
- Hiện tượng bão hòa gói tin (Broadcast Storm) trong BLE Mesh: Cấu hình giới hạn giá trị TTL $= 3$ và điều chỉnh bộ đếm
Relay Retransmit Count.
- Nhiễu dữ liệu cảm biến: Loại bỏ 5% các điểm trễ ngoại lai ($\Delta t$ nằm ngoài phân vị 95%) trước khi tính toán điểm uốn Elbow.
Implementation và kết quả
Development process
1. Kỹ thuật phân đoạn dữ liệu không giám sát qua ngưỡng Elbow ($\alpha$)
Thay vì quan sát toàn bộ trạng thái tĩnh, hệ thống chỉ ghi nhận thời điểm biến đổi trạng thái (Changepoint) nhị phân ${0 \rightarrow 1, 1 \rightarrow 0}$. Giả sử giữa $n$ lần đảo trạng thái liên tiếp có $n-1$ khoảng trễ thời gian ${\Delta t_1, \Delta t_2, \dots, \Delta t_{n-1}}$. Tỷ lệ phần trăm số khoảng trễ nhỏ hơn ngưỡng $\beta$ được xác định theo hàm phân phối tích lũy thực nghiệm:
$$\phi(\beta) = \frac{\sum_{i=1}^{n-1} \mathbb{I}(\Delta t_i \le \beta)}{n-1}$$
Khi tăng dần $\beta$, tốc độ tăng trưởng của $\phi(\beta)$ sẽ đạt tới trạng thái bão hòa. Điểm uốn (Elbow Point) $\alpha$ xuất hiện tại vị trí mà đạo hàm bậc nhất của $\phi(\beta)$ theo $\beta$ bắt đầu suy giảm mạnh:
$$\frac{d\phi(\beta)}{d\beta} \ll 1 \quad \forall \beta > \alpha$$
Khoảng trễ $\Delta t_i \le \alpha$ được xem là thuộc cùng một phiên hành vi người dùng (Session). Ngược lại, nếu $\Delta t_i > \alpha$, một chuỗi hành vi mới được khởi tạo.
import numpy as np
def compute_elbow_threshold(delta_times, percentile_cutoff=95):
"""
Tính toan gia tri nguong alpha tai diem uon Elbow cua ham phan phoi thoi gian tre
"""
# Loai bo 5% du lieu ngoai lai
upper_bound = np.percentile(delta_times, percentile_cutoff)
filtered_dt = np.sort(delta_times[delta_times <= upper_bound])
n = len(filtered_dt)
# Tinh ham tich luy thuc nghiem phi(beta)
cdf = np.arange(1, n + 1) / n
# Tinh khoang cach tu cac diem (filtered_dt, cdf) den duong thang noi diem dau va cuoi
p1 = np.array([filtered_dt[0], cdf[0]])
p2 = np.array([filtered_dt[-1], cdf[-1]])
distances = []
for i in range(n):
p0 = np.array([filtered_dt[i], cdf[i]])
# Khoang cach hinh hoc tu diem den doan thang p1-p2
d = np.abs(np.cross(p2 - p1, p1 - p0)) / np.linalg.norm(p2 - p1)
distances.append(d)
elbow_index = np.argmax(distances)
alpha = filtered_dt[elbow_index]
return alpha
2. Phân cụm thời gian 24h bằng K-Means
Để xác định các khung giờ cao điểm có mật độ tương tác cao, thuật toán K-Means được áp dụng trên trục thời gian $T \in [0, 24\text{h}]$:
- Khởi tạo $K$ tâm cụm ban đầu $c_1, c_2, \dots, c_K$.
- Gán nhãn từng mốc thời gian $t_j$ vào cụm có khoảng cách nhỏ nhất: $\arg\min_k |t_j - c_k|^2$.
- Cập nhật lại tâm cụm $c_k = \frac{1}{|S_k|}\sum_{t_j \in S_k} t_j$.
- Loại bỏ các cụm có số lượng sự kiện thưa thớt ($N < 10$) để triệt tiêu nhiễu ngẫu nhiên.
3. Khai phá luật kết hợp hành vi bằng thuật toán Apriori
Mỗi cụm sự kiện sau khi lọc qua ngưỡng $\alpha$ và khung giờ K-Means được coi là một giao dịch $T = {s_1, s_2, \dots, s_m}$. Thuật toán Apriori tìm kiếm các tập mục thường xuyên (Frequent Itemsets) và sinh luật kết hợp dạng $X \rightarrow Y$ dựa trên 3 thước đo:
$$\text{Support}(X) = \frac{|{t \in T \mid X \subseteq t}|}{|T|}$$
$$\text{Confidence}(X \rightarrow Y) = \frac{\text{Support}(X \cup Y)}{\text{Support}(X)}$$
$$\text{Lift}(X \rightarrow Y) = \frac{\text{Confidence}(X \rightarrow Y)}{\text{Support}(Y)}$$
Thuật toán Apriori trích xuất luật tương tác thiết bị:
Input: Tập giao dịch D, min_sup, min_conf
Output: Tập luật kết hợp Rules = {X -> Y}
1: L_1 = {cảm biến i | Support({i}) >= min_sup}
2: k = 2
3: while L_{k-1} != rỗng do
4: C_k = candidate_gen(L_{k-1}) // Sinh tập ứng viên kích thước k
5: for each transaction t in D do
6: C_t = subset(C_k, t)
7: for each c in C_t do count[c] = count[c] + 1
8: L_k = {c in C_k | count[c] / |D| >= min_sup}
9: k = k + 1
10: Rules = generate_rules(L_all, min_conf)
/* ESP32 FreeRTOS Task: Xu ly ban tin BLE Mesh va cap nhat trang thai */
void vTaskMeshReceiver(void *pvParameters) {
esp_ble_mesh_model_t *model = (esp_ble_mesh_model_t *)pvParameters;
mesh_packet_t rx_packet;
for (;;) {
// Cho nhan du lieu tu Queue voi timeout 100ms
if (xQueueReceive(xMeshRxQueue, &rx_packet, pdMS_TO_TICKS(100)) == pdPASS) {
ESP_LOGI("MESH", "Nhan goi tu Node 0x%04x: State=%d",
rx_packet.src_addr, rx_packet.state);
// Chuyen tiep trang thai len MQTT Broker
if (xMqttConnected == pdTRUE) {
mqtt_publish_device_state(rx_packet.src_addr, rx_packet.state);
}
}
vTaskDelay(pdMS_TO_TICKS(10));
}
}
Testing và validation
1. Đánh giá ngưỡng điểm uốn của các thiết bị thực tế
Phân tích thực nghiệm trên tập dữ liệu căn hộ A mang lại các giá trị ngưỡng Elbow $\alpha$ đặc thù cho từng loại thiết bị:
| Thiết bị / Vị trí |
Trạng thái đảo |
Số lần xuất hiện |
Ngưỡng thời gian Elbow ($\alpha$ - giây) |
| Toàn bộ hệ thống (Toàn cục) |
$0 \leftrightarrow 1$ |
1284 |
34.2 |
| Tủ lạnh (Fridge) |
$1 \rightarrow 0$ (Đóng) |
148 |
26.8 |
| Tủ lạnh (Fridge) |
$0 \rightarrow 1$ (Mở) |
152 |
28.1 |
| Đèn toilet (Toilet Light) |
$1 \rightarrow 0$ (Tắt) |
94 |
18.5 |
| Đèn toilet (Toilet Light) |
$0 \rightarrow 1$ (Bật) |
96 |
19.2 |
| Cửa Toilet (Hall-Toilet Door) |
$0 \rightarrow 1$ (Mở) |
114 |
22.4 |
2. Kết quả khai phá luật dự đoán hành vi
Trong khung thời gian 08:00 - 13:00 (được phân cụm bởi K-Means đại diện cho khoảng thời gian chuẩn bị bữa trưa), mô hình Apriori phát hiện các luật kết hợp có độ tin cậy vượt trội:
[Luật 1]: {Fridge = Open} -> {Cups Cupboard = Open}
Support: 21.4% | Confidence: 84.6% | Lift: 3.12
[Luật 2]: {Hall-Toilet Door = Open} -> {Toilet Light = On}
Support: 18.7% | Confidence: 92.3% | Lift: 4.05
[Luật 3]: {Plates Cupboard = Open, Microwave = On} -> {Freezer = Open}
Support: 14.2% | Confidence: 78.9% | Lift: 2.88
Kết quả đạt được
- Thời gian đáp ứng điều khiển (Latency Benchmark): Thời gian trễ trung bình đo đạc từ lúc người dùng chạm nút trên màn hình Android đến khi Relay trên node thực thi đóng/cắt tải qua mạng BLE Mesh đạt $\approx 2.0\text{s}$ trong điều kiện môi trường Wi-Fi/Internet ổn định.
- Tối ưu hóa bộ nhớ và tài nguyên: Nhờ sử dụng mô hình học không giám sát nhẹ (K-Means + Apriori), thời gian xử lý toàn bộ tập dữ liệu chỉ mất dưới 1.4 giây trên máy tính tiêu chuẩn, hoàn toàn có khả năng đóng gói thành vi dịch vụ nhúng (Edge Computing) trên các vi xử lý cổng Gateway nâng cao.
Đổi mới và đóng góp
- Loại bỏ hoàn toàn rào cản gán nhãn dữ liệu (Label-Free Paradigm): Khác biệt với các phương pháp tiếp cận kinh điển (van Kasteren [1], Tapia [2]) buộc người dùng phải tự khai báo nhật ký, đồ án đề xuất kỹ thuật phân cụm chuỗi đảo trạng thái cảm biến tự động bằng điểm ngưỡng Elbow ($\alpha$), bảo vệ tối đa tính riêng tư và mang lại trải nghiệm trong suốt cho người dùng.
- Kiến trúc mô hình hai giai đoạn hiệu quả cao (Two-tier Mining): Sự kết hợp giữa K-Means (lọc thô theo chu kỳ 24h) và Apriori (lọc tinh chuỗi quan hệ thiết bị) giúp giảm độ phức tạp thuật toán $O(2^{|I|})$ của bài toán khai phá luật xuống chỉ còn xử lý trên các không gian tìm kiếm cục bộ, tăng tốc độ tính toán lên hơn 65% so với việc vét cạn Brute-force trên toàn bộ tập dữ liệu.
- Hiện thực hóa mạng lưới BLE Mesh tự phục hồi: Ứng dụng thành công ngăn xếp BLE Mesh 4.2 kết hợp FreeRTOS trên chip ESP32 giá rẻ, chứng minh tính khả thi của việc thay thế các giải pháp mạng độc quyền (Zigbee Pro, Z-Wave) bằng công nghệ mở tiêu chuẩn quốc tế.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Real-world Scenarios)
- Hỗ trợ sinh hoạt người cao tuổi độc thân: Hệ thống tự động phân tích nhịp sinh hoạt hàng ngày. Khi phát hiện cửa phòng tắm mở (
Hall-Toilet Door = Open) nhưng đèn toilet không bật sau thời gian vượt quá ngưỡng $\alpha = 22.4\text{s}$, hoặc không có bất kỳ tương tác thiết bị nào trong khung giờ thường xuyên (theo K-Means), Gateway sẽ kích hoạt cảnh báo nguy cơ té ngã về điện thoại người thân.
- Tự động hóa năng lượng thông minh: Khi người dùng mở tủ lạnh trong khung giờ 08:00 - 13:00, hệ thống tự động kích hoạt đèn khu vực bếp và chuẩn bị sẵn nguồn điện cho lò vi sóng dựa trên các luật kết hợp đã khai phá.
+-------------------------------------------------------------------------------+
| LỘ TRÌNH TRIỂN KHAI HỆ THỐNG |
+-------------------------------------------------------------------------------+
| Giai đoạn 1 (Tháng 1-2): Khảo sát & Đóng gói phần cứng Gateway/Node |
| [====================] 100% -> Chế tạo mạch PCB ESP32 tích hợp Relay/Sensor |
+-------------------------------------------------------------------------------+
| Giai đoạn 2 (Tháng 3-4): Triển khai Firmware BLE Mesh & Broker MQTT |
| [====================] 100% -> Nạp FreeRTOS, kiểm tra cơ chế Flooding Mesh |
+-------------------------------------------------------------------------------+
| Giai đoạn 3 (Tháng 5-6): Huấn luyện Engine Data Mining & Tích hợp App |
| [====================] 100% -> Chạy K-Means + Apriori, hoàn thiện App Android |
+-------------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)
- Chi phí phần cứng tối thiểu: Chi phí sản xuất một node ESP32 BLE Mesh dao động từ $3 - $5 USD, rẻ hơn từ 50% - 70% so với các module Zigbee/Z-Wave chuyên dụng trên thị trường.
- Khả năng mở rộng: Hệ thống hỗ trợ mở rộng lý thuyết lên đến 32,767 node trong một mạng BLE Mesh mà không yêu cầu thay đổi kiến trúc Gateway trung tâm.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Độ trễ truyền thông qua Cloud: Thời gian đáp ứng 2 giây phụ thuộc đáng kể vào đường truyền Internet giữa Gateway và Cloud MQTT Broker; chưa hỗ trợ cơ chế điều khiển nội mạng hoàn toàn độc lập (Local Fallback) khi mất kết nối mạng ngoài.
- Giới hạn không gian đơn người dùng: Mô hình khai phá dữ liệu hiện tại giả định một người sinh hoạt duy nhất; nếu có nhiều thành viên tương tác chéo, các luật kết hợp có thể bị nhiễu do xung đột hành vi.
Hướng phát triển tương lai
- Triển khai TinyML trên Gateway: Chuyển đổi mô hình K-Means và Apriori sang dạng vi mã nguồn C++ chạy trực tiếp trên bộ nhớ SRAM của ESP32-S3 để cập nhật luật Online theo thời gian thực mà không cần xử lý offline trên máy chủ.
- Tích hợp cảm biến hiện diện mmWave Radar: Kết hợp cảm biến radar sóng milimet 24GHz/60GHz để phân biệt vị trí chính xác của từng người trong không gian đa người dùng.
Đối tượng hưởng lợi
- Sinh viên & Nghiên cứu sinh: Cung cấp tài liệu tham khảo hoàn chỉnh từ thiết kế phần cứng vi điều khiển (ESP32, FreeRTOS, BLE Mesh) đến ứng dụng kỹ thuật khai phá dữ liệu (K-Means, Apriori) vào bài toán IoT thực tế.
- Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm vững quy trình cấu hình ngăn xếp mạng BLE Mesh (GAP, GATT, Access Layer, Foundation Layer) và kỹ thuật quản lý đa nhiệm thời gian thực với FreeRTOS.
- Doanh nghiệp Smart Home: Mô hình giải pháp mã nguồn mở, tối ưu chi phí phần cứng BOM (Bill of Materials), dễ dàng tùy biến giao diện và triển khai hàng loạt cho căn hộ, viện dưỡng lão hoặc khách sạn thông minh.
- Nhà khoa học dữ liệu (Data Scientists): Phương pháp xác định ngưỡng điểm uốn Elbow ($\alpha$) trên chuỗi thời gian là công cụ hữu ích cho các bài toán phân đoạn sự kiện không giám sát trên dữ liệu chuỗi cảm biến thưa (Sparse Time-series).
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu tối thiểu một module ESP32 (NodeMCU/WROOM-32) làm Gateway kết nối Wi-Fi, ít nhất một node ESP32 gắn cảm biến hoặc relay điều khiển, cùng một điện thoại thông minh chạy hệ điều hành Android 8.0 trở lên hỗ trợ kết nối mạng.
2. BLE Mesh có bị nghẽn mạng khi số lượng thiết bị tăng lên không?
Nhờ cơ chế kiểm soát TTL (Time-To-Live) và bộ lọc bản tin đã nhận (Network Message Cache), BLE Mesh loại bỏ hiện tượng lặp vô hạn của cơ chế Flooding. Hệ thống hoạt động tối ưu nhất với mạng từ 20 đến 100 node trong phạm vi nhà ở dân dụng tiêu chuẩn.
3. Phương pháp Elbow có tự động thích ứng khi người dùng thay đổi thói quen không?
Có. Do thuật toán tính toán lại hàm phân phối tích lũy $\phi(\beta)$ dựa trên tập dữ liệu lịch sử trượt gần nhất, điểm uốn $\alpha$ sẽ tự động dịch chuyển tương ứng theo nhịp sinh hoạt mới của người dùng mà không cần lập trình viên can thiệp thủ công.
4. Tại sao đồ án không sử dụng mạng Zigbee thay vì BLE Mesh?
BLE Mesh có lợi thế vượt trội về tính phổ quát do được xây dựng trên tầng vật lý BLE có sẵn trên hầu hết các thiết bị di động, không phụ thuộc vào chip điều khiển mạng độc quyền và không đòi hỏi chi phí bản quyền liên minh đắt đỏ như Zigbee.
5. Thời gian phản hồi 2 giây có thể tối ưu thêm được không?
Có. Thời gian 2 giây hiện tại bao gồm chu trình: App $\rightarrow$ Cloud Broker $\rightarrow$ Gateway $\rightarrow$ BLE Mesh. Nếu ứng dụng di động kết nối trực tiếp với Gateway thông qua mạng Wi-Fi cục bộ (Local Socket/mDNS) hoặc truyền lệnh trực tiếp qua GATT Bearer của BLE Mesh, độ trễ có thể giảm xuống dưới 150ms.
Kết luận
Khóa luận tốt nghiệp của sinh viên Phan Nhật Hoàng đã giải quyết thành công bài toán tích hợp giữa mạng lưới phần cứng IoT diện rộng và mô hình khai phá dữ liệu hành vi người dùng thông minh. Bằng cách kết hợp linh hoạt công nghệ Bluetooth Mesh 4.2 trên nền tảng vi điều khiển ESP32 với pipeline học máy không giám sát (Elbow Thresholding, K-Means, Apriori), đồ án đã tạo nên một hệ thống Smart Home tự thích ứng, chi phí thấp và tôn trọng quyền riêng tư. Đây là bước đệm vững chắc cho các nghiên cứu chuyên sâu tiếp theo nhằm đưa trí tuệ nhân tạo biên (Edge AI) thâm nhập sâu rộng hơn vào đời sống hàng ngày.