Giới thiệu dự án

Sự phát triển mạnh mẽ của cuộc Cách mạng Công nghiệp 4.0 và công nghệ Internet of Things (IoT - Internet Vạn Vật) đã chuyển đổi căn hộ truyền thống thành không gian sống thông minh (Smart Home). Theo các báo cáo thị trường công nghệ, ngành công nghiệp Smart Home toàn cầu đang duy trì tốc độ tăng trưởng kép hàng năm (CAGR) trên 12%, phản ánh nhu cầu cấp thiết về việc tối ưu hóa năng lượng, nâng cao tiện nghi và bảo vệ an toàn tính mạng, tài sản gia đình.

Tuy nhiên, các giải pháp thương mại đóng gói sẵn trên thị trường hiện nay thường có giá thành đắt đỏ, phụ thuộc vào máy chủ đám mây độc quyền của nhà sản xuất, hạn chế khả năng tùy biến và tiềm ẩn rủi ro mất an toàn thông tin. Bên cạnh đó, các hệ thống tự phát triển (DIY) thường gặp vấn đề về độ trễ truyền dữ liệu cao, khả năng kháng nhiễu kém, và thiếu các kênh truyền thông khẩn cấp dự phòng khi mất kết nối Internet.

Đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) với đề tài "Thiết kế và Triển khai Hệ thống Nhà Thông Minh Sử dụng IoT" (Design and Implementation for Smart Home using IoT System) được thực hiện bởi sinh viên Bùi Tuấn Đạt và Trần Phan Bảo Khang, dưới sự hướng dẫn của ThS. Trương Quang Phúc. Đề tài tập trung giải quyết triệt để các bài toán kỹ thuật từ việc thiết kế mạch in (PCB), lập trình firmware điều khiển đa node phân tán, truyền thông thời gian thực qua giao thức MQTT, đến việc phát triển giao diện điều khiển đa nền tảng (Web và Mobile App) cùng cơ chế cảnh báo an ninh kép qua mạng di động viễn thông (GSM/SMS).

+-------------------------------------------------------------------------+
|                           HỆ THỐNG SMART HOME IOT                       |
+------------------------------------+------------------------------------+
|                NODE 1              |               NODE 2               |
|            (Phòng Khách)           |             (Phòng Ngủ)            |
|  - ESP32-WROOM-32                  |  - ESP32-WROOM-32                  |
|  - RFID RC522 (Cửa SPI)            |  - DHT11 (Nhiệt ẩm)                |
|  - Servo SG90 (Chốt cửa)           |  - Màn hình LCD 16x2 I2C           |
|  - Cảm biến hồng ngoại (Vật cản)   |  - Relay điều khiển Đèn / Quạt     |
|  - Module SIM800L (Cảnh báo SMS)   |  - Nút nhấn cơ học (Manual Switch) |
|  - Còi báo động (Buzzer)           |                                    |
+------------------------------------+------------------------------------+
|                               NODE 3                                    |
|                             (Phòng Bếp)                                 |
|  - ESP32-WROOM-32                                                       |
|  - Cảm biến khí gas MQ-2 (Nồng độ LPG/Methane)                          |
|  - Cảm biến ngọn lửa Flame Sensor (Bước sóng 760nm - 1100nm)            |
|  - Màn hình LCD 16x2 I2C                                                |
|  - Quạt hút thông gió 12V DC & Chuông báo cháy                          |
+-------------------------------------------------------------------------+
                                     |
                       [ Wi-Fi 802.11 b/g/n - 2.4 GHz ]
                                     |
                                     v
+-------------------------------------------------------------------------+
|                           MQTT CLOUD BROKER                             |
|               (Topic-based Publish/Subscribe Architecture)               |
+-------------------------------------------------------------------------+
                    |                                 |
                    v                                 v
+------------------------------------+ +------------------------------------+
|           WEB DASHBOARD            | |         ANDROID MOBILE APP         |
|  - HTML5, CSS3, JavaScript ES6     | |  - Native Java / Android Studio    |
|  - Paho MQTT WebSockets Client     | |  - Paho MQTT Android Service       |
|  - Giám sát cảm biến thời gian thực| |  - Điều khiển thiết bị từ xa       |
|  - Giao diện trực quan tùy biến    | |  - Nhận Push Notification          |
+------------------------------------+ +------------------------------------+

Mục tiêu dự án

  1. Thiết kế phần cứng phân tán: Xây dựng 3 trạm vi điều khiển độc lập (Nodes) tương ứng với 3 phòng (Phòng khách, Phòng ngủ, Phòng bếp) sử dụng chip lõi kép ESP32-WROOM-32 hoạt động ở tần số 240 MHz.
  2. Triển khai giao thức MQTT thời gian thực: Thiết lập hạ tầng truyền thông Publish/Subscribe trên MQTT Cloud Broker với mức chất lượng dịch vụ (QoS - Quality of Service) đảm bảo toàn vẹn dữ liệu và độ trễ dưới 250ms.
  3. Tích hợp kiểm soát an ninh đa tầng: Sử dụng module nhận dạng tần số vô tuyến RFID RC522 (13.56 MHz) điều khiển đóng/mở cửa bằng Servo SG90, tích hợp chế độ phân quyền Master Card để thêm/xóa thẻ người dùng trực tiếp.
  4. Hệ thống cảnh báo an toàn khẩn cấp độc lập: Ứng dụng cảm biến nồng độ gas MQ-2 và cảm biến ngọn lửa Flame Sensor, tự động kích hoạt quạt hút 12V, còi hú và gửi tin nhắn cảnh báo SMS qua module SIM800L tức thì khi xảy ra sự cố.
  5. Đồng bộ hóa giao diện điều khiển đa nền tảng: Xây dựng ứng dụng di động Android Native và trang Web quản trị trực tuyến hỗ trợ tương tác hai chiều và đồng bộ trạng thái thực tế của các tải điện gia dụng.

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

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

Trước khi tiến hành thiết kế hệ thống, nhóm nghiên cứu đã phân tích và so sánh các mô hình smart home phổ biến nhằm xác định hướng tiếp cận tối ưu về mặt kỹ thuật và chi phí:

Tiêu chí kỹ thuật Giải pháp thương mại đóng gói (Tuya / Xiaomi) Giải pháp máy chủ cục bộ (Home Assistant + RPi) Giải pháp đề xuất (Multi-Node ESP32 + MQTT)
Kiến trúc mạng Centralized Cloud Server Local Hub (Raspberry Pi Gateway) Distributed Node + MQTT Cloud Broker
Khả năng tự chủ khi mất Internet Rất thấp (mất điều khiển đám mây) Cao (hoạt động trong mạng LAN) Cao (nút bấm cơ học, LCD, cảnh báo SMS độc lập)
Độ trễ truyền nhận 300ms - 800ms (tùy thuộc Server quốc tế) 50ms - 100ms (mạng nội bộ) 80ms - 200ms (tối ưu hóa qua MQTT)
Kênh cảnh báo khẩn cấp Push Notification (cần Internet 3G/4G) Push Notification / Webhook Kênh kép: MQTT Push Notification + GSM SMS
Chi phí triển khai mô hình Rất cao (> 10.000.000 VNĐ) Trung bình (3.000.000 - 5.000.000 VNĐ) Thấp (~ 1.500.000 VNĐ)
Khả năng can thiệp Firmware Bị khóa mã nguồn (Closed-source) Mã nguồn mở (cấu hình YAML phức tạp) Toàn quyền kiểm soát mã nguồn C/C++ và PCB

Bảng ưu tiên yêu cầu hệ thống (Phương pháp MoSCoW)

  • Must Have (Bắt buộc có):
    • Thu thập nhiệt độ, độ ẩm (DHT11), khí gas (MQ-2), ngọn lửa thời gian thực.
    • Điều khiển bật/tắt thiết bị đèn LED Bar Samsung và quạt thông qua Relay/Transistor.
    • Quét xác thực thẻ từ RFID RC522 để điều khiển góc xoay Servo SG90 (0° - 90°).
    • Tự động kích hoạt chuông báo động và gửi tập lệnh AT SMS qua SIM800L khi phát hiện nguy cơ cháy nổ hoặc mở cửa trái phép.
  • Should Have (Nên có):
    • Hiển thị trực quan dữ liệu môi trường tại chỗ trên màn hình LCD 16x2 thông qua module chuyển đổi I2C (tiết kiệm chân GPIO).
    • Chức năng quản lý thẻ RFID trực tiếp (chuyển chế độ Master Card để thêm/xóa thẻ phụ).
  • Could Have (Có thể mở rộng):
    • Lưu trữ dữ liệu lịch sử cảm biến theo chuỗi thời gian (Time-series data) lên cơ sở dữ liệu đám mây.
  • Won't Have (Chưa thực hiện ở phiên bản này):
    • Nhận diện khuôn mặt bằng mô hình Deep Learning trên phần cứng nhúng.

Thiết kế kiến trúc phần cứng và phần mềm

Hệ thống được thiết kế theo mô hình phân tầng tiêu chuẩn trong IoT:

flowchart TD
    subgraph Physical_Layer["Tầng Thiết Bị & Cảm Biến (Hardware Node Layer)"]
        node1["Node 1 (Phòng Khách)<br>ESP32 + RC522 + SIM800L + Servo + LCD"]
        node2["Node 2 (Phòng Ngủ)<br>ESP32 + DHT11 + Buttons + Relays + LCD"]
        node3["Node 3 (Phòng Bếp)<br>ESP32 + MQ-2 + Flame Sensor + Fan 12V + LCD"]
    end

    subgraph Network_Layer["Tầng Mạng & Truyền Thông (Communication Layer)"]
        wifi["Wi-Fi 2.4 GHz (IEEE 802.11 b/g/n)"]
        gsm["Mạng Viễn Thông GSM/GPRS (Băng tần 850/900/1800/1900 MHz)"]
    end

    subgraph Middleware_Layer["Tầng Dịch Vụ Trung Gian (Cloud Broker Layer)"]
        mqtt["MQTT Cloud Broker (v3.1.1)<br>Topics: smarthome/livingroom/*, smarthome/kitchen/*"]
    end

    subgraph Application_Layer["Tầng Ứng Dụng & Điều Khiển (User Interface Layer)"]
        web["Web Dashboard (HTML5 / CSS3 / Paho JS)"]
        app["Android Mobile Application (Java)"]
        sms_user["Người Dùng Nhận Cảnh Báo SMS Cấp 1"]
    end

    node1 -->|Wi-Fi / MQTT| mqtt
    node2 -->|Wi-Fi / MQTT| mqtt
    node3 -->|Wi-Fi / MQTT| mqtt
    node1 -->|Tập lệnh AT qua UART| gsm
    gsm -->|Tin nhắn khẩn cấp SMS| sms_user

    mqtt <-->|WebSockets / TCP| web
    mqtt <-->|MQTT Service TCP| app

Thông số kỹ thuật của các khối linh kiện cốt lõi

  1. Khối Vi điều khiển (MCU) - ESP32-WROOM-32:

    • Kiến trúc vi xử lý 32-bit Xtensa dual-core LX6, hiệu năng xử lý lên đến 600 DMIPS, tần số xung nhịp 240 MHz.
    • Tích hợp 448 KB ROM, 520 KB SRAM, hỗ trợ bộ nhớ Flash ngoài qua giao tiếp QSPI.
    • Hỗ trợ chuẩn Wi-Fi 802.11 b/g/n (tốc độ lên đến 150 Mbps) và Bluetooth v4.2 BR/EDR & BLE.
    • Bộ chuyển đổi tín hiệu tương tự sang số (SAR ADC) 12-bit, hỗ trợ đọc tín hiệu cảm biến điện áp tuyến tính 0 - 3.3V.
  2. Khối Cấp nguồn (Power Supply):

    • Nguồn đầu vào chính: Adapter DC 12V - 3A cung cấp cho tải công suất cao (Quạt tản nhiệt 12V 5000 RPM, Thanh LED Bar Samsung).
    • Module hạ áp Buck DC-DC LM2596: Giảm áp từ 12V xuống 5V (dòng cấp tối đa 3A, hiệu suất chuyển đổi 92%) để nuôi các module cảm biến và vi điều khiển.
    • Đường nguồn 3.3V từ mạch ổn áp tích hợp trên board ESP32 cấp riêng cho IC logic và module RFID RC522 nhằm hạn chế tối đa nhiễu nguồn.
  3. Khối Cảm biến & Truyền thông chuyên dụng:

    • Cảm biến khí gas MQ-2: Điện áp hoạt động 5V, cấu tạo màng nhạy khí $SnO_2$, nhạy cảm với khí gas LPG, Methane ($CH_4$), Propane, Hydrogen, ngõ ra kết hợp Analog (ADC) và Digital (qua mạch so sánh LM393).
    • Cảm biến ngọn lửa (Flame Sensor): Đầu thu quang học nhận diện dải bước sóng hồng ngoại từ 760nm đến 1100nm, góc quét $60^\circ$, tầm phát hiện hiệu dụng 80cm.
    • Đầu đọc thẻ RFID RC522: Hoạt động ở tần số 13.56 MHz, chuẩn giao tiếp SPI tốc độ lên tới 10 Mbps, khoảng cách đọc thẻ Mifare 0 - 60mm.
    • Module SIM800L: Module truyền thông GSM Quad-band, điện áp hoạt động tối ưu 3.7V - 4.2V, dòng xung đỉnh khi đăng ký mạng lên đến 2A, giao tiếp UART ở tốc độ Baud 9600 bps.

Implementation và kết quả

Quy trình hiện thực hóa và mã nguồn cốt lõi

Dự án được xây dựng theo mô hình phát triển phần mềm và phần cứng lặp (Iterative Hardware-Software Co-Design), chia thành 4 giai đoạn chính:

+-------------------------------------------------------------------------+
|                  QUY TRÌNH HIỆN THỰC HÓA DỰ ÁN                          |
+-------------------------------------------------------------------------+
| [Giai đoạn 1]: Thiết kế sơ đồ nguyên lý & mô phỏng mạch trên Proteus 8.x|
| [Giai đoạn 2]: Lập trình Firmware C++ cho 3 Node ESP32 (Giao tiếp SPI/I2C)|
| [Giai đoạn 3]: Thiết kế giao diện Dashboard Web & Ứng dụng Android      |
| [Giai đoạn 4]: Gia công bo mạch PCB, lắp ráp hoàn thiện & đo kiểm Stress|
+-------------------------------------------------------------------------+

1. Lập trình Firmware ESP32 kết nối MQTT Broker & Xử lý sự kiện

Mỗi vi điều khiển ESP32 sử dụng thư viện PubSubClient để thiết lập kênh truyền thông MQTT bảo mật, đồng thời xử lý logic cảm biến và điều khiển cơ cấu chấp hành theo cơ chế non-blocking:

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h>

#define DHTPIN 4
#define DHTTYPE DHT11
#define RELAY_FAN 18
#define RELAY_LIGHT 19

const char* ssid = "SMART_HOME_AP";
const char* password = "Password@2024";
const char* mqtt_server = "broker.hivemq.com";
const int mqtt_port = 1883;

WiFiClient espClient;
PubSubClient client(espClient);
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup_wifi() {
  delay(10);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
}

void callback(char* topic, byte* message, unsigned int length) {
  String messageTemp;
  for (int i = 0; i < length; i++) {
    messageTemp += (char)message[i];
  }
  
  if (String(topic) == "smarthome/bedroom/fan") {
    if (messageTemp == "ON") {
      digitalWrite(RELAY_FAN, HIGH);
    } else if (messageTemp == "OFF") {
      digitalWrite(RELAY_FAN, LOW);
    }
  }
}

void reconnect() {
  while (!client.connected()) {
    String clientId = "ESP32Client-Bedroom-" + String(random(0xffff), HEX);
    if (client.connect(clientId.c_str())) {
      client.subscribe("smarthome/bedroom/fan");
      client.subscribe("smarthome/bedroom/light");
    } else {
      delay(2000);
    }
  }
}

void setup() {
  Serial.begin(115200);
  pinMode(RELAY_FAN, OUTPUT);
  pinMode(RELAY_LIGHT, OUTPUT);
  dht.begin();
  lcd.init();
  lcd.backlight();
  setup_wifi();
  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(callback);
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  static unsigned long lastMsg = 0;
  unsigned long now = millis();
  if (now - lastMsg > 3000) {
    lastMsg = now;
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    
    if (!isnan(h) && !isnan(t)) {
      char tempStr[8], humStr[8];
      dtostrf(t, 1, 2, tempStr);
      dtostrf(h, 1, 2, humStr);
      
      client.publish("smarthome/bedroom/temp", tempStr);
      client.publish("smarthome/bedroom/humid", humStr);
      
      lcd.setCursor(0, 0);
      lcd.printf("Temp: %s C", tempStr);
      lcd.setCursor(0, 1);
      lcd.printf("Hum:  %s %%", humStr);
    }
  }
}

2. Lập trình điều khiển Module SIM800L gửi tin nhắn SMS khẩn cấp

Khi phát hiện nồng độ gas vượt ngưỡng cảnh báo (ví dụ giá trị Analog $ADC > 1800$) hoặc phát hiện lửa từ Flame Sensor, ESP32 sẽ gửi các tập lệnh AT chuẩn qua giao tiếp UART2 để thực hiện cuộc gọi và gửi SMS tức thì:

#include <HardwareSerial.h>

HardwareSerial simSerial(2); // RX2 = GPIO 16, TX2 = GPIO 17

void sendSMS(String phoneNumber, String message) {
  simSerial.println("AT+CMGF=1"); // Thiết lập chế độ văn bản (Text Mode)
  delay(200);
  simSerial.print("AT+CMGS=\"");
  simSerial.print(phoneNumber);
  simSerial.println("\"");
  delay(200);
  simSerial.print(message);
  delay(100);
  simSerial.write(26); // Ký tự ASCII Ctrl+Z để kết thúc và gửi tin nhắn
  delay(3000);
}

void handleEmergencyGasLeak() {
  digitalWrite(25, HIGH); // Bật còi cảnh báo tại chỗ
  digitalWrite(26, HIGH); // Bật quạt thông gió công suất tối đa
  sendSMS("+84987654321", "CANH BAO: Phat hien ro ri khi gas tai Phong Bep! He thong da bat quat hut.");
}

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

Toàn bộ hệ thống phần cứng sau khi gia công PCB và kết nối module đã được thử nghiệm thực tế với hơn 100 lần kích hoạt kịch bản khác nhau. Dữ liệu thử nghiệm thu được như sau:

Kịch bản kiểm thử Hành động kích hoạt Phản hồi của hệ thống Thời gian đáp ứng Kết quả đánh giá
Xác thực thẻ RFID hợp lệ Quẹt thẻ Master/Member Card vào RC522 Mở chốt Servo $90^\circ$, LCD hiển thị "Access Granted", publish trạng thái lên MQTT $120 \pm 15\text{ ms}$ Đạt (100% / 30 lần)
Phát hiện xâm nhập trái phép Quẹt thẻ không đăng ký $> 3$ lần Hú còi cảnh báo, khóa hệ thống 30s, gửi SMS cảnh báo đột nhập đến chủ nhà $2.8 \pm 0.3\text{ s}$ Đạt (Gửi tin nhắn chính xác)
Rò rỉ khí gas vượt ngưỡng Đưa mẫu khí Butane vào gần đầu cảm biến MQ-2 Còi hú, bật quạt hút thông gió, gửi SMS "CANH BAO RO RI GAS" $1.5 \pm 0.2\text{ s}$ Đạt (Cắt giảm nồng độ gas nhanh)
Phát hiện ngọn lửa Đốt mồi lửa cách xa $50\text{ cm}$ trước Flame Sensor Kích hoạt chuông báo cháy, gửi cảnh báo khẩn cấp lên Web & Mobile App qua MQTT $90 \pm 10\text{ ms}$ Đạt (Phản xạ tức thì)
Điều khiển thiết bị từ xa Nhấn Toggle Switch trên Web/App qua mạng 4G Đổi trạng thái Relay điều khiển đèn LED Bar / Quạt $180 \pm 35\text{ ms}$ Đạt (Độ trễ thấp, mượt mà)
BIỂU ĐỒ SO SÁNH THỜI GIAN ĐÁP ỨNG CỦA CÁC TÁC VỤ (MILLISECONDS)
Quét thẻ RFID:        [====] 120ms
Cảnh báo phát hiện lửa: [===] 90ms
Điều khiển Web/App:   [======] 180ms
Cảnh báo rò rỉ Gas:   [===================] 1500ms
Gửi tin nhắn SMS:     [==================================================] 2800ms

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

  1. Kiến trúc phân tán Multi-Node tối ưu: Thay vì tập trung tất cả cảm biến và cơ cấu chấp hành về một vi điều khiển duy nhất (gây quá tải chân GPIO, xung đột vòng lặp loop() và rủi ro sập toàn bộ hệ thống khi MCU gặp sự cố), đề tài phân bổ 3 node vi điều khiển độc lập cho từng không gian chức năng. Kiến trúc này giúp nâng cao độ tin cậy và khả năng vận hành liên tục (High Availability).
  2. Cơ chế an ninh kép (Hybrid Dual-Channel Security): Sự kết hợp giữa giao thức truyền thông băng thông nhẹ MQTT qua mạng Wi-Fi và tập lệnh viễn thông AT SMS qua module SIM800L tạo nên hệ thống bảo vệ hai lớp. Ngay cả khi đường truyền Internet băng rộng bị gián đoạn hoặc bị kẻ gian cắt cáp, thông tin khẩn cấp vẫn được truyền tải đến điện thoại của chủ nhà qua mạng di động GSM.
  3. Quản lý danh tính ngoại tuyến linh hoạt: Tích hợp thuật toán so khớp mã nhận diện UID của thẻ RFID trên bộ nhớ NVS/EEPROM của ESP32, cho phép thêm mới hoặc loại bỏ thẻ người dùng thông qua thao tác quét thẻ Master Card mà không cần nạp lại mã nguồn vi điều khiển.
  4. Hiệu suất năng lượng và tối ưu hóa chi phí: Thiết kế mạch nguồn Buck LM2596 tập trung giải quyết triệt để hiện tượng sụt áp dòng đỉnh của module ESP32 (lên đến 500mA khi phát sóng Wi-Fi) và SIM800L (2A khi truyền GSM), giúp hệ thống hoạt động ổn định 24/7 mà không gặp hiện tượng treo chip (brownout reset).

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

Kịch bản triển khai thực tế

  • Căn hộ gia đình và nhà phố thông minh: Lắp đặt quản lý tập trung hệ thống chiếu sáng, kiểm soát chất lượng không khí, tự động hóa cửa ra vào và phòng ngừa rủi ro cháy nổ do quên tắt bếp gas.
  • Hệ thống phòng trọ, chung cư mini cao cấp: Áp dụng module RFID để kiểm soát thẻ ra vào cho từng phòng trọ độc lập; giám sát an toàn cháy nổ chung cho toàn bộ khu nhà trọ và cảnh báo tự động về điện thoại của ban quản lý.
  • Văn phòng làm việc và nhà kho quy mô nhỏ: Giám sát nhiệt độ, độ ẩm bảo quản hàng hóa, phòng chống xâm nhập ban đêm và tự động kích hoạt hệ thống làm mát/thông gió khi môi trường vượt ngưỡng tiêu chuẩn.

Ước tính chi phí sản xuất phần cứng (BOM - Bill of Materials)

STT Thành phần linh kiện Số lượng Đơn giá dự kiến (VNĐ) Thành tiền (VNĐ)
1 Bo mạch vi điều khiển ESP32-WROOM-32 (NodeMCU 38-pin) 3 95.000 285.000
2 Module truyền thông SIM800L + Ăng-ten GSM 1 110.000 110.000
3 Cảm biến môi trường (DHT11, MQ-2, Flame Sensor, IR) 1 bộ 135.000 135.000
4 Đầu đọc thẻ RFID-RC522 + Bộ thẻ Mifare 1 45.000 45.000
5 Động cơ Servo SG90 + Module Relay 2 kênh 1 bộ 60.000 60.000
6 Màn hình LCD 16x2 + Module I2C PCF8574 3 bộ 45.000 135.000
7 Mạch hạ áp LM2596 + Nguồn Adapter 12V-3A 1 bộ 120.000 120.000
8 Bo mạch in gia công PCB + Phụ kiện, còi, dây nối 1 bộ 250.000 250.000
Tổng Tổng chi phí linh kiện phần cứng hoàn chỉnh -- -- 1.140.000 VNĐ

Chi phí phần cứng chỉ xấp xỉ 1.140.000 VNĐ (~46 USD) cho toàn bộ mô hình 3 phòng hoàn chỉnh, giúp tiết kiệm hơn 80% so với việc trang bị các gói thiết bị thương mại cùng tính năng.


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

Hạn chế kỹ thuật hiện tại

  • Sự phụ thuộc vào mạng di động 2G: Module SIM800L chỉ hỗ trợ mạng 2G GSM, đang dần bị các nhà mạng viễn thông tại Việt Nam và quốc tế tắt sóng để chuyển đổi sang hạ tầng mạng 4G/5G.
  • Độ chính xác của cảm biến dân dụng: Cảm biến DHT11 có dải đo độ ẩm hẹp (20% - 90%, sai số $\pm 5%$) và chu kỳ lấy mẫu chậm (1Hz); cảm biến khí gas MQ-2 cần thời gian sấy nhiệt cuộn dây (pre-heat) từ 2-3 phút mới đạt độ ổn định tuyến tính cao nhất.
  • Mất cấu hình khi mất điện đột ngột: Hệ thống chưa tích hợp khối lưu trữ nguồn năng lượng dự phòng (UPS mini với pin Lithium 18650 và mạch sạc BMS) để duy trì hoạt động liên tục khi lưới điện bị ngắt.

Hướng phát triển trong tương lai

  1. Nâng cấp phần cứng truyền thông: Chuyển đổi module SIM800L sang module 4G LTE Cat-1 (như SIM7600E hoặc A7670C) hỗ trợ các tập lệnh AT nâng cao và gọi điện cảnh báo thoại (Voice Call Alarm).
  2. Nâng cấp cụm cảm biến công nghiệp: Thay thế DHT11 bằng cảm biến độ chính xác cao SHT30 hoặc BME280 (hỗ trợ đo cả áp suất khí quyển), bổ sung cảm biến khói quang điện chuyên dụng MQ-135/MQ-7.
  3. Tích hợp trợ lý ảo điều khiển bằng giọng nói: Kết nối máy chủ Home Assistant và cấu hình Google Assistant / Amazon Alexa để ra lệnh bằng giọng nói tiếng Việt trực tiếp từ smartphone hoặc loa thông minh.
  4. Chuẩn hóa giao thức Matter / Zigbee 3.0: Mở rộng khả năng kết nối không dây của ESP32 qua giao thức chuẩn Matter để tương thích trực tiếp với hệ sinh thái Apple HomeKit và Google Home.

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

+-------------------------------------------------------------------------+
|                         ĐỐI TƯỢNG HƯỞNG LỢI                             |
+--------------------+----------------------------------------------------+
| Sinh viên          | Tài liệu thực hành lập trình nhúng C++ ESP32,      |
| Kỹ thuật & IoT     | thiết kế PCB Proteus và kiến trúc truyền thông MQTT|
+--------------------+----------------------------------------------------+
| Lập trình viên     | Mẫu kiến trúc Full-Stack IoT: Firmware nhúng,      |
| Firmware / Mobile  | Mobile App Native (Java), Web Dashboard thời gian  |
|                    | thực qua WebSockets                                |
+--------------------+----------------------------------------------------+
| Chủ nhà trọ &      | Giải pháp kiểm soát phòng trọ chi phí thấp, giảm   |
| Doanh nghiệp SMB   | rủi ro hỏa hoạn và tự động hóa quản lý từ xa       |
+--------------------+----------------------------------------------------+
| Nhà nghiên cứu     | Nền tảng thực nghiệm để thử nghiệm các thuật toán  |
| Ứng dụng           | tối ưu hóa năng lượng và bảo mật truyền thông mạng |
+--------------------+----------------------------------------------------+

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

1. Tại sao hệ thống lại sử dụng giao thức MQTT thay vì HTTP RESTful API truyền thống?

Giao thức MQTT hoạt động theo mô hình Publish/Subscribe trên nền TCP/IP, có kích thước tiêu đề gói tin (header) rất nhỏ (chỉ từ 2 bytes so với hàng trăm bytes của HTTP request). Điều này giúp tiết kiệm tối đa băng thông mạng, giảm năng lượng tiêu thụ trên vi điều khiển ESP32 và hỗ trợ truyền nhận dữ liệu thời gian thực (real-time push) tới Web và Ứng dụng mà không cần cơ chế polling liên tục gây nghẽn mạng.

2. Nếu đường truyền mạng Wi-Fi tại nhà bị mất kết nối, hệ thống có hoạt động được không?

Có. Hệ thống được thiết kế theo kiến trúc độc lập tại từng Node:

  • Người dùng vẫn có thể điều khiển trực tiếp các thiết bị điện qua các nút bấm cơ học (Manual Push Buttons) gắn trên bo mạch.
  • Màn hình LCD 16x2 tiếp tục cập nhật thông số nhiệt độ, độ ẩm và nồng độ khí gas tại chỗ.
  • Cảm biến khí gas và ngọn lửa vẫn tự động kích hoạt quạt hút và còi hú tại chỗ.
  • Module SIM800L hoạt động hoàn toàn độc lập qua sóng viễn thông GSM để gửi tin nhắn SMS cảnh báo đến số điện thoại của chủ nhà.

3. Làm cách nào để cấp nguồn ổn định cho cả ESP32 và SIM800L khi phát sóng?

Module SIM800L yêu cầu dòng tức thời lên tới 2A trong các chu kỳ phát sóng GSM. Nhóm nghiên cứu đã sử dụng mạch hạ áp Buck LM2596 lấy nguồn từ Adapter 12V-3A, hạ áp xuống mức 4.0V dành riêng cho SIM800L, đồng thời mắc song song các tụ hóa lọc nguồn dung lượng lớn (1000µF và 100nF) đặt sát chân VCC/GND của SIM800L nhằm bù sụt áp tức thời.

4. Hệ thống quản lý và phân quyền thẻ từ RFID RC522 như thế nào?

Hệ thống sử dụng một thẻ được định danh đặc biệt là Master Card (mã UID được lưu cố định). Khi quẹt Master Card, vi điều khiển ESP32 chuyển sang chế độ cấu hình: quẹt một thẻ mới để ghi nhớ UID vào bộ nhớ Non-Volatile Storage (NVS) của chip; hoặc quẹt thẻ thành viên đang có để xóa quyền truy cập mà không cần kết nối máy tính để nạp lại chương trình.

5. Chi phí triển khai hệ sinh thái này so với các giải pháp thương mại khác ra sao?

Toàn bộ chi phí vật tư phần cứng cho 3 phòng chức năng chỉ xấp xỉ 1.140.000 VNĐ. Đây là mức giá cực kỳ cạnh tranh, thấp hơn từ 70% đến 85% so với việc lắp đặt trọn gói hệ thống Smart Home thương mại (thường dao động từ 8.000.000 đến 20.000.000 VNĐ), trong khi người dùng hoàn toàn làm chủ mã nguồn và dữ liệu riêng tư của mình.


Kết luận

Đồ án tốt nghiệp "Thiết kế và Triển khai Hệ thống Nhà Thông Minh Sử dụng IoT" của sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) đã chứng minh tính khả thi, độ tin cậy và giá trị ứng dụng thực tiễn cao của mô hình IoT phân tán. Bằng việc kết hợp hài hòa giữa vi điều khiển đa năng ESP32, giao thức truyền thông nhẹ MQTT, cùng các cơ chế bảo vệ an ninh kép qua RFID và SMS GSM, hệ thống đã giải quyết trọn vẹn bài toán tự động hóa ngôi nhà với chi phí tối thiểu.

Mô hình không chỉ dừng lại ở phạm vi một đồ án tốt nghiệp đại học mà còn cung cấp một bộ khung kiến trúc chuẩn (Architectural Framework) cho các bạn sinh viên, kỹ sư nhúng và doanh nghiệp phát triển các giải pháp IoT dân dụng mở rộng, hướng tới xây dựng các không gian sống thông minh, an toàn và bền vững trong tương lai.