Giới thiệu dự án

Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã đưa Internet of Things (IoT - Mạng lưới vạn vật kết nối Internet) từ các phòng thí nghiệm nghiên cứu vào ứng dụng thực tiễn trong mọi khía cạnh đời sống. Theo các báo cáo công nghệ quốc tế, số lượng thiết bị IoT kết nối toàn cầu đã vượt mốc hàng chục tỷ thiết bị, trong đó phân khúc nhà thông minh (Smart Home) chiếm tỷ trọng tăng trưởng trung bình hàng năm (CAGR) trên 20%. Tuy nhiên, tại các nước đang phát triển như Việt Nam, việc triển khai nhà thông minh vẫn đối mặt với rào cản chi phí phần cứng đắt đỏ, các giải pháp ngoại nhập từ các hãng lớn (như Schneider, Siemens, Control4) có giá thành lên tới hàng nghìn USD cho một căn hộ tiêu chuẩn và đòi hỏi hạ tầng dây dẫn phức tạp.

Đồ án tốt nghiệp "Nghiên cứu và thiết kế hệ thống điều khiển cho căn hộ dùng công nghệ IoT" được thực hiện tại Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM nhằm giải quyết bài toán cốt lõi: Làm thế nào để xây dựng một hệ thống Smart Home ổn định, đa giao diện điều khiển, có khả năng phân tán và chi phí thấp, tối ưu cho điều kiện căn hộ chung cư và nhà ở dân dụng hiện nay.

Vấn đề thực tiễn và bài toán kỹ thuật

Hầu hết các căn hộ dân dụng hiện nay đang gặp phải các điểm nghẽn kỹ thuật sau:

  • Chi phí triển khai cao: Các hệ thống điều khiển tập trung công nghiệp (PLC/KNX) đòi hỏi đục tường đi lại toàn bộ hệ thống dây dẫn tín hiệu, làm đội chi phí thi công lên 30% - 50% giá trị thiết bị.
  • Tính phụ thuộc hạ tầng mạng: Đa số thiết bị IoT thương mại giá rẻ phụ thuộc hoàn toàn vào Cloud Server nước ngoài. Khi mất kết nối Internet quốc tế, hệ thống hoàn toàn tê liệt, không thể bật/tắt thiết bị tại chỗ qua mạng cục bộ.
  • Trải nghiệm người dùng phân mảnh: Người già và trẻ em gặp khó khăn khi thao tác trên ứng dụng di động phức tạp, đòi hỏi phải có giao diện điều khiển trực quan tại chỗ (màn hình cảm ứng trung tâm và công tắc chạm gắn tường) song song với ứng dụng smartphone.

Mục tiêu của đề tài

  1. Thiết kế phần cứng trung tâm: Chế tạo bo mạch điều khiển trung tâm sử dụng vi điều khiển 32-bit ARM Cortex-M3 (STM32F103VET6) tích hợp màn hình cảm ứng điện trở TFT 3.2 inch, điều khiển 8 ngõ ra công suất cách ly quang (Optocoupler).
  2. Thiết kế các nút ngoại vi không dây (Nodes): Xây dựng module công tắc cảm ứng điện dung 2 kênh và module phát nhạc giải trí MP3 điều khiển không dây độc lập dựa trên vi điều khiển WiFi ESP8266 SoC.
  3. Phát triển giao thức truyền thông lai (Hybrid Architecture): Kết hợp giao thức MQTT (Message Queuing Telemetry Transport) cho việc giám sát/điều khiển qua Internet từ xa và giao thức UDP (User Datagram Protocol) tốc độ cao cho mạng cục bộ không dây (WLAN - IEEE 802.11b/g/n).
  4. Xây dựng ứng dụng di động: Lập trình phần mềm điều khiển trực quan trên nền tảng Android (hỗ trợ Android 4.0 trở lên).

Phạm vi và giới hạn đề tài

  • Khả năng tải: Bảng điều khiển trung tâm đóng cắt trực tiếp 8 thiết bị điện AC 220V/10A qua Relay.
  • Giao diện hiển thị: Màn hình đồ họa màu TFT LCD 3.2 inch độ phân giải 240x320 pixel, chip điều khiển SSD1298 và IC cảm ứng ADS7843.
  • Nút cảm ứng phân tán: Hỗ trợ công tắc cảm ứng chạm 2 kênh chuẩn kết nối WiFi UDP.
  • Nút phát âm thanh: Module DFPlayer Mini đọc thẻ nhớ MicroSD tối đa 32GB, tích hợp khuếch đại công suất 3W ra loa.
  • Hạ tầng Server: Sử dụng MQTT Broker công cộng, tập trung vào tính ổn định và tính mở của kiến trúc phần mềm nhúng.

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

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

Tiêu chí so sánh Giải pháp có dây truyền thống (KNX/PLC) Giải pháp IoT Cloud thương mại (Tuya/Sonoff) Giải pháp đề tài (STM32 + ESP8266 Hybrid)
Chi phí lắp đặt Rất cao (> 30-50 triệu VNĐ) Thấp (1-3 triệu VNĐ) Tối ưu phần cứng (< 2 triệu VNĐ)
Tính độc lập mạng Hoạt động 100% nội bộ Tê liệt khi đứt cáp Internet/Cloud sập Hoạt động song song MQTT Cloud & UDP LAN
Giao diện trung tâm Bảng HMI đắt tiền Không có HMI (chỉ dùng app) Màn hình cảm ứng màu TFT 3.2 inch tại chỗ
Khả năng mở rộng Phức tạp, cần kỹ sư cấu hình Giới hạn theo hệ sinh thái đóng Mã nguồn mở, dễ thêm node ESP8266 qua UDP
Độ trễ điều khiển Cực thấp (< 10ms) Phụ thuộc Server (200ms - 2000ms) Nội mạng < 15ms; Qua Cloud < 150ms

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc): Bật/tắt 8 kênh tải công suất qua Relay cách ly; hiển thị trạng thái lên TFT LCD 3.2 inch; điều khiển qua Smartphone Android; kết nối WiFi 802.11b/g/n; giao thức MQTT qua Internet và UDP nội bộ.
  • Should Have (Nên có): Điều khiển phát nhạc MP3 từ xa (Play, Pause, Next, Prev, Volume 30 mức); module công tắc cảm ứng chạm gắn tường độc lập.
  • Could Have (Có thể có): Cơ chế cảnh báo mất kết nối qua gói tin LWT (Last Will and Testament) của MQTT; tự phục hồi trạng thái khi có điện lại (Retain message).
  • Won't Have (Chưa thực hiện): Mã hóa đầu cuối TLS/SSL và giao thức Mesh đa tầng (định hướng phát triển tương lai).

Thiết kế kiến trúc hệ thống

Kiến trúc phân tầng của hệ thống gồm 3 lớp:

  1. Lớp thiết bị chấp hành & Cảm biến (Field/Physical Layer): Các Relay tải AC 220V, phím cảm ứng điện dung TTP223, module giải mã âm thanh DFPlayer Mini, màn hình cảm ứng màu TFT SSD1298.
  2. Lớp xử lý & Truyền thông (Processing & Network Layer): MCU STM32F103VET6 (Core ARM Cortex-M3 72MHz) đóng vai trò trung tâm tính toán, kết nối với module ESP8266-01 qua UART (Baud rate 115200 bps). Các Node phụ trợ dùng chip ESP8266-12/NodeMCU xử lý mạng không dây cục bộ qua IEEE 802.11.
  3. Lớp ứng dụng (Application Layer): Ứng dụng Android viết bằng Java/Eclipse tương tác qua Socket TCP/IP với MQTT Broker và bản tin UDP Datagram nội bộ.
[ MQTT Broker Server ] <====== (TCP/IP Port 1883) ======> [ Android App Client ]
        ^                                                         |
        | (TCP/IP Port 1883)                                      | (UDP Broadcast)
        v                                                         v
[ ESP8266 (WiFi Gateway) ] <== UART ==> [ STM32F103VET6 Control Center ]
                                                ^
                        +-----------------------+-----------------------+
                        | (UDP Port 8080)                               | (UDP Port 8080)
                        v                                               v
            [ Node Công tắc cảm ứng ]                       [ Node Âm thanh MP3 ]
               (ESP8266 + TTP223)                             (ESP8266 + DFPlayer)

Thông số kỹ thuật của Technology Stack

  • Vi điều khiển chính: STM32F103VET6 (ARM 32-bit Cortex-M3, xung nhịp 72 MHz, 512 KB Flash ROM, 64 KB SRAM, 80 chân GPIO, 5 cổng USART, SPI, I2C, FSMC).
  • Module mạng không dây: Espressif ESP8266EX (Tensilica L106 32-bit, xung nhịp 80/160 MHz, chuẩn Wi-Fi 802.11 b/g/n 2.4 GHz, hỗ trợ chế độ STA/AP/STA+AP, công suất phát 20 dBm).
  • Chip giải mã âm thanh: DFPlayer Mini (Bộ giải mã phần cứng 24-bit DAC, SNR 85dB, hỗ trợ FAT16/FAT32 lên tới thẻ MicroSD 32GB).
  • Driver hiển thị & Cảm ứng: SSD1298 (240x320 RGB, bus song song 16-bit) + ADS7843 (ADC 12-bit chuyển đổi tọa độ cảm ứng điện trở).
  • Môi trường phát triển: Keil C uVision v5 (cho ARM Cortex-M3), Arduino IDE v1.8.x với ESP8266 Board Core (cho ESP8266), Android Studio / Eclipse ADT.

Thiết kế giao thức dữ liệu

1. Định dạng khung truyền UART (STM32 <-> DFPlayer Mini & ESP8266)

Khung truyền điều khiển âm thanh DFPlayer gồm 9 byte chuẩn hóa:

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9
0x7E (Start) 0xFF (Version) 0x06 (Length) CMD (Lệnh) Feedback (0x00) Para1 (High Byte) Para2 (Low Byte) Checksum 0xEF (End)
  • CMD = 0x01: Next bài
  • CMD = 0x02: Previous bài
  • CMD = 0x03: Chỉ định bài hát (0x0001 - 0x0100)
  • CMD = 0x06: Đặt âm lượng (Giá trị 0 - 30)

2. Cấu trúc Topic và Payload giao thức MQTT

  • Topic Điều khiển Tải: smarthome/apartment/relay/set (Payload JSON: {"relay": 1, "state": 1})
  • Topic Phản hồi Trạng thái: smarthome/apartment/relay/status (Payload: [1,0,0,1,0,1,0,0] - tương ứng 8 relay)
  • Topic Điều khiển MP3: smarthome/apartment/audio/cmd (Payload: {"cmd": "PLAY", "vol": 25})
  • Cấu hình QoS: Sử dụng QoS 1 cho các bản tin lệnh đóng ngắt tải quan trọng và QoS 0 cho bản tin đồng bộ định kỳ trạng thái. Cờ RETAIN = 1 được kích hoạt trên topic trạng thái để ứng dụng smartphone ngay khi mở lên nhận được ngay hiện trạng căn hộ.

Implementation và kết quả

Chi tiết giải thuật và lập trình nhúng

Thuật toán điều khiển giải mã khung truyền UART trên STM32F103VET6

Hệ thống sử dụng cơ chế ngắt nhận UART kết hợp bộ đệm vòng tròn (Ring Buffer) để không làm trễ quá trình quét giao diện cảm ứng LCD.

#include "stm32f10x.h"
#include "stm32f10x_usart.h"

#define CMD_BUFFER_SIZE 32
volatile uint8_t rx_buffer[CMD_BUFFER_SIZE];
volatile uint8_t rx_index = 0;
uint8_t relay_status = 0x00;

void USART1_IRQHandler(void) {
    if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) {
        uint8_t byte_received = USART_ReceiveData(USART1);
        
        // Ký tự kết thúc khung lệnh chuẩn là '\n' (0x0A)
        if (byte_received == '\n') {
            rx_buffer[rx_index] = '\0';
            // Phân tích cú pháp: "RELAY:X:1" hoặc "RELAY:X:0"
            if (rx_buffer[0] == 'R' && rx_buffer[1] == 'L') {
                uint8_t relay_num = rx_buffer[3] - '0';
                uint8_t state = rx_buffer[5] - '0';
                
                if (state == 1) {
                    GPIOB->BSRR = (1 << (relay_num + 8)); // Kích hoạt Relay PB8-PB15
                    relay_status |= (1 << relay_num);
                } else {
                    GPIOB->BRR = (1 << (relay_num + 8));  // Tắt Relay
                    relay_status &= ~(1 << relay_num);
                }
            }
            rx_index = 0; // Reset chỉ số đệm
        } else {
            if (rx_index < CMD_BUFFER_SIZE - 1) {
                rx_buffer[rx_index++] = byte_received;
            }
        }
    }
}

Xử lý mạng không dây UDP và MQTT Client trên ESP8266

Trên firmware ESP8266, một Server UDP lắng nghe trên cổng 8080 để nhận các gói tin đóng ngắt trực tiếp từ công tắc cảm ứng WiFi mà không cần thông qua Broker Internet:

#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <PubSubClient.h>

const char* ssid = "Apartment_WiFi_2.4G";
const char* password = "SecuredPassword123";
const char* mqtt_server = "broker.hivemq.com";

WiFiUDP udp;
unsigned int localUdpPort = 8080;
char incomingPacket[255];

WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(200);
  }
  udp.begin(localUdpPort);
  client.setServer(mqtt_server, 1883);
  client.setCallback(mqttCallback);
}

void loop() {
  // 1. Kiểm tra gói tin nội bộ UDP từ Công tắc cảm ứng
  int packetSize = udp.parsePacket();
  if (packetSize) {
    int len = udp.read(incomingPacket, 255);
    if (len > 0) incomingPacket[len] = 0;
    // Chuyển tiếp lệnh điều khiển sang MCU STM32 qua Serial
    Serial.println(incomingPacket); 
  }
  
  // 2. Duy trì kết nối MQTT qua Internet
  if (!client.connected()) {
    reconnectMQTT();
  }
  client.loop();
}

void mqttCallback(char* topic, byte* payload, unsigned int length) {
  // Gửi trực tiếp chuỗi nhận được từ MQTT về cho STM32 xử lý
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
}

Quy trình thi công phần cứng

Phần cứng được hiện thực hóa qua 3 khối mạch in 2 lớp (Double-sided FR4):

  1. Board mạch chính (Main Control Board): Chứa vi điều khiển STM32F103VET6, thạch anh dao động 8MHz (HSE) nhân tần số lên 72MHz qua khối PLL nội, socket cắm màn hình TFT 3.2 inch, cổng nạp JTAG/SWD, mạch chuyển đổi mức logic 5V - 3.3V và module cắm ESP8266-01.
  2. Board mạch công suất (Power Relay Board): Gồm 8 relay Songle 5VDC - 10A 250VAC. Tín hiệu kích hoạt từ STM32 được cách ly qua 8 IC optocoupler PC817 và IC đệm dòng ULN2803 chống xung ngược điện áp cảm ứng từ cuộn dây relay.
  3. Board mạch nút ngoại vi (Sensor & MP3 Nodes): Thiết kế nhỏ gọn kích thước 5x5 cm sử dụng chip ESP8266-12E tích hợp anten vi dải trên mạch (PCB antenna), ngõ vào cảm ứng điện dung một chạm qua chip TTP223 và module âm thanh DFPlayer Mini kết nối trực tiếp loa mini 4 Ohm 3W.
[Khối Nguồn 220VAC] -> [Adapter 5V/2A DC] -> [LM1117-3.3V] -> Cấp nguồn MCU/ESP
[STM32F103VET6 GPIO] -> [Opto PC817] -> [ULN2803 Driver] -> [Relay 5V] -> [Tải AC 220V]

Kết quả đo kiểm và kiểm thử thực nghiệm

Hệ thống đã trải qua quá trình kiểm thử liên tục trong 72 giờ tại môi trường căn hộ thực tế với các chỉ số đo lường định lượng:

Tham số kiểm thử Môi trường thử nghiệm Giá trị thiết kế Kết quả đo đạc thực tế Đánh giá
Độ trễ điều khiển UDP (Nội mạng LAN) Căn hộ 85m², qua 2 vách tường < 50 ms 12 - 18 ms Vượt mục tiêu (Đáp ứng tức thì)
Độ trễ điều khiển MQTT (Qua Internet 4G) Smartphone kết nối mạng 4G Viettel < 500 ms 120 - 180 ms Ổn định cao
Tỷ lệ nhận bản tin đóng ngắt 1.000 lần nhấn nút liên tục > 99.0% 99.7% (3 lần timeout do nhiễu WiFi) Đạt chuẩn gia dụng
Độ nhạy công tắc cảm ứng chạm Cách qua tấm mica dày 3mm < 100 ms 35 ms Phản hồi mượt mà
Công suất tiêu thụ tĩnh (Chế độ chờ) Trọn bộ Trung tâm + 2 Node con < 5W 2.85W (Nguồn 220VAC cấp) Tiết kiệm năng lượng
Nhiệt độ hoạt động liên tục (72h) Nhiệt độ môi trường 30°C < 60°C 38.5°C (IC công suất và MCU) Tản nhiệt tự nhiên tốt

Đổi mới và đóng góp kỹ thuật

Đổi mới công nghệ

  1. Kiến trúc truyền thông chuyển đổi dự phòng thông minh (Failover Hybrid Networking): Hệ thống không phụ thuộc hoàn toàn vào Cloud. Khi mất Internet, cơ chế tự động chuyển hướng gói tin qua UDP Broadcast nội mạng giúp các công tắc cảm ứng gắn tường và smartphone vẫn điều khiển toàn bộ căn hộ bình thường với độ trễ siêu thấp (< 20ms).
  2. Tối ưu hóa tài nguyên phần cứng bằng cách phân tải tính toán: Tận dụng sức mạnh tính toán 32-bit của STM32F103VET6 để xử lý đồ họa giao diện GUI trên màn hình cảm ứng TFT mà không cần chip xử lý video chuyên dụng, trong khi giao thức mạng được đẩy toàn bộ về vi xử lý phụ ESP8266, giải phóng 100% tài nguyên CPU cho việc bảo vệ ngắt an toàn của các thiết bị công suất.
  3. Cấu trúc khung điều khiển đa phương tiện tùy biến: Tích hợp thành công điều khiển giải trí âm thanh MP3 phân tán qua mạng WiFi với khung truyền UART 9-byte rút gọn, tiết kiệm 70% băng thông so với các luồng truyền streaming HTTP phức tạp.
       +---------------------------------------------+
       |   ĐƯỜNG TRUYỀN INTERNET CÓ SẴN BÌNH THƯỜNG  |
       |  [Smartphone] ---> MQTT Broker ---> [ESP]   |
       +---------------------------------------------+
                              |
                     (Mất mạng Internet)
                              v
       +---------------------------------------------+
       |     TỰ ĐỘNG CHUYỂN SANG DỰ PHÒNG CỤC BỘ     |
       |  [Smartphone] ---> UDP LAN Direct -> [ESP]  |
       +---------------------------------------------+

So sánh kỹ thuật chi tiết với các giải pháp trên thị trường

Chỉ số Hệ thống tự xây dựng (Đề tài) Hệ thống Sonoff / Tuya chuẩn Hệ thống Fibaro Z-Wave
Chi phí cấu kiện (BOM) ~ 850.000 VNĐ ~ 1.800.000 VNĐ ~ 15.000.000 VNĐ
Mức độ phụ thuộc Server Hoàn toàn tự chủ 100% phụ thuộc Cloud hãng Cần Hub nội bộ đắt đỏ
Giao diện HMI tại chỗ Màn hình TFT 3.2 inch tích hợp Không có (Phải mua thêm) Màn hình riêng chi phí cao
Khả năng can thiệp Firmware Toàn quyền can thiệp C/C++ Đóng (Firmware độc quyền) Đóng
Hiệu suất đóng ngắt 8 kênh 10A / 1 Module 1 - 4 kênh / Module 1 - 2 kênh / Module

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

Kịch bản sử dụng thực tế (Use Cases)

  • Kịch bản "Về nhà" (Coming Home): Người dùng kích hoạt nút "Về nhà" trên ứng dụng di động khi còn cách căn hộ 1km. Hệ thống thông qua MQTT bật bình nước nóng, khởi động đèn phòng khách và phát danh sách nhạc chào đón qua module DFPlayer Mini.
  • Kịch bản "Rời nhà" (Leaving Home): Một chạm trên màn hình cảm ứng 3.2 inch đặt tại cửa ra vào, MCU trung tâm tự động ngắt toàn bộ 8 relay công suất để phòng chống cháy nổ và tiết kiệm điện năng tiêu thụ.
  • Kịch bản điều khiển phân tán trong đêm: Người dùng chạm vào công tắc cảm ứng WiFi đầu giường, gói tin UDP gửi lập tức đến khối trung tâm để bật đèn hành lang ở chế độ dịu mắt mà không cần dò tìm ứng dụng điện thoại.

Bảng phân tích chi phí linh kiện (Bill of Materials - BOM)

STT Tên linh kiện / Module Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
1 Vi điều khiển ARM STM32F103VET6 (Core Board) 01 180.000 180.000
2 Màn hình GLCD TFT 3.2 inch SSD1298 + Cảm ứng 01 220.000 220.000
3 Module WiFi ESP8266-01 / ESP8266-12E 03 45.000 135.000
4 Module giải mã âm thanh DFPlayer Mini + Loa 3W 01 65.000 65.000
5 Khối 8 Relay 5V + Opto PC817 + ULN2803 + Domino 01 95.000 95.000
6 Cảm ứng chạm điện dung TTP223 + Linh kiện thụ động 02 15.000 30.000
7 Bo mạch in FR4 2 lớp + Vỏ hộp Mica gia công 01 bộ 120.000 120.000
Tổng Toàn bộ hệ thống phần cứng hoàn chỉnh 845.000 VNĐ

Đánh giá kinh tế: Chi phí sản xuất mẫu thử nghiệm chỉ vào khoảng 845.000 VNĐ, chỉ bằng 15% - 25% so với các giải pháp thương mại tương đương trên thị trường, mang lại khả năng hoàn vốn và thương mại hóa cực kỳ khả thi cho các dự án căn hộ vừa và nhỏ.


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

Các hạn chế kỹ thuật hiện tại

  • Bảo mật tầng truyền dẫn: Các gói tin UDP nội bộ hiện truyền dưới dạng chuỗi Plain Text (chưa mã hóa AES-128/256), có thể bị bắt gói tin trong mạng nội bộ nếu có thiết bị lạ xâm nhập vào Router WiFi.
  • Kích thước màn hình: Kích thước 3.2 inch với công nghệ cảm ứng điện trở đòi hỏi lực nhấn nhẹ của đầu ngón tay/bút cảm ứng, góc nhìn và độ nhạy chưa cao bằng màn hình cảm ứng điện dung đa điểm IPS.
  • Phụ thuộc cấu hình Router: Các Node kết nối theo mô hình hình sao (Star Topology) phụ thuộc vào vùng phủ sóng của Router WiFi trung tâm, chưa tự tạo thành mạng lưới (Mesh) để mở rộng khoảng cách trong các căn hộ diện tích lớn nhiều tầng.

Hướng phát triển và nâng cấp đề tài

  1. Nâng cấp giao thức bảo mật: Tích hợp thư viện mbedTLS trên ESP8266 để thiết lập kết nối mã hóa MQTTS (Port 8883) với chứng chỉ số SSL/TLS, bổ sung mã hóa AES-GCM cho bản tin UDP.
  2. Chuyển đổi sang giao thức ESP-MESH / Matter: Nâng cấp firmware sang chuẩn kết nối mạng lưới phi tập trung ESP-MESH, cho phép các công tắc và cảm biến tự động định tuyến gói tin qua nhau mà không phụ thuộc vào Router WiFi.
  3. Mở rộng hệ sinh thái cảm biến: Bổ sung các cảm biến môi trường (nhiệt độ, độ ẩm DHT22, khí gas gas MQ-2, phát hiện chuyển động hồng ngoại PIR) để nâng cấp thành hệ thống giám sát an ninh và tiết kiệm điện tự động.
  4. Phát triển ứng dụng iOS và Điều khiển giọng nói: Xây dựng phiên bản app trên nền tảng Flutter/React Native hỗ trợ cả iOS và Android, tích hợp trợ lý ảo Google Assistant và Apple HomeKit qua giao thức MQTT Bridge.

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

  • Sinh viên và Học viên ngành Kỹ thuật Điện tử - Viễn thông, Tự động hóa, CNTT: Là tài liệu tham khảo hoàn chỉnh từ thiết kế mạch in (Hardware Schematic & PCB), lập trình vi điều khiển ARM Cortex-M3 (Bare-metal & HAL) đến xử lý mạng không dây ESP8266 và lập trình Android.
  • Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Cung cấp mô hình tham chiếu thực tiễn về cơ chế truyền thông lai (Hybrid Communication) giải quyết bài toán mất Internet trong các ứng dụng IoT dân dụng.
  • Doanh nghiệp vừa và nhỏ, Startup Smarthome: Cung cấp phương án tối ưu hóa Bill of Materials (BOM) giá thành thấp, tận dụng linh kiện phổ biến để sản xuất các thiết bị đóng ngắt thông minh made-in-Vietnam.
  • Chủ hộ gia đình và Người dùng dân dụng: Tiếp cận giải pháp nhà thông minh tiện ích, dễ bảo trì, chi phí chỉ bằng một phần nhỏ các hệ thống ngoại nhập đắt đỏ.

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

1. Yêu cầu phần cứng và hạ tầng để triển khai hệ thống là gì?

Hệ thống chỉ yêu cầu nguồn điện lưới dân dụng 220VAC, một Router WiFi phát sóng băng tần 2.4 GHz (chuẩn 802.11b/g/n) và điện thoại thông minh chạy hệ điều hành Android từ phiên bản 4.0 trở lên. Không cần thay đổi hạ tầng đường dây điện âm tường phức tạp.

2. Khi đường truyền Internet bị đứt, hệ thống có hoạt động được không?

Có. Hệ thống được thiết kế với cơ chế chuyển đổi dự phòng tức thì (Failover). Khi mất kết nối Internet, bạn vẫn có thể bật/tắt toàn bộ 8 thiết bị tải tại màn hình cảm ứng 3.2 inch trung tâm, qua công tắc cảm ứng chạm gắn tường hoặc qua ứng dụng Android khi điện thoại bắt chung sóng WiFi nội bộ của căn hộ (nhờ giao thức UDP).

3. Khả năng mở rộng thêm các thiết bị ngoại vi của hệ thống như thế nào?

Kiến trúc UDP/MQTT cho phép hệ thống mở rộng lên tới hàng chục công tắc cảm ứng và module âm thanh khác nhau trong cùng mạng. Chỉ cần cấp nguồn cho một module ESP8266 mới, cấu hình IP/Topic tương ứng là module đó tự động gia nhập mạng lưới điều khiển mà không cần lập trình lại chip STM32 trung tâm.

4. Hệ thống cần bảo trì như thế nào và độ bền của Relay là bao lâu?

Khối công suất sử dụng Relay cơ học chất lượng cao có tuổi thọ đóng cắt trung bình 100.000 lần dưới tải định mức 10A. Phần mềm được tích hợp bộ giám sát phần cứng Watchdog Timer trên cả STM32 và ESP8266, tự động khởi động lại MCU nếu xảy ra hiện tượng treo vi xử lý do xung nhiễu điện từ.

5. Thời gian hoàn vốn (ROI) và chi phí vận hành hàng tháng của hệ thống?

Chi phí linh kiện trọn bộ chỉ khoảng 850.000 VNĐ. Nhờ việc sử dụng các MQTT Broker miễn phí hoặc tự dựng trên mạch Raspberry Pi, chi phí duy trì phần mềm hàng tháng bằng 0 đồng. Mức tiêu thụ điện ở chế độ chờ chỉ 2.85W (~ 2 kWh điện mỗi tháng, tương đương dưới 5.000 VNĐ tiền điện).


Hướng dẫn triển khai và Xử lý sự cố (Troubleshooting)

Hướng dẫn cài đặt nhanh trong 4 bước

  1. Bước 1: Cấp nguồn: Kết nối nguồn Adapter 5V/2A vào cổng cấp nguồn DC trên Bảng điều khiển trung tâm và các Node phụ.
  2. Bước 2: Cấu hình WiFi: Bật chế độ Access Point trên ESP8266 hoặc nạp SSID/Password của Router WiFi nhà bạn vào file mã nguồn config.h.
  3. Bước 3: Đấu nối tải: Nối dây nguồn AC 220V qua domino của 8 relay ngõ ra tới các bóng đèn, quạt điện theo đúng sơ đồ tiếp điểm Thường Mở (NO - Normally Open).
  4. Bước 4: Cài đặt App: Cài đặt file SmartHome.apk lên điện thoại Android, điền địa chỉ IP của Bảng điều khiển trung tâm và tên Topic MQTT để bắt đầu trải nghiệm.

Bảng xử lý sự cố thường gặp (Troubleshooting Guide)

Hiện tượng Nguyên nhân tiềm ẩn Giải pháp khắc phục
Màn hình cảm ứng LCD trắng xóa, không hiển thị Cáp bus song song lỏng hoặc chân khởi tạo chip SSD1298 bị sai xung clock Kiểm tra lại cáp cắm trên socket FSMC, kiểm tra mức điện áp 3.3V cấp cho chân VCC và chân RST của LCD.
Relay không nhảy khi nhấn nút trên App Mất kết nối MQTT Broker hoặc module ESP-01 bị treo UART Kiểm tra đèn LED xanh trên ESP-01. Nếu không nhấp nháy, kiểm tra kết nối WiFi của Router và khởi động lại nguồn hệ thống.
Không nghe thấy âm thanh từ DFPlayer Mini Định dạng thẻ nhớ không đúng hoặc tên thư mục/file nhạc sai quy cách Format thẻ nhớ MicroSD về định dạng FAT32. Tạo thư mục tên mp3 ở thư mục gốc và đổi tên bài hát thành dạng số 4 chữ số: 0001.mp3, 0002.mp3.
Công tắc cảm ứng WiFi phản hồi chậm Tín hiệu WiFi tại vị trí đặt công tắc quá yếu (RSSI < -80 dBm) Bổ sung bộ kích sóng WiFi (Repeater) hoặc gắn thêm anten râu mở rộng cho module ESP8266 qua cổng IPEX.

Kết luận

Đồ án tốt nghiệp "Nghiên cứu và thiết kế hệ thống điều khiển cho căn hộ dùng công nghệ IoT" đã hoàn thành toàn diện các mục tiêu nghiên cứu và thực nghiệm:

  • Xây dựng thành công hệ sinh thái phần cứng tích hợp hoàn chỉnh gồm Bảng điều khiển trung tâm ARM STM32F103VET6 tích hợp màn hình cảm ứng đồ họa 3.2 inch, khối 8 relay công suất cách ly quang, cùng 2 nút phân tán không dây là Công tắc cảm ứng chạm và Hộp phát nhạc giải trí MP3 qua WiFi.
  • Hiện thực hóa thành công kiến trúc truyền thông lai kép: Kết hợp giao thức MQTT trên nền TCP/IP cho điều khiển từ xa qua Internet toàn cầu và giao thức UDP Datagram cho điều khiển tức thời nội mạng không phụ thuộc Internet.
  • Đạt được các chỉ số hiệu năng ấn tượng: Độ trễ đóng cắt nội mạng chỉ 12 - 18 ms, độ trễ qua Internet dưới 180 ms, độ tin cậy truyền gói tin đạt 99.7% với tổng chi phí sản xuất linh kiện chỉ khoảng 845.000 VNĐ.

Hệ thống chứng minh tính khả thi vượt trội trong việc phổ cập công nghệ nhà thông minh giá rẻ đến với mọi phân khúc nhà ở và căn hộ tại Việt Nam. Đây là nền tảng vững chắc để tiếp tục mở rộng nghiên cứu về trí tuệ nhân tạo biên (Edge AI), mạng cảm biến không dây Mesh và điều khiển giọng nói trong các giai đoạn phát triển tiếp theo.