Giới thiệu dự án

Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy mạnh mẽ quá trình chuyển dịch số hóa trong đời sống sinh hoạt, trong đó Internet of Things (IoT) và Nhà thông minh (Smart Home) đóng vai trò then chốt. Theo báo cáo từ tổ chức nghiên cứu thị trường ABI Research, số lượng hệ thống Smart Home lắp đặt toàn cầu đã tăng trưởng vượt bậc từ 1,5 triệu hệ thống (năm 2012) lên hơn 8 triệu hệ thống (năm 2017) và tiếp tục duy trì tốc độ tăng trưởng kép hàng năm (CAGR) trên 25%. Xu hướng tương tác giữa con người và thiết bị đang chuyển dịch nhanh chóng từ điều khiển cơ học truyền thống hoặc chạm cảm ứng sang Giao diện giọng nói tự nhiên (Natural Voice User Interface - VUI).

Tuy nhiên, phần lớn các hệ thống nhà thông minh thương mại hiện nay vẫn tồn tại nhiều rào cản kỹ thuật và trải nghiệm người dùng:

  • Thao tác thủ công phức tạp: Việc mở ứng dụng, tìm kiếm phân vùng phòng và kích hoạt từng công tắc tiêu tốn từ 10-15 giây cho mỗi tác vụ, gây bất tiện lớn trong sinh hoạt hàng ngày.
  • Rào cản tiếp cận: Người cao tuổi, trẻ em hoặc người khuyết tật vận động gặp nhiều trở ngại khi tương tác với các giao diện đồ họa (GUI) nhiều tầng menu.
  • Thiếu đồng bộ thời gian thực (Real-time Synchronization): Dữ liệu trạng thái giữa ứng dụng di động, máy chủ quản lý và phần cứng ngoại vi thường xuyên xảy ra xung đột hoặc có độ trễ lớn.
  • Chi phí triển khai cao: Các giải pháp đóng gói quốc tế đòi hỏi chi phí bản quyền và thiết bị đắt đỏ, chưa tối ưu hóa tốt cho ngữ cảnh ngôn ngữ tiếng Việt.

Đồ án tốt nghiệp "Xây dựng ứng dụng điều khiển IoTs bằng giọng nói" được thực hiện bởi sinh viên Huỳnh Văn Khen và Đặng Trương Duy Quang (Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh - HCMUTE) dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung. Đề tài tập trung giải quyết triệt để các vấn đề trên thông qua việc thiết kế hệ sinh thái điều khiển thiết bị thông minh đa kênh (giọng nói, văn bản và nút bấm) với độ trễ thấp và chi phí tối ưu.

Mục tiêu cụ thể của dự án:

  1. Xây dựng ứng dụng di động Android native tích hợp module chuyển đổi giọng nói thành văn bản (RecognizerIntent) và giao tiếp đám mây.
  2. Thiết kế và huấn luyện tác tử xử lý ngôn ngữ tự nhiên (Natural Language Understanding - NLU) trên nền tảng Google Dialogflow (API.AI) hỗ trợ các mẫu câu khẩu lệnh tiếng Việt chuyên biệt.
  3. Phát triển hệ thống Backend RESTful API bằng ngôn ngữ C# trên nền tảng .NET Framework kết hợp hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
  4. Tích hợp và điều khiển phần cứng thực tế sử dụng vi điều khiển ESP8266 và công tắc cảm ứng điện dung Lumi LM-S1/2/3/4, đảm bảo khả năng đồng bộ trạng thái hai chiều theo thời gian thực.

Phạm vi nghiên cứu tập trung vào hệ thống điều khiển và giám sát các thiết bị đóng cắt điện gia dụng (đèn chiếu sáng, quạt, ổ cắm) trong môi trường mạng không dây Wi-Fi 2.4GHz, hỗ trợ các thiết bị di động chạy hệ điều hành Android từ phiên bản 5.0 (Lollipop) trở lên.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát thực tế các ứng dụng nhà thông minh phổ biến trên thị trường cho thấy bức tranh phân hóa rõ rệt về tính năng và trải nghiệm người dùng:

Giải pháp Điểm đánh giá (Store) Ưu điểm Nhược điểm & Hạn chế
TELUS SmartHome 3.8 / 5.0 (108 reviews) Giao diện thân thiện, bảo mật cao, điều khiển thiết bị chính xác. Hệ sinh thái đóng, phụ thuộc hạ tầng nhà mạng, chi phí duy trì hàng tháng cao.
Samsung Smart Home 2.6 / 5.0 (8,209 reviews) Kết nối đa dạng thiết bị trong hệ sinh thái Samsung (TV, tủ lạnh, máy giặt). Yêu cầu quá nhiều quyền riêng tư nhạy cảm (danh bạ, vị trí, mạng xã hội); giao diện cồng kềnh.
Tuya Smart / Smart Life 3.8 / 5.0 (14,826 reviews) Quản lý số lượng lớn thiết bị, hỗ trợ nhiều nhà sản xuất OEM, thống kê điện năng. Thường xuyên gặp lỗi ngắt kết nối đột ngột; máy chủ quốc tế đôi khi gây trễ lệnh tại Việt Nam.

Phân tích yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have (Bắt buộc): Nhận diện giọng nói tiếng Việt chuyển đổi thành lệnh điều khiển; hỗ trợ 3 nhóm lệnh cốt lõi (bật/tắt theo tên thiết bị, bật/tắt toàn bộ, bật/tắt theo số thứ tự/vị trí); đồng bộ trạng thái đa kênh (App - Backend - Phần cứng); bảo mật mã hóa mật khẩu người dùng.
  • Should have (Nên có): Giao diện Chatbot văn bản tương tác trực tiếp; cơ chế hẹn thời gian yêu cầu đăng nhập lại (1 tuần, 1 tháng hoặc không hỏi lại); phân quyền người dùng và quản trị viên (Admin/User).
  • Could have (Có thể có): Quản lý cấu trúc phân cấp theo dự án (Projects/Scenes) và khu vực lắp đặt; chức năng sinh mã nạp cấu hình tự động cho vi điều khiển ESP8266.
  • Won't have (Chưa thực hiện): Xử lý nhận dạng giọng nói ngoại tuyến hoàn toàn (Offline NLU) khi mất kết nối Internet.

Thiết kế hệ thống

Hệ thống được xây dựng theo kiến trúc 3 tầng phân tán (Client - Cloud/Server - Hardware Layer) tích hợp dịch vụ trí tuệ nhân tạo:

[ Người dùng (Voice/Text/Touch) ]
               │
               ▼
   [ Android Client App (Java) ] ──(Audio/Text)──► [ Google Speech & Dialogflow (NLU) ]
               │                                                    │
        (HTTP REST Request)                                    (JSON Action)
               │                                                    │
               ▼                                                    ▼
   [ ASP.NET Web API (C#) ] ◄───────────────────────────────────────┘
               │
      ┌────────┴────────┐
      ▼                 ▼
[ MS SQL Server ]   [ ESP8266 Controller ] ──(GPIO/Relay)──► [ Công tắc Lumi / Thiết bị tải ]

Ngũ công nghệ triển khai chi tiết:

  • Mobile Client: Android Studio 3.x, Android SDK (API 21 - 28), Java 8, Google Voice RecognizerIntent, HTTP Client Library.
  • AI / NLU Engine: Google Dialogflow REST API v1/v2, tích hợp Intent Classifier và Entity Extractor.
  • Backend Services: C# .NET Framework 4.6.1, ASP.NET Web API 2.0, Entity Framework 6.x, JSON.NET (Newtonsoft.Json).
  • Database: Microsoft SQL Server 2014 Express/Standard Edition.
  • Hardware & Firmware: Vi điều khiển ESP8266 NodeMCU Wi-Fi SoC (80MHz, 4MB Flash), Firmware viết bằng C++ trên nền tảng Arduino IDE (ESP8266 Core v2.4.2), Công tắc cảm ứng điện dung Lumi LM-S1/2/3/4 tích hợp Module chuyển mạch Relay 220V/10A.

Thiết kế cơ sở dữ liệu quan hệ gồm các thực thể chính:

  • AspNetUser: Quản lý tài khoản, mã hóa bảo mật thông tin định danh và token phiên làm việc.
  • Tb_UserType & Tb_Permission: Quản lý vai trò (Admin, Member, Guest) và ma trận phân quyền chi tiết.
  • Tb_Projects: Quản lý danh mục các dự án/ngôi nhà của từng tài khoản người dùng.
  • Tb_Devices: Lưu trữ danh sách các bo mạch điều khiển ESP8266, địa chỉ MAC, IP và trạng thái kết nối mạng.
  • Tb_Switches: Quản lý chi tiết từng cổng relay/công tắc, gồm SwitchID, DeviceID, SwitchName (tên gán như "đèn chùm", "quạt trần"), PositionIndex (vị trí 1, 2, 3...) và Status (Boolean: 0 - Tắt, 1 - Bật).

Methodology

Quy trình phát triển được triển khai theo mô hình Iterative kết hợp Agile với 13 mốc thực hiện từ ngày 15/02/2019 đến 01/07/2019:

  1. Khảo sát & Đặc tả (15/02 - 22/02): Khảo sát hiện trạng thị trường, mô hình hóa Use Case và phân tích yêu cầu nghiệp vụ.
  2. Thiết kế CSDL & UI (23/02 - 01/03): Thiết kế sơ đồ E-R database SQL Server và wireframe giao diện Android.
  3. Nghiên cứu công nghệ (02/03 - 10/03): Đánh giá Google API, giao thức HTTP Web API và kiến trúc phần cứng ESP8266.
  4. Bảo mật & Phân luồng (11/03 - 26/03): Xây dựng module mã hóa mật khẩu, phân luồng bất đồng bộ (Asynchronous Task) trên Android.
  5. Huấn luyện Dialogflow Agent (05/04 - 14/04): Xây dựng các Intent batTheoTen, tatTheoTen, batTatCa, tatTatCa, batViTri, tatViTri và định nghĩa Entity @sys.any, @sys.number.
  6. Tích hợp Voice & REST API (15/04 - 05/05): Kết nối RecognizerIntent với Dialogflow, bóc tách JSON payload và thực thi điều khiển phần cứng.
  7. Kiểm thử, gỡ lỗi & Đóng gói (06/05 - 01/07): Xử lý triệt để lỗi bất đồng bộ CSDL, tối ưu UI/UX và nghiệm thu thực tế.

Implementation và kết quả

Development process

Trọng tâm của hệ thống xử lý giọng nói nằm ở luồng chuyển đổi đa tầng từ sóng âm thành tín hiệu điều khiển logic:

  1. Người dùng kích hoạt Micro trên giao diện SwitchActivity, ứng dụng gọi RecognizerIntent.ACTION_RECOGNIZE_SPEECH với ngôn ngữ vi-VN để ghi âm và chuyển thành chuỗi văn bản.
  2. Chuỗi văn bản được đóng gói gửi qua HTTP POST đến endpoint của Dialogflow Agent.
  3. Dialogflow phân tích ngữ nghĩa qua mô hình học máy (Machine Learning), trích xuất Intent và Parameters, sau đó phản hồi lại Client cấu trúc JSON:
{
  "id": "eb021898-6a88-437f-8a01-c174f283ea5e-5b26cf67",
  "lang": "en",
  "sessionId": "bff8700c-792c-ffdf-1c8c-78c20df58daf",
  "timestamp": "2019-07-14T18:48:59.279Z",
  "result": {
    "source": "agent",
    "resolvedQuery": "bật đèn",
    "action": "batTheoTen",
    "actionIncomplete": false,
    "score": 1.0,
    "parameters": {
      "any": ["đèn"]
    },
    "metadata": {
      "intentId": "f9ed1115-e694-4a53-b80a-c14f93c059ef",
      "intentName": "bat theo ten"
    },
    "fulfillment": {
      "speech": "đèn đã được bật"
    }
  },
  "status": {
    "code": 200,
    "errorType": "success"
  }
}

Trên ứng dụng Android, module xử lý kết quả bóc tách đối tượng JSON và thực thi phân nhánh điều khiển thông qua thuật toán định tuyến hành động:

// Logic xử lý chuỗi Action và Parameter nhận từ Dialogflow
JsonObject result = jsonResponse.getAsJsonObject("result");
String action = result.get("action").getAsString();
JsonObject params = result.getAsJsonObject("parameters");

switch (action) {
    case "batTheoTen":
    case "tatTheoTen":
        String targetName = params.get("any").getAsJsonArray().get(0).getAsString().toLowerCase();
        boolean targetState = action.equals("batTheoTen");
        List<SwitchItem> matchedSwitches = findSwitchesByName(targetName);
        
        if (matchedSwitches.isEmpty()) {
            showVoiceResponse("Không tìm thấy thiết bị: " + targetName);
        } else if (matchedSwitches.size() == 1) {
            updateSwitchStatus(matchedSwitches.get(0).getId(), targetState);
            showVoiceResponse(targetName + (targetState ? " đã được bật" : " đã được tắt"));
        } else {
            // Trường hợp trùng tên thiết bị: Hiển thị dialog chọn lựa cho người dùng
            showDisambiguationDialog(matchedSwitches, targetState);
        }
        break;

    case "batTatCa":
    case "tatTatCa":
        boolean bulkState = action.equals("batTatCa");
        updateAllSwitchesStatus(currentProjectId, bulkState);
        showVoiceResponse(bulkState ? "Đã bật tất cả thiết bị" : "Đã tắt toàn bộ thiết bị");
        break;

    case "batViTri":
    case "tatViTri":
        int position = params.get("number").getAsInt();
        boolean posState = action.equals("batViTri");
        if (position >= 1 && position <= switchAdapter.getCount()) {
            SwitchItem item = switchAdapter.getItem(position - 1);
            updateSwitchStatus(item.getId(), posState);
        } else {
            showVoiceResponse("Vị trí số " + position + " không tồn tại");
        }
        break;

    default:
        showVoiceResponse("Xin lỗi, hệ thống chưa hiểu rõ câu lệnh của bạn.");
        break;
}

Testing và validation

Quá trình kiểm thử phần mềm được thực hiện nghiêm ngặt trên cả môi trường giả lập và phần cứng thực nghiệm:

Module Test Case ID Mục tiêu kiểm thử Dữ liệu đầu vào / Thao tác Kết quả kỳ vọng Trạng thái
Login TC_LOG_01 Xác thực đăng nhập hợp lệ Email và Password chính xác Chuyển vào Trang chủ, lưu token Passed (100%)
Login TC_LOG_02 Chặn truy cập sai mật khẩu Nhập mật khẩu sai Báo lỗi "Tài khoản hoặc mật khẩu không đúng" Passed (100%)
Switch TC_SW_01 Chạm nút bật/tắt trên UI Click vào Switch Item trên App Gửi API cập nhật, đổi màu trạng thái Switch, Relay đóng/ngắt Passed (100%)
Voice TC_VOC_01 Điều khiển bật theo tên Nói: "Bật đèn ngủ" Dialogflow nhận batTheoTen, đóng relay đèn ngủ, bot báo "Đèn ngủ đã được bật" Passed (96%)
Voice TC_VOC_02 Bật/tắt toàn bộ thiết bị Nói: "Tắt tất cả" Intent tatTatCa, ngắt toàn bộ relay trong Project Passed (98%)
Voice TC_VOC_03 Điều khiển theo số vị trí Nói: "Bật công tắc số 2" Intent batViTri, kích hoạt chính xác switch index = 2 Passed (95%)
Voice TC_VOC_04 Xử lý lệnh không xác định Nói: "Thời tiết hôm nay thế nào" Trả về fallback: "Xin lỗi mình gặp khó khăn khi hiểu câu hỏi..." Passed (100%)

Đo lường hiệu năng hệ thống (Benchmarks):

  • Thời gian xử lý nhận diện giọng nói (STT): Trung bình 420ms trên mạng 4G/Wi-Fi tiêu chuẩn.
  • Thời gian phân tích NLU trên Dialogflow: Trung bình 210ms.
  • Thời gian phản hồi của ASP.NET Web API & SQL: 115ms.
  • Thời gian trễ truyền gói tin tới ESP8266 & kích hoạt Relay: 85ms.
  • Tổng độ trễ End-to-End Voice Control: ~830ms (dưới 1 giây, đáp ứng hoàn hảo tiêu chuẩn trải nghiệm thời gian thực).

Kết quả đạt được

Đồ án đã hoàn thành 100% khối lượng công việc đặt ra trong đề cương:

  • Xây dựng thành công ứng dụng Android điều khiển thiết bị đa phương thức: Voice, Chatbot và Nút bấm cảm ứng trực quan.
  • Tỷ lệ nhận diện và khớp Intent chính xác đạt 94.5% đối với các mẫu câu khẩu lệnh tiếng Việt thông dụng.
  • Khắc phục hoàn toàn lỗi bất đồng bộ trạng thái giữa Web - Mobile App - Phần cứng vi điều khiển thông qua cơ chế đồng bộ hóa dữ liệu tập trung trên SQL Server.

Đổi mới và đóng góp

  1. Kiến trúc tích hợp Cloud NLU và Vi điều khiển chi phí thấp: Thay vì sử dụng các module phần cứng xử lý giọng nói đắt đỏ và hạn chế bộ nhớ từ vựng (như module VR3), hệ thống tận dụng sức mạnh điện toán đám mây của Google Dialogflow để hiểu ngôn ngữ tự nhiên linh hoạt, sau đó điều khiển vi điều khiển giá rẻ ESP8266 qua REST API.
  2. Cơ chế phân giải xung đột thông minh (Disambiguation Mechanism): Khi người dùng ra lệnh điều khiển các thiết bị có tên gọi trùng nhau (ví dụ: trong nhà có 2 "đèn"), hệ thống không thực thi ngẫu nhiên mà tự động mở hộp thoại phân loại để người dùng chọn chính xác thiết bị mong muốn, ngăn chặn triệt để rủi ro vận hành sai thiết bị điện.
  3. Hiệu quả tương tác vượt trội: Rút ngắn thời gian thao tác điều khiển thiết bị từ trung bình 12 giây (mở app -> tìm phòng -> cuộn danh sách -> gạt nút) xuống còn dưới 1.5 giây thông qua một khẩu lệnh duy nhất, cải thiện 87.5% tốc độ vận hành thực tế.
  4. Đóng góp học thuật: Đồ án cung cấp mô hình tham chiếu hoàn chỉnh cho sinh viên và kỹ sư phát triển phần mềm trong việc kết hợp lập trình ứng dụng di động Android, Web API C# .NET và phần cứng IoT nhúng.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng (Use Cases)

  • Tự động hóa nhà ở gia đình: Người dùng nằm trên giường hoặc đang bận nấu ăn có thể bật/tắt đèn phòng khách, quạt thông gió chỉ bằng giọng nói mà không cần di chuyển.
  • Hỗ trợ người cao tuổi và người khuyết tật: Giúp các đối tượng yếu thế tự chủ trong sinh hoạt thường nhật, giảm thiểu nguy cơ té ngã khi tìm công tắc điện trong bóng tối.
  • Quản lý phòng học, văn phòng thông minh: Giảng viên hoặc quản trị viên có thể sử dụng lệnh "Tắt tất cả" khi rời phòng để ngắt toàn bộ nguồn điện tiêu thụ không cần thiết.

Yêu cầu triển khai và Ước tính chi phí (BOM)

[ Nguồn cấp AC 220V ]
         │
         ▼
[ Module Hạ áp 220V -> 5V/1A ] ──► [ ESP8266 NodeMCU (3.3V LDO) ]
                                            │
                                      (GPIO Logic 3.3V)
                                            │
                                            ▼
                               [ Module Relay 4 kênh Cách ly Quang (Optocoupler) ]
                                            │
                                      (Tiếp điểm AC)
                                            │
                                            ▼
                               [ Thiết bị tải: Đèn / Quạt / Ổ cắm ]
  • Phần cứng cho 1 phòng tiêu chuẩn (4 kênh đóng cắt):
    • Bo mạch ESP8266 NodeMCU: 70.000 VNĐ.
    • Module Relay 4 kênh cách ly quang 5V/220V: 55.000 VNĐ.
    • Bộ nguồn hạ áp Hi-Link 220VAC sang 5VDC: 45.000 VNĐ.
    • Vỏ hộp kỹ thuật và linh kiện phụ trợ: 30.000 VNĐ.
    • Tổng chi phí phần cứng: ~200.000 VNĐ / phòng (thấp hơn 80% so với các giải pháp công tắc thông minh thương mại trên thị trường).
  • Phần mềm: Miễn phí triển khai ứng dụng Android; tận dụng gói miễn phí của Dialogflow Standard Tier và máy chủ cục bộ hoặc VPS giá rẻ.
  • Hiệu quả kinh tế (ROI): Tiết kiệm 15 - 25% lượng điện năng tiêu hao lãng phí từ các thiết bị quên tắt, hoàn vốn đầu tư phần cứng chỉ sau 3-5 tháng sử dụng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Phụ thuộc kết nối Internet: Do sử dụng Cloud STT và Dialogflow API, hệ thống không thể xử lý lệnh giọng nói khi mất kết nối Internet (mặc dù vẫn có thể điều khiển trực tiếp bằng tay trên nút cảm ứng Lumi).
  • Độ nhạy âm thanh môi trường: Trong môi trường có độ ồn cao (>75dB) hoặc người dùng phát âm đặc thù ngữ âm địa phương nặng, tỷ lệ nhận diện văn bản của STT bị suy giảm khoảng 10-15%.
  • Giao thức truyền thông: Hiện tại giao tiếp giữa App - Backend - ESP8266 chủ yếu dựa trên HTTP REST Polling, chưa tối ưu băng thông bằng các giao thức chuyên dụng cho IoT như MQTT hay WebSockets.

Hướng phát triển

  1. Nâng cấp giao thức truyền thông sang MQTT: Triển khai MQTT Broker (Mosquitto/EMQX) kết hợp WebSocket để đẩy dữ liệu hai chiều tức thời (Push Notification) với độ trễ dưới 50ms và giảm 90% tải băng thông máy chủ.
  2. Tích hợp mô hình xử lý giọng nói Offline tại biên (Edge AI): Nghiên cứu tích hợp TensorFlow Lite hoặc PocketSphinx trực tiếp trên ứng dụng di động để thực thi các khẩu lệnh cơ bản ngay cả khi mất mạng Internet.
  3. Mở rộng đa nền tảng: Phát triển phiên bản ứng dụng trên iOS bằng Flutter hoặc React Native; mở rộng kết nối với hệ sinh thái Google Home và Apple HomeKit qua chuẩn kết nối Matter/Zigbee.

Đối tượng hưởng lợi

  • Sinh viên & Học viên ngành CNTT/Kỹ thuật phần mềm: Là tài liệu học tập và đồ án mẫu xuất sắc về việc liên kết kiến thức đa ngành: Lập trình Android, Backend RESTful API, Điện toán đám mây AI và Hệ thống nhúng (Embedded IoT).
  • Lập trình viên & Kỹ sư IoT: Nắm bắt được mô hình kiến trúc thực tế trong việc bóc tách JSON intent từ Dialogflow để ánh xạ trực tiếp thành các tín hiệu điều khiển phần cứng GPIO.
  • Doanh nghiệp & Startup Smart Home: Có được khung kiến trúc giải pháp khả thi với chi phí BOM cực thấp, dễ dàng thương mại hóa và tùy biến theo nhận diện thương hiệu riêng.
  • Người dùng cuối (Đặc biệt là người cao tuổi/khuyết tật): Sở hữu giải pháp công nghệ nhà thông minh thuần Việt tiện lợi, an toàn, thân thiện và tiết kiệm chi phí sinh hoạt.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?

Về phía người dùng, chỉ cần điện thoại thông minh chạy hệ điều hành Android 5.0 (API 21) trở lên có kết nối Wi-Fi hoặc 3G/4G và micro hoạt động tốt. Về phía phần cứng, cần trang bị vi điều khiển ESP8266 đã nạp firmware, kết nối vào mạng Wi-Fi gia đình băng tần 2.4GHz và module Relay tương thích điện áp tải 220V.

2. Hệ thống có giới hạn số lượng thiết bị điều khiển không và mở rộng thế nào?

Hệ thống được thiết kế theo cấu trúc cơ sở dữ liệu quan hệ động (Tb_Projects -> Tb_Devices -> Tb_Switches), cho phép một tài khoản quản lý không giới hạn số lượng Project và Device. Khả năng mở rộng phụ thuộc vào năng lực chịu tải của máy chủ Backend và băng thông Router Wi-Fi cục bộ (thông thường một Router gia đình chịu tải tốt từ 20-30 node ESP8266).

3. Có thể tích hợp hệ thống vào các công tắc điện có sẵn trong gia đình không?

Hoàn toàn có thể. Module ESP8266 kết hợp Relay hoặc công tắc cảm ứng Lumi được thiết kế với kích thước chuẩn, tương thích với đế âm tường chữ nhật hoặc vuông phổ biến tại Việt Nam, cho phép đấu nối song song hoặc thay thế trực tiếp công tắc cơ truyền thống mà không cần đục phá hạ tầng dây điện sẵn có.

4. Chi phí duy trì và bảo trì hệ thống hàng tháng là bao nhiêu?

Chi phí vận hành gần như bằng 0 đối với quy mô hộ gia đình, do ứng dụng tận dụng gói dịch vụ miễn phí (Free Tier) của Google Dialogflow và Google Speech API. Máy chủ Backend có thể chạy trực tiếp trên máy tính nội mạng hoặc thuê máy chủ ảo (Cloud VPS) giá rẻ với chi phí chỉ từ 50.000 - 100.000 VNĐ/tháng cho hàng trăm hộ sử dụng đồng thời.

5. Khả năng bảo mật thông tin và quyền riêng tư của hệ thống ra sao?

Mật khẩu người dùng được băm và mã hóa an toàn trong CSDL SQL Server. Hệ thống không ghi âm liên tục ở chế độ nền (Background Listening) mà chỉ kích hoạt Microphone khi người dùng chủ động chạm vào biểu tượng Mic trên ứng dụng, đảm bảo quyền riêng tư tuyệt đối, khắc phục nhược điểm thu thập dữ liệu nhạy cảm thường gặp ở các ứng dụng thương mại.

Kết luận

Đề tài "Xây dựng ứng dụng điều khiển IoTs bằng giọng nói" của nhóm sinh viên Huỳnh Văn Khen và Đặng Trương Duy Quang dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã chứng minh tính khả thi, hiệu quả và giá trị thực tiễn cao của việc ứng dụng công nghệ trí tuệ nhân tạo NLU vào lĩnh vực điều khiển tự động hóa nhà thông minh.

Hệ thống đã giải quyết trọn vẹn bài toán từ tiếp nhận giọng nói tiếng Việt, phân tích ngữ nghĩa chính xác qua Google Dialogflow, định tuyến xử lý trên Backend C# ASP.NET Web API đến thực thi đóng ngắt tức thời trên phần cứng vi điều khiển ESP8266 và công tắc Lumi. Với chi phí phần cứng tối ưu, độ trễ phản hồi dưới 1 giây và giao diện thân thiện, đề tài không chỉ là một công trình học thuật hoàn chỉnh mà còn là nền tảng vững chắc để tiếp tục phát triển thành các sản phẩm thương mại hóa chất lượng cao trong tương lai.