Giới thiệu dự án
Sự phát triển mạnh mẽ của kỷ nguyên Internet of Things (IoT) và giải pháp Nhà thông minh (Smart Home) đã biến các vật dụng gia đình truyền thống thành những thiết bị thông minh đa nhiệm. Thị trường thiết bị nhà thông minh toàn cầu dự kiến đạt quy mô hơn 220 tỷ USD trong những năm tới, trong đó các giao diện tương tác thông minh (Ambient Intelligence Interfaces) đóng vai trò trung tâm trong trải nghiệm người dùng. Tuy nhiên, phần lớn các thiết bị gương soi trong không gian sống hiện nay vẫn chỉ đóng vai trò phản chiếu cơ học đơn thuần.
Vấn đề thực tiễn và bài toán nghiên cứu
Mặc dù ý tưởng gương thông minh (Smart Mirror) đã xuất hiện trên thế giới từ các dự án mã nguồn mở như HomeMirror (2014) hay MagicMirror², việc thương mại hóa và ứng dụng thực tiễn tại Việt Nam vẫn đối mặt với nhiều rào cản lớn:
- Trải nghiệm "một kích thước cho tất cả" (One-size-fits-all): Các hệ thống hiện có chỉ hiển thị một giao diện cố định, thiếu khả năng phân biệt người dùng để cá nhân hóa nội dung (tin tức, lịch trình, sở thích âm nhạc).
- Phương thức tương tác nghèo nàn: Đa số các sản phẩm thương mại chỉ dừng lại ở màn hình hiển thị thụ động, thiếu cơ chế cảm ứng trực tiếp trên mặt kính hoặc điều khiển đa kênh linh hoạt từ thiết bị di động.
- Giá thành đắt đỏ và thiếu tối ưu bản địa: Các dòng gương cao cấp nhập khẩu từ nước ngoài có giá thành lên tới hàng chục triệu đồng nhưng không được tối ưu hóa về ngôn ngữ, nguồn cấp tin tức (newsfeed) và thói quen sinh hoạt của người Việt.
Đề tài "Thiết kế gương thông minh điều khiển theo kịch bản người dùng" (Design Smart Mirror with User-Based Access Control) do nhóm nghiên cứu ngành Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin, ĐHQG-HCM thực hiện nhằm giải quyết triệt để các hạn chế trên thông qua giải pháp phần cứng nhúng kết hợp thị giác máy tính và kiến trúc module hóa linh hoạt.
+-------------------------------------------------------------------------------+
| SMART MIRROR SYSTEM |
| |
| +-------------------+ +----------------------+ +--------------------+ |
| | Multi-touch Film | | PS3 Eye Camera | | Mobile / Web App | |
| | (<2ms Response) | | (HOG Face Detection) | | (HTTP / WebSocket) | |
| +---------+---------+ +----------+-----------+ +---------+----------+ |
| | | | |
| +-------------------+ | +--------------------+ |
| | | | |
| v v v |
| +------------------------------------+ |
| | Raspberry Pi 4 (NodeJS / IPC) | |
| | MMM-ProfileSwitcher / MMM-Modules | |
| +-----------------+------------------+ |
| | |
| v |
| +------------------------------------+ |
| | Two-way Acrylic Mirror + LCD 24" | |
| | (Personalized Contextual Rendering)| |
| +------------------------------------+ |
+-------------------------------------------------------------------------------+
Mục tiêu của dự án
- Thiết kế phần cứng hoàn chỉnh: Kết hợp vi tính bảng Raspberry Pi 4 Model B, tấm gương Acrylic hai chiều và miếng dán cảm ứng điện dung 24-inch xuyên thấu qua kính.
- Xây dựng hệ thống nhận diện khuôn mặt Real-time: Ứng dụng mô hình học sâu và thuật toán trích xuất đặc trưng HOG (Histogram of Oriented Gradients) trên nền tảng OpenCV/Dlib để định danh người dùng.
- Phát triển cơ chế điều khiển theo kịch bản (User-based Access Control): Tự động chuyển đổi hồ sơ giao diện (Profile Switching) tương ứng với từng thành viên được nhận diện (sở thích đọc báo, danh sách phát nhạc cá nhân).
- Tích hợp truyền thông đa phương tiện: Hỗ trợ tính năng truyền hình ảnh/video từ điện thoại lên gương (MMM-Screencast, MMM-SmartwebDisplay) và ứng dụng di động điều khiển từ xa qua giao thức HTTP REST API / WebSocket.
Phạm vi và giới hạn hệ thống
- Phạm vi ứng dụng: Triển khai thử nghiệm trong môi trường căn hộ thông minh, phòng tắm, bàn trang điểm hoặc sảnh đón tiếp khách sạn cao cấp.
- Giới hạn kỹ thuật: Hệ thống yêu cầu điều kiện ánh sáng môi trường đồng đều để đảm bảo độ chính xác nhận diện khuôn mặt; kích thước màn hình hiển thị được tối ưu hóa cho khung gương 24-inch.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng và giải pháp đối sánh
| Tiêu chí so sánh |
MagicMirror² Mặc định |
Gương thương mại (RoyalMirror / Dehome) |
Giải pháp của Đề tài |
| Cá nhân hóa giao diện |
Không (Giao diện tĩnh cố định) |
Thủ công qua nút bấm cứng |
Tự động theo Profile khuôn mặt (HOG/DNN) |
| Phương thức điều khiển |
Bàn phím/Chuột ngoại vi |
Điều khiển từ xa (IR/RF) cơ bản |
Cảm ứng xuyên kính + App Di động + Nhận diện khuôn mặt |
| Truyền nội dung không dây |
Không hỗ trợ |
Kết nối Bluetooth Audio đơn thuần |
Truyền màn hình YouTube / Web trực tiếp qua Wi-Fi |
| Khả năng mở rộng Module |
Đòi hỏi can thiệp code tay |
Đóng kín (Proprietary Firmware) |
Kiến trúc IPC Event-driven, quản lý qua PM2 |
| Chi phí sản xuất |
Thấp (chỉ phần mềm) |
Rất cao (>15.000.000 VNĐ) |
Tối ưu theo chi phí phần cứng linh kiện (~5.000.000 VNĐ) |
Phân tích yêu cầu hệ thống theo mô hình MoSCoW
- Must-have (Bắt buộc phải có): Nhận diện khuôn mặt thời gian thực; tự động đổi layout theo từng profile; hiển thị thời gian, thời tiết, tin tức RSS; tương tác cảm ứng trực tiếp trên mặt kính.
- Should-have (Nên có): Điều khiển gương qua ứng dụng di động qua mạng LAN; chia sẻ video YouTube và duyệt web đồng bộ từ smartphone.
- Could-have (Có thể mở rộng): Tùy chỉnh danh sách phát nhạc MP3 theo thư mục người dùng; hiệu ứng tương tác thị giác khi chạm (hover effects).
- Won't-have (Chưa thực hiện trong giai đoạn này): Nhận diện giọng nói phức tạp tiếng Việt offline; quét chỉ số sức khỏe sinh học chuyên sâu bằng radar milimet.
+--------------------------------------------------------------------------------+
| SYSTEM ARCHITECTURE & DATA FLOW |
| |
| [Hardware Layer] |
| +-------------------+ +------------------+ +----------------------+ |
| | Touch Film 24" | | PS3 Eye Camera | | Audio Output/Speaker | |
| | (USB Controller) | | (Video Stream) | | (3.5mm / USB Jack) | |
| +---------+---------+ +--------+---------+ +----------+-----------+ |
| | | ^ |
| v v | |
| [OS & Runtime Layer - Raspberry Pi 4 OS (Linux ARMv7l)] | |
| | | | |
| v v | |
| +--------------------+ +-------------------+ | |
| | Touch Event Driver | | OpenCV 4.1 / Dlib | | |
| | (X11 Touch Input) | | HOG Face Extractor| | |
| +---------+----------+ +---------+---------+ | |
| | | | |
| | v | |
| | +-------------------+ | |
| | | User Profile ID | | |
| | +---------+---------+ | |
| | | | |
| v v | |
| [Application Engine Layer - Electron Chromium & NodeJS] | |
| +----------------------------------------------------------+ | |
| | MagicMirror Core Engine (Node Helper & IPC Bridge) | | |
| | - Notification Bus: `sendNotification` / `sendSocket` +--+ |
| +--------------------------+-------------------------------+ |
| | |
| v |
| [Module Execution Layer] |
| +-------------------+ +-------------------+ +--------------------+ |
| | MMM-ProfileSwitch | | MMM-Screencast | | MMM-Remote-Control | |
| | (Layout Renderer) | | (YouTube Casting) | | (HTTP/REST & WS) | |
| +-------------------+ +-------------------+ +--------------------+ |
| | MMM-CustomNews | | MMM-MusicPlayer | | Interactive Touch | |
| | (Multi-Instance) | | (Custom MP3 UI) | | UI/UX Menu Layers | |
| +-------------------+ +-------------------+ +--------------------+ |
+--------------------------------------------------------------------------------+
Technology Stack chi tiết
- Bộ xử lý trung tâm (SBC): Raspberry Pi 4 Model B (Broadcom BCM2711, Quad-core Cortex-A72 ARM v8 64-bit SoC @ 1.5GHz, RAM 4GB LPDDR4).
- Mặt hiển thị & Kính phản xạ: Kính Acrylic hai chiều (độ phản xạ quang học 80-90%, độ truyền sáng 10-20%) kết hợp màn hình LCD 24-inch qua cổng Micro-HDMI to HDMI.
- Cảm ứng xuyên thấu: Tấm phim Interactive Touch Film Through Glass 24-inch (chuẩn cảm ứng điện dung, 2784 điểm cảm biến, độ phân giải nhận diện <2mm, thời gian phản hồi <2ms, độ dày hỗ trợ 0-12mm).
- Camera & Âm thanh: Sony PS3 Eye Camera (tích hợp cụm 4 microphone định hướng) kết nối qua giao tiếp USB 2.0; Loa ngoài qua cổng 3.5mm AUX/USB.
- Nền tảng phần mềm:
- Hệ điều hành: Raspberry Pi OS (Debian-based Linux kernel).
- Runtime Engine: Node.js (V8 Engine) kết hợp Electron Framework (Chromium rendering container).
- Trình quản lý tiến trình: PM2 Process Manager v5.x.
- Thị giác máy tính: OpenCV v4.1.x, Dlib C++ Machine Learning Toolkit (Python bindings).
- Giao thức kết nối: HTTP REST API, WebSocket (
ws://), Inter-Process Communication (IPC).
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
1. Thuật toán nhận diện khuôn mặt và ánh xạ kịch bản (MMM-Face-Reco-DNN)
Hệ thống sử dụng kỹ thuật trích xuất đặc trưng HOG kết hợp phân loại khoảng cách vector đặc trưng để tối ưu hóa hiệu năng tính toán trên chip ARM:
- Thu nhận luồng ảnh: Đọc khung hình trực tiếp từ PS3 Camera với độ phân giải 640x480 pixel.
- Phát hiện vùng mặt: Sử dụng bộ phân loại HOG (Histogram of Oriented Gradients) để xác định bounding box của khuôn mặt trong ảnh.
- Cắt và chuẩn hóa (Crop & Alignment): Tách vùng khuôn mặt và đưa về kích thước ma trận pixel chuẩn của mô hình.
- Trích xuất Vector đặc trưng (Embedding): Mô hình tính toán sinh ra vector 128 chiều đại diện cho cấu trúc khuôn mặt.
- So khớp cơ sở dữ liệu: Hệ thống lưu trữ 5 vector đặc trưng cho mỗi người dùng (các góc: chính diện, nghiêng trái, nghiêng phải, hơi ngửa, hơi cúi). Tính toán khoảng cách Euclidean giữa vector hiện tại và dữ liệu mẫu:
$$\text{Distance} = \sqrt{\sum_{i=1}^{128} (v_{\text{current}, i} - v_{\text{database}, i})^2}$$
Nếu khoảng cách nhỏ hơn ngưỡng định trước ($\text{Threshold} \le 0.6$), ID của người dùng được xác lập và gửi tín hiệu IPC đến hệ thống lõi. Nếu không khớp, hệ thống tự động gán lớp người dùng mặc định (Default/Guest Profile).
# Pseudo-code logic nhận diện và phát tín hiệu chuyển đổi Profile
import cv2
import dlib
import numpy as np
detector = dlib.get_frontal_face_detector()
sp = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
facerec = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat")
def identify_user(frame, known_encodings, known_names, threshold=0.6):
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = detector(gray, 0)
for face in faces:
shape = sp(frame, face)
face_descriptor = np.array(facerec.compute_face_descriptor(frame, shape))
# Tính khoảng cách Euclidean
distances = np.linalg.norm(known_encodings - face_descriptor, axis=1)
min_idx = np.argmin(distances)
if distances[min_idx] < threshold:
return known_names[min_idx]
return "default_user"
2. Kiến trúc Module và vòng đời thực thi (MagicMirror Core Lifecycle)
Mỗi module hiển thị trên màn hình được hiện thực thông qua tệp giao diện modulename.js và tệp xử lý backend node_helper.js thông qua cơ chế IPC Socket:
// Cấu trúc đăng ký Module và xử lý nhận diện kịch bản (MMM-CustomNews.js)
Module.register("MMM-CustomNews", {
defaults: {
updateInterval: 300000, // 5 phút
currentUser: "default"
},
start: function() {
Log.info("Module " + this.name + " đã được khởi tạo thành công.");
this.sendSocketNotification("CONFIG", this.config);
},
// Lắng nghe thông báo từ module nhận diện khuôn mặt
notificationReceived: function(notification, payload, sender) {
if (notification === "CURRENT_USER_CHANGED") {
this.config.currentUser = payload;
this.sendSocketNotification("FETCH_USER_NEWS", payload);
}
},
// Nhận dữ liệu tin tức đã lọc từ node_helper qua IPC
socketNotificationReceived: function(notification, payload) {
if (notification === "NEWS_ITEMS_READY") {
this.newsData = payload;
this.updateDom(300); // Cập nhật lại DOM với hiệu ứng mượt 300ms
}
},
// Render giao diện HTML DOM trên màn hình gương
getDom: function() {
var wrapper = document.createElement("div");
wrapper.className = "custom-news-container";
if (!this.newsData) {
wrapper.innerHTML = "Đang tải dữ liệu kịch bản cho: " + this.config.currentUser;
return wrapper;
}
var title = document.createElement("div");
title.className = "news-title bright medium";
title.innerHTML = this.newsData.title;
wrapper.appendChild(title);
var btnPrev = document.createElement("button");
btnPrev.innerHTML = "◀ Tin trước";
btnPrev.onclick = () => this.sendSocketNotification("PREV_NEWS");
wrapper.appendChild(btnPrev);
var btnNext = document.createElement("button");
btnNext.innerHTML = "Tin sau ▶";
btnNext.onclick = () => this.sendSocketNotification("NEXT_NEWS");
wrapper.appendChild(btnNext);
return wrapper;
}
});
// File backend node_helper.js xử lý logic truy vấn RSS và điều khiển phần cứng
var NodeHelper = require("node_helper");
var fetch = require("node-fetch");
module.exports = NodeHelper.create({
start: function() {
console.log("MMM-CustomNews helper đã kích hoạt.");
},
socketNotificationReceived: function(notification, payload) {
if (notification === "FETCH_USER_NEWS") {
this.fetchFeedsForUser(payload);
}
},
fetchFeedsForUser: function(userProfile) {
var feedUrl = "https://vnexpress.net/rss/tin-moi-nhat.rss";
if (userProfile === "Dung") {
feedUrl = "https://vnexpress.net/rss/so-hoa.rss"; // Kịch bản tin công nghệ
} else if (userProfile === "TrungAnh") {
feedUrl = "https://vnexpress.net/rss/kinh-doanh.rss"; // Kịch bản tin kinh tế
}
fetch(feedUrl)
.then(res => res.text())
.then(data => {
// Phân tích cú pháp RSS XML và gửi lại client
this.sendSocketNotification("NEWS_ITEMS_READY", { title: "Tin tức tối ưu cho " + userProfile, raw: data });
})
.catch(err => console.error("Lỗi truy vấn tin tức:", err));
}
});
Kết quả thử nghiệm và đánh giá thực nghiệm
1. Đánh giá phần cứng và độ trễ tương tác
- Miếng dán cảm ứng xuyên kính 24-inch:
- Tốc độ đáp ứng đo đạc: $\le 2.0\text{ ms}$ (không phát hiện độ trễ bằng mắt thường khi lướt chạm).
- Độ chính xác vị trí chạm qua lớp kính 4mm: sai số $\le 1.8\text{ mm}$.
- Tỷ lệ truyền sáng thực tế: $90.2%$, đảm bảo độ tương phản hoàn hảo của màn hình LED bên dưới lớp gương phản xạ.
- Hệ thống xử lý trung tâm (Raspberry Pi 4):
- Thời gian khởi động toàn bộ ứng dụng từ lúc cấp nguồn (via PM2 bootloader): $14.8\text{ giây}$.
- Mức tiêu thụ bộ nhớ RAM: $820\text{ MB} / 4\text{ GB}$ khi vận hành 8 modules đồng thời.
- Tải CPU trung bình ở trạng thái nhận diện: $28-35%$, nhiệt độ duy trì ổn định $48^\circ\text{C}-53^\circ\text{C}$ nhờ hệ thống quạt tản nhiệt chủ động.
+-------------------------------------------------------------------------------+
| PERFORMANCE BENCHMARK SUMMARY |
| |
| Touch Response Time (ms) : [==] 2.0 ms |
| Touch Accuracy Precision (mm) : [===] 1.8 mm |
| Face Reco Identification (s) : [========] 0.85 s |
| System Boot Time (PM2) (s) : [================] 14.8 s |
| RAM Usage (8 Active Modules) : [=========] 820 MB / 4096 MB |
| Optical Light Transmission : [===================] 90.2% |
+-------------------------------------------------------------------------------+
2. Kết quả kiểm thử kịch bản người dùng thực tế
| Kịch bản thực nghiệm |
Người dùng kích hoạt |
Hành vi hệ thống tự động |
Thời gian chuyển đổi |
| Kịch bản 1 |
Sinh viên Dũng |
Hiển thị tin công nghệ (Số Hóa), mở playlist Lo-Fi phát triển phần mềm, tải lịch trình cá nhân. |
0.85 giây |
| Kịch bản 2 |
Sinh viên Trung Anh |
Tải chuyên mục Tin kinh doanh & Thị trường, hiển thị danh sách công việc ưu tiên, giao diện dark mode. |
0.90 giây |
| Kịch bản 3 |
Người dùng An |
Hiển thị dự báo thời tiết chi tiết, lịch hẹn làm đẹp, tin tức giải trí tổng hợp. |
0.82 giây |
| Kịch bản 4 |
Người lạ / Chưa đăng ký |
Kích hoạt giao diện mặc định (Default Guest): đồng hồ lớn, thời tiết cơ bản, tin tức thời sự chung. |
Tức thì (Fallback) |
Đổi mới và đóng góp
- Cơ chế kiểm soát truy cập và hiển thị theo ngữ cảnh (Contextual Access Control): Khác biệt hoàn toàn với các dòng gương thông minh mã nguồn mở truyền thống vốn chỉ cung cấp màn hình thông tin tĩnh, hệ thống đã ứng dụng thành công thuật toán thị giác máy tính HOG/DNN để tự động hóa hoàn toàn quy trình chuyển đổi giao diện cá nhân hóa không cần chạm.
- Tích hợp cảm ứng điện dung xuyên kính chi phí tối ưu: Nhóm đã nghiên cứu và ứng dụng thành công công nghệ Interactive Touch Film dán trực tiếp dưới bề mặt kính hai chiều, mang lại khả năng tương tác đa điểm (10-20 điểm chạm) với độ nhạy cao ($\le 2\text{ms}$), loại bỏ sự phụ thuộc vào chuột, bàn phím hoặc giọng nói dễ bị nhiễu âm thanh môi trường.
- Cơ chế truyền thông không dây kép (Screencast & Remote Control): Hiện thực hóa khả năng chiếu trực tiếp luồng phát video YouTube và đồng bộ hóa trình duyệt web di động lên gương thông minh thông qua các module
MMM-Screencast và MMM-SmartwebDisplay. Đồng thời phát triển ứng dụng di động điều khiển bật/tắt module và tinh chỉnh cấu hình từ xa qua HTTP REST API và WebSocket.
Ứng dụng thực tế và triển khai
Trường hợp sử dụng thực tế (Use Cases)
- Căn hộ gia đình thông minh: Lắp đặt tại phòng tắm hoặc phòng ngủ. Mỗi thành viên trong gia đình khi đứng trước gương đánh răng, vệ sinh buổi sáng sẽ tự động nhận được thông tin lịch trình, tình hình giao thông, thời tiết và danh sách công việc cá nhân hóa của riêng mình.
- Khách sạn và Khu nghỉ dưỡng cao cấp (Luxury Hospitality): Đóng vai trò là cổng thông tin tương tác (Interactive Concierge), nhận diện khách lưu trú để chào đón theo tên, hiển thị hóa đơn dịch vụ, đề xuất menu ăn uống và thông tin tour du lịch địa phương.
- Cửa hàng thời trang & Bán lẻ thông minh (Smart Retail): Hỗ trợ khách hàng tra cứu thông tin sản phẩm, phối đồ ảo và xem video hướng dẫn làm đẹp trực tiếp trên mặt kính.
Dự toán chi phí và phân tích hiệu quả kinh tế (BOM & ROI)
+-------------------------------------------------------------------------------+
| BILL OF MATERIALS (BOM) COST BREAKDOWN |
| |
| 1. Raspberry Pi 4 Model B (4GB RAM) : 1.850.000 VNĐ [=================] |
| 2. Màn hình hiển thị LCD 24-inch : 1.500.000 VNĐ [==============] |
| 3. Tấm phim cảm ứng xuyên kính 24" : 1.200.000 VNĐ [===========] |
| 4. Tấm gương Acrylic 2 chiều + Khung gỗ : 600.000 VNĐ [======] |
| 5. PS3 Eye Camera & Loa công suất : 250.000 VNĐ [==] |
| 6. Mạch nguồn, quạt tản nhiệt, phụ kiện : 200.000 VNĐ [=] |
| |
| TOTAL HARDWARE PROTOTYPE COST : 5.600.000 VNĐ |
+-------------------------------------------------------------------------------+
So với các giải pháp thương mại nhập khẩu có giá từ 15 đến 25 triệu VNĐ, giải pháp tự thiết kế giúp giảm hơn 65% chi phí đầu tư phần cứng, đồng thời cho phép bảo trì, nâng cấp phần mềm linh hoạt mà không bị phụ thuộc vào nhà cung cấp độc quyền.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phụ thuộc điều kiện ánh sáng: Độ chính xác của thuật toán nhận diện khuôn mặt HOG giảm khoảng $12-15%$ trong điều kiện môi trường quá tối hoặc bị ngược sáng mạnh.
- Tải đồ họa trên nền tảng nhúng: Khi phát đồng thời video độ phân giải cao 1080p qua Screencast kết hợp xử lý thị giác máy tính, nhiệt độ chip Broadcom BCM2711 có xu hướng tăng nhanh, đòi hỏi hệ thống tản nhiệt hoạt động liên tục.
Hướng phát triển tiếp theo
- Tích hợp bộ xử lý thần kinh chuyên dụng (NPU Edge Computing): Bổ sung USB Coral TPU hoặc nâng cấp lên Raspberry Pi 5 để chạy các mạng nơ-ron nhận diện khuôn mặt chuyên sâu (MobileNet, FaceNet) với độ chính xác $>99%$.
- Tích hợp trợ lý ảo tiếng Việt: Tích hợp mô hình xử lý ngôn ngữ tự nhiên tiếng Việt cục bộ (Offline NLP) sử dụng Porcupine Wake Word và Vosk Speech Engine để kết hợp điều khiển giọng nói song song với cảm ứng.
- Tích hợp cảm biến radar sinh học: Mở rộng module theo dõi nhịp tim và chất lượng giấc ngủ không xâm lấn đặt sau tấm kính.
Đố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 thực tế về quy trình phát triển sản phẩm nhúng hoàn chỉnh từ thiết kế cơ khí, schematic ra chân phần cứng đến lập trình ứng dụng NodeJS/Electron và thị giác máy tính trên Linux.
- Kỹ sư & Lập trình viên IoT: Nắm bắt mô hình kiến trúc giao tiếp tiến trình (IPC), kỹ thuật quản lý luồng bằng PM2, và phương pháp xử lý DOM bất đồng bộ trong các hệ thống màn hình tương tác.
- Doanh nghiệp & Đơn vị sản xuất nội thất thông minh: Sở hữu giải pháp mẫu (Reference Design) có tính khả thi cao, chi phí cạnh tranh để thương mại hóa các dòng sản phẩm Smart Home cho thị trường Việt Nam.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu bo mạch tối thiểu là Raspberry Pi 3 Model B+ (khuyến nghị Raspberry Pi 4 Model B với 4GB RAM để đảm bảo đa nhiệm mượt mà), nguồn điện chuẩn 5V-3A USB-C, thẻ nhớ MicroSD tối thiểu 32GB Class 10 (tốc độ đọc ghi $>80\text{ MB/s}$), PS3 Eye Camera và màn hình LCD hỗ trợ đầu vào HDMI.
2. Tấm dán cảm ứng có hoạt động tốt qua mặt kính dày không?
Miếng dán Interactive Touch Film sử dụng nguyên lý cảm ứng điện dung vi sai qua kính (Through-Glass Capacitive), hỗ trợ độ dày mặt kính/acrylic từ $0\text{ mm}$ đến $12\text{ mm}$ mà không làm suy giảm độ nhạy và thời gian đáp ứng ($\le 2\text{ ms}$).
3. Làm thế nào để thêm một Profile người dùng mới vào hệ thống?
Người quản trị chỉ cần chạy script huấn luyện thu thập 5 ảnh khuôn mặt ở các góc độ khác nhau thông qua camera, hệ thống sẽ tự động trích xuất vector đặc trưng 128 chiều, lưu vào tệp dữ liệu khuôn mặt và tạo cấu hình kịch bản tương ứng trong tệp config/config.js.
4. Hệ thống xử lý sự cố sập ứng dụng (Crash) như thế nào?
Hệ thống tích hợp trình quản lý tiến trình PM2 chạy nền dưới quyền dịch vụ hệ thống (Systemd Service). Bất kỳ khi nào tiến trình Electron hoặc Node Helper gặp lỗi ngoại lệ, PM2 sẽ tự động khởi động lại ứng dụng trong vòng chưa đầy $2\text{ giây}$ mà không cần can thiệp thủ công.
5. Khả năng bảo mật thông tin khuôn mặt người dùng được đảm bảo ra sao?
Toàn bộ quá trình tính toán và so khớp vector đặc trưng khuôn mặt đều diễn ra cục bộ (On-device Edge Processing) trên bo mạch Raspberry Pi trong mạng nội bộ. Hệ thống không tải dữ liệu hình ảnh người dùng lên bất kỳ máy chủ đám mây (Cloud) nào, đảm bảo tối đa quyền riêng tư cá nhân.
Kết luận
Đề tài "Thiết kế gương thông minh điều khiển theo kịch bản người dùng" đã hoàn thành xuất sắc các mục tiêu đề ra, hiện thực hóa thành công một sản phẩm phần cứng - phần mềm nhúng hoàn chỉnh với độ ổn định cao. Bằng việc kết hợp sáng tạo giữa vi tính bảng Raspberry Pi 4, tấm gương Acrylic hai chiều, màng cảm ứng xuyên kính điện dung và thuật toán nhận diện khuôn mặt HOG/OpenCV, công trình đã giải quyết triệt để bài toán cá nhân hóa trải nghiệm người dùng trong không gian sống hiện đại. Đây là bước đệm vững chắc đóng góp vào kho tàng nghiên cứu ứng dụng công nghệ IoT và mở ra tiềm năng thương mại hóa mạnh mẽ cho các thiết bị nội thất thông minh tại Việt Nam.