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 vạn vật (IoT - Internet of Things) đã biến nhà thông minh (Smart Home) từ những mô hình thí nghiệm đắt đỏ trở thành một thị trường bùng nổ toàn cầu. Theo báo cáo từ tổ chức nghiên cứu thị trường Statista, quy mô thị trường nhà thông minh thế giới đã vượt mốc 43 tỷ USD. Tại Việt Nam, doanh thu thị trường nhà thông minh ghi nhận mức tăng trưởng kép hàng năm (CAGR) ấn tượng đạt 25% trong giai đoạn 2021–2025, hướng tới quy mô 449,1 triệu USD với tỷ lệ thâm nhập ước tính đạt 10,5% tổng số hộ gia đình.

Tuy nhiên, các hệ thống Smart Home thương mại hiện hành tại Việt Nam (như BKAV SmartHome, Lumi, hay các sản phẩm nhập khẩu từ Bắc Mỹ/Châu Âu) đang tồn tại những rào cản lớn đối với người tiêu dùng phổ thông:

  • Chi phí đầu tư thiết bị và bảo trì định kỳ vượt quá khả năng tài chính của đa số hộ gia đình.
  • Phụ thuộc vào các nền tảng đóng (closed ecosystems), hạn chế khả năng can thiệp, tùy biến hoặc mở rộng module của kỹ sư và người dùng.
  • Sự phân mảnh trong các giao thức truyền thông: Bluetooth bị giới hạn cự ly dưới 10 mét; ZigBee có tốc độ truyền dữ liệu khiêm tốn (250 Kbps); còn mạng di động GSM (2G/3G/4G) lại tốn kém cước phí duy trì và độ trễ cao tại các vùng sóng yếu.

Đồ án tốt nghiệp "Thiết kế hệ thống điều khiển nhà thông minh" được thực hiện bởi sinh viên Nguyễn Cao Văn dưới sự hướng dẫn của TS. Nguyễn Thanh Sơn tại Viện Điện – Trường Đại học Bách khoa Hà Nội (HUST). Đề tài tập trung giải quyết bài toán cốt lõi: Thiết kế một hệ thống Smart Home mã nguồn mở, tối ưu chi phí, hoạt động tin cậy và phân quyền linh hoạt thông qua mạng cục bộ LAN/Wi-Fi dựa trên nền tảng vi điều khiển Arduino kết hợp ESP8266 và Ethernet Shield W5100.

Mục tiêu dự án

  1. Thiết kế phần cứng tự động hóa: Xây dựng mạch điều khiển tích hợp đa cảm biến (môi trường, khí độc, an ninh, ánh sáng) với cơ chế tự kích hoạt theo ngưỡng cài đặt.
  2. Xây dựng Web Server nhúng: Triển khai máy chủ HTTP trực tiếp trên vi điều khiển, cho phép giám sát trạng thái cảm biến và điều khiển thiết bị thời gian thực.
  3. Đa dạng hóa hạ tầng truyền thông: Xây dựng nguyên lý truyền nhận song song qua Ethernet có dây (Wiznet W5100) nhằm đảm bảo tính ổn định và qua mạng không dây Wi-Fi (ESP8266 NodeMCU CP2102).
  4. Nghiên cứu mở rộng ứng dụng Trí tuệ Nhân tạo (AI): Đề xuất thuật toán mạng nơ-ron truyền ngược BP (Backpropagation Neural Network) 3 lớp nhằm nhận dạng thói quen sinh hoạt của người dùng.

Kết quả kỳ vọng & Phạm vi nghiên cứu

  • Chỉ số kỹ thuật kỳ vọng: Thời gian đáp ứng lệnh điều khiển trên Web Server $\le 200\text{ ms}$; chu kỳ quét dữ liệu cảm biến đạt $1\text{ Hz}$; tỷ lệ kích hoạt cảnh báo rò rỉ khí gas và chuyển động đạt độ tin cậy $100%$.
  • Phạm vi triển khai: Mô hình thử nghiệm 2 phòng chức năng (1 phòng khách, 1 phòng ngủ) sử dụng địa chỉ IP tĩnh nội mạng (Static IP) kết nối chuẩn Router Wi-Fi/LAN gia đình.

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

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

Để định hình cấu trúc phần cứng tối ưu, đồ án đã tiến hành đánh giá so sánh các giải pháp điều khiển nhà thông minh phổ biến hiện nay:

Tiêu chí so sánh Hệ sinh thái đóng (BKAV / Lumi) Giải pháp Bluetooth / ZigBee rời rạc Giải pháp đề xuất (Arduino Mega + W5100 / ESP8266)
Chi phí triển khai Rất cao (Hàng chục đến hàng trăm triệu VNĐ) Trung bình (2 - 5 triệu VNĐ) Thấp (< 1,5 triệu VNĐ cho toàn bộ module)
Khả năng tùy biến Khép kín, không thể can thiệp mã nguồn Phụ thuộc vào phần cứng của nhà sản xuất Mã nguồn mở 100%, dễ mở rộng thêm ngoại vi
Phạm vi truyền thông Toàn bộ ngôi nhà qua Gateway riêng Bị giới hạn (Bluetooth < 10m, ZigBee phụ thuộc Router) Phủ rộng theo mạng LAN/Wi-Fi hoặc Internet qua Port Forwarding
Tốc độ truyền dữ liệu Phụ thuộc Server đám mây của hãng $250\text{ Kbps}$ (ZigBee) $10 - 100\text{ Mbps}$ (Ethernet W5100) / $54\text{ Mbps}$ (Wi-Fi 802.11 b/g/n)
Mức độ phụ thuộc Cloud Cao (Mất mạng quốc tế dễ gián đoạn) Thấp (Điều khiển nội vùng) Không phụ thuộc (Xử lý trực tiếp tại Web Server nhúng ở biên)

Phân tích yêu cầu theo ma trận MoSCoW

  • Must Have (Bắt buộc có):
    • Tự động bật quạt khi nhiệt độ $\ge 30^\circ\text{C}$ hoặc độ ẩm $\ge 80%$.
    • Tự động bật còi chip báo động khi nồng độ khí gas vượt ngưỡng $400\text{ ppm}$ (tương ứng giá trị ADC trên chân A7).
    • Tự động bật đèn khi trời tối (điện trở quang trở LDR $> 500,\Omega$).
    • Tự động mở cửa bằng động cơ Servo MG90S khi cảm biến PIR HC-SR501 phát hiện chuyển động.
    • Điều khiển bật/tắt thiết bị qua giao diện Web Server nhúng.
  • Should Have (Nên có):
    • Đồng bộ trạng thái 2 chiều giữa nút nhấn vật lý và nút ảo trên giao diện Web.
    • Khả năng chuyển đổi linh hoạt giữa giao tiếp có dây (Ethernet) và không dây (Wi-Fi).
  • Could Have (Có thể có):
    • Tích hợp mạng nơ-ron truyền ngược BP để học thói quen người dùng (ví dụ: phát hiện hiện tượng đi lang thang ban đêm - Night wandering).
  • Won't Have (Chưa thực hiện trong giai đoạn này):
    • Xác thực sinh trắc học vân tay, mống mắt hay điều khiển bằng giọng nói tự nhiên offline.

Thiết kế hệ thống

Hệ thống được tổ chức theo kiến trúc phân lớp hướng module hóa, cho phép mở rộng không giới hạn các cơ cấu chấp hành:

  1. Khối vi xử lý trung tâm (Central MCU): Sử dụng board Arduino Mega 2560 R3 trang bị vi điều khiển 8-bit ATmega2560 xung nhịp $16\text{ MHz}$, $256\text{ KB}$ Flash Memory, $8\text{ KB}$ SRAM, $4\text{ KB}$ EEPROM cùng 54 chân Digital I/O (15 chân PWM) và 16 chân Analog Inputs. Cấu hình này đáp ứng số lượng ngoại vi vượt trội so với dòng Arduino Uno R3 (vốn chỉ có $32\text{ KB}$ Flash và 14 chân Digital).
  2. Khối truyền thông mạng:
    • Arduino Ethernet Shield W5100: Sử dụng chip điều khiển phần cứng TCP/IP Wiznet W5100 kết nối qua bus SPI (sử dụng chân Digital D10 cho tín hiệu SS), hỗ trợ đồng thời tối đa 4 socket TCP/UDP độc lập, tốc độ $10/100\text{ Mbps}$.
    • ESP8266 NodeMCU (CP2102): Đóng vai trò làm bộ thu phát Wi-Fi độc lập hoặc Gateway không dây, chạy trên nền chip SoC 32-bit Tensilica L106.
  3. Khối cảm biến (Sensors):
    • Cảm biến nhiệt ẩm DHT11: Đo nhiệt độ $0 - 50^\circ\text{C}$ (sai số $\pm 2^\circ\text{C}$), độ ẩm $20% - 90%\text{ RH}$ (sai số $\pm 5%\text{ RH}$), giao tiếp Digital 1-wire, tần số lấy mẫu $1\text{ Hz}$.
    • Cảm biến khí gas MQ-2: Đầu đo chất bán dẫn $\text{SnO}_2$, nhạy với khí hóa lỏng LPG, propan, mê-tan, hydro và khói, xuất tín hiệu Analog $0 - 5\text{V}$.
    • Cảm biến chuyển động hồng ngoại thụ động PIR HC-SR501: Góc quét hình nón $360^\circ$, cự ly phát hiện tối đa $6\text{ m}$, cấu hình chế độ kích hoạt lặp lại (H-mode) với thời gian trễ tùy chỉnh $30\text{ s}$.
    • Module cảm biến ánh sáng LDR: Tích hợp IC so sánh điện áp LM393, cung cấp cả đầu ra Digital và Analog.
  4. Khối cơ cấu chấp hành (Actuators):
    • Động cơ Servo RC MG90S: Lực kéo $1,2\text{ kg/cm}$ tại $6\text{V}$, bánh răng kim loại, điều khiển góc quay $0^\circ - 90^\circ$ qua độ rộng xung PWM từ $1\text{ ms} - 2\text{ ms}$.
    • Quạt tản nhiệt DC Brushless 8025: Điện áp $5\text{V}$, dòng $0,25\text{A}$, công suất $3\text{W}$, tốc độ $3600\text{ rpm} \pm 5%$, độ ồn $37\text{ dBA}$.
    • Còi chip báo động $5\text{V}$ (Buzzer): Tiêu thụ dòng $< 25\text{ mA}$, cường độ âm thanh $> 80\text{ dB}$ tại tần số $2300\text{ Hz} \pm 500\text{ Hz}$.
    • Module Relay 4 kênh kích mức thấp (Optocoupler cách ly quang) đóng cắt dòng tải xoay chiều.

Thiết kế địa chỉ mạng và bảo mật

Hệ thống sử dụng cấu hình địa chỉ IP tĩnh để loại bỏ thời gian cấp phát DHCP và tránh rủi ro thay đổi địa chỉ điều khiển:

  • Địa chỉ MAC vật lý: 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
  • Địa chỉ IPv4 nội mạng: 192.168.100.10
  • Cổng dịch vụ Web Server: Port 80 (HTTP standard)

Methodology

Dự án áp dụng quy trình phát triển lặp kết hợp mô hình chữ V (V-Model Iterative):

[Phân tích yêu cầu] --------> [Thiết kế hệ thống] --------> [Mô phỏng Proteus]
         |                                                           |
         v                                                           v
[Kiểm thử chấp nhận] <------- [Kiểm thử tích hợp] <-------- [Hiện thực phần cứng]
  • Tiến độ triển khai (Milestones):
    • Giai đoạn 1 (Tuần 1 - 4): Khảo sát lý thuyết, thiết kế sơ đồ nguyên lý mạch điện trên phần mềm Proteus 8.x, lập trình mô phỏng các khối cảm biến độc lập.
    • Giai đoạn 2 (Tuần 5 - 8): Lập trình giao tiếp Socket Web Server trên vi điều khiển qua thư viện Ethernet.hESP8266WebServer.h, xây dựng giao diện HTML/CSS responsive.
    • Giai đoạn 3 (Tuần 9 - 12): Gia công mô hình thực nghiệm 2 phòng bằng Mica/Alu, lắp đặt đường dây, tích hợp toàn diện hệ thống phần cứng và kiểm thử lỗi (Debugging).
    • Giai đoạn 4 (Tuần 13 - 16): Thử nghiệm độ ổn định tải liên tục trong 72 giờ, tối ưu hóa thuật toán xử lý chuỗi HTTP, tổng hợp dữ liệu cho mạng nơ-ron BP.

Implementation và kết quả

Development process

Quá trình lập trình hệ sinh thái nhúng được chia tách thành hai giải pháp: Xây dựng máy chủ Web trên vi điều khiển ESP8266 độc lập và Xây dựng máy chủ Web hiệu năng cao trên Arduino Mega 2560 kết hợp Ethernet Shield W5100.

1. Lập trình Web Server nhúng trên vi điều khiển ESP8266 (Wi-Fi)

Firmware trên ESP8266 đảm nhận việc tạo Access Point/kết nối trạm Wi-Fi, phân tích cú pháp HTTP Request và sinh mã HTML động để gửi trả Client:

#include <ESP8266WebServer.h>

const char* ssid = "P503";
const char* password = "caovan99";
ESP8266WebServer server(80);

uint8_t LED1pin = D4;
bool LED1status = LOW;
uint8_t LED2pin = D2;
bool LED2status = LOW;

void setup() {
  Serial.begin(115200);
  pinMode(LED1pin, OUTPUT);
  pinMode(LED2pin, OUTPUT);
  
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi connected. IP: " + WiFi.localIP().toString());
  
  // Thiết lập các Endpoint điều khiển
  server.on("/", handle_OnConnect);
  server.on("/led1on", []() { LED1status = HIGH; server.send(200, "text/html", SendHTML()); });
  server.on("/led1off", []() { LED1status = LOW; server.send(200, "text/html", SendHTML()); });
  server.begin();
}

void loop() {
  server.handleClient();
  digitalWrite(LED1pin, LED1status);
  digitalWrite(LED2pin, LED2status);
}

String SendHTML() {
  String ptr = "<!DOCTYPE html><html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">";
  ptr += "<title>Smart Home Control</title><style>";
  ptr += ".button {display:block;width:120px;padding:10px;margin:10px auto;border-radius:4px;color:white;text-align:center;text-decoration:none;}";
  ptr += ".btn-on {background-color:#1abc9c;} .btn-off {background-color:#34495e;}";
  ptr += "</style></head><body><h1>He Thong Dieu Khien Nha Thong Minh</h1>";
  if(LED1status) { ptr += "<p>Den 1: DANG BAT</p><a class=\"button btn-off\" href=\"/led1off\">TAT</a>"; }
  else { ptr += "<p>Den 1: DANG TAT</p><a class=\"button btn-on\" href=\"/led1on\">BAT</a>"; }
  ptr += "</body></html>";
  return ptr;
}

2. Lập trình máy chủ trung tâm trên Arduino Mega 2560 + Ethernet W5100

Mã nguồn tối ưu hóa việc phân tích chuỗi ký tự nhận từ kết nối TCP Socket, đồng thời xử lý các logic ngắt tự động từ các đầu đo cảm biến:

#include <SPI.h>
#include <Ethernet.h>
#include <DHT.h>
#include <Servo.h>

#define DHTPIN 7
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
Servo myServo;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 100, 10);
EthernetServer server(80);
String readString = "";

const int Door = 6;
const int Buzzer = 17;
const int Fan2 = 19;
const int CBgas = A7;
const int CBCD = 6;

void setup() {
  dht.begin();
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.begin(9600);
  myServo.attach(Door);
  
  pinMode(Fan2, OUTPUT);
  pinMode(Buzzer, OUTPUT);
  pinMode(CBgas, INPUT);
  pinMode(CBCD, INPUT);
}

void loop() {
  // 1. Logic tự động hóa theo cảm biến
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  int gasVal = analogRead(CBgas);
  int motionVal = digitalRead(CBCD);

  // Tự động bật quạt theo nhiệt ẩm
  if (t >= 30.0 || h >= 80.0) digitalWrite(Fan2, HIGH);
  else digitalWrite(Fan2, LOW);

  // Tự động cảnh báo nồng độ khí Gas
  if (gasVal > 400) digitalWrite(Buzzer, HIGH);
  else digitalWrite(Buzzer, LOW);

  // Tự động mở cửa khi có chuyển động
  if (motionVal == HIGH) myServo.write(90);
  else myServo.write(0);

  // 2. Lắng nghe và xử lý Client từ Ethernet Socket
  EthernetClient client = server.available();
  if (client) {
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (readString.length() < 100) readString += c;
        if (c == '\n' && currentLineIsBlank) {
          if (readString.indexOf("Fan1on") > 0) digitalWrite(Fan2, HIGH);
          if (readString.indexOf("Fan1off") > 0) digitalWrite(Fan2, LOW);

          // Phản hồi HTTP Header & Render bảng dữ liệu
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();
          client.println("<html><body style='background-color:#ecf0f1;'>");
          client.println("<h2>BANG THEO DOI MOI TRUONG</h2>");
          client.println("<p>Nhiet do: " + String(t) + " *C</p>");
          client.println("<p>Do am: " + String(h) + " %</p>");
          client.println("<p>Gas Level: " + String(gasVal) + "</p>");
          client.println("</body></html>");
          break;
        }
        if (c == '\n') currentLineIsBlank = true;
        else if (c != '\r') currentLineIsBlank = false;
      }
    }
    delay(1);
    client.stop();
    readString = "";
  }
}

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt tại phòng thí nghiệm Bộ môn Thiết bị điện – Điện tử:

Kịch bản kiểm thử (Test Scenario) Điều kiện kích hoạt thực nghiệm Kết quả mong đợi Kết quả thực tế Trạng thái
Cảnh báo rò rỉ khí Gas Bơm khí LPG từ bật lửa gần cảm biến MQ-2 $V_{out} > 400\text{ ADC}$ $\rightarrow$ Kích hoạt Buzzer $> 80\text{ dB}$ Còi phát tín hiệu bíp liên tục sau $0,8\text{ s}$ ĐẠT
Kiểm soát nhiệt ẩm Dùng máy sấy nhiệt tăng nhiệt độ lên $32^\circ\text{C}$ Chân D19 lên mức HIGH $\rightarrow$ Quạt Brushless quay $3600\text{ rpm}$ Quạt bật tức thì, giao diện Web cập nhật trạng thái ĐẠT
Đóng mở cửa an ninh Người di chuyển vào vùng quét PIR ($3\text{ m}$) Servo MG90S quay góc $90^\circ$ trong thời gian $0,1\text{ s}$ Cửa mở mượt mà, giữ trạng thái trong $30\text{ s}$ ĐẠT
Bật đèn tự động Che tối bề mặt quang trở LDR ($R > 500,\Omega$) Relay đóng tiếp điểm NO, đèn LED phòng khách sáng Đèn sáng ổn định, không có hiện tượng rung tiếp điểm ĐẠT
Độ trễ phản hồi Web Server Gửi 100 HTTP GET Requests từ trình duyệt Chrome Thời gian phản hồi trang $< 300\text{ ms}$ Thời gian trung bình đạt $128\text{ ms}$ qua Ethernet ĐẠT

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

Hệ thống đã hoàn thành $100%$ các mục tiêu kỹ thuật đề ra ban đầu:

  • Khả năng tự vận hành độc lập: Các mạch logic cảm biến xử lý nội tại với thời gian đáp ứng dưới $50\text{ ms}$, không bị trễ khi mất kết nối mạng.
  • Đồng bộ hóa điều khiển đa phương thức: Cho phép người dùng bật/tắt thiết bị qua nút bấm cứng vật lý, đồng thời cập nhật tức thì trạng thái lên giao diện máy chủ Web.
  • Tính khả thi của mô hình thực tế: Mô hình 2 phòng hoàn chỉnh hoạt động bền bỉ, tiêu thụ điện năng toàn tải chỉ xấp xỉ $4,5\text{W}$, đảm bảo an toàn tuyệt đối về điện áp thấp ($5\text{V} - 12\text{V DC}$).

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

  1. Kiến trúc Serverless on MCU (Máy chủ tự lưu trữ trên vi điều khiển): Không cần thuê Cloud Server hay trang bị máy tính nhúng đắt tiền (như Raspberry Pi), hệ thống nhúng trực tiếp giao diện Web tĩnh và động vào bộ nhớ Flash của ATmega2560 và ESP8266, giúp giảm $100%$ chi phí duy trì máy chủ hàng tháng.
  2. Cơ chế dự phòng kép (Dual-Network Redundancy): Tích hợp đồng thời Ethernet có dây ổn định và Wi-Fi không dây linh hoạt. Khi một giao thức gặp sự cố, hệ thống vẫn duy trì khả năng kiểm soát cục bộ.
  3. Nghiên cứu ứng dụng Mạng nơ-ron truyền ngược BP (Backpropagation Neural Network):
    • Đồ án đã tiên phong nghiên cứu cấu trúc mạng BP 3 lớp (Lớp đầu vào - Lớp ẩn - Lớp đầu ra) để nhận dạng hoạt động sinh hoạt hàng ngày (Daily Life Activities).
    • Mô hình mạng sử dụng dữ liệu chuỗi thời gian từ các cảm biến môi trường và chuyển động để phân loại các trạng thái bất thường (ví dụ: người già đi lại bất thường vào ban đêm), đạt độ chính xác dự báo thử nghiệm trên $88%$.
  4. Hiệu quả kinh tế vượt trội: Toàn bộ chi phí linh kiện phần cứng để lắp ráp hệ thống hoàn chỉnh chỉ dao động từ $800.000$ đến $1.200.000\text{ VNĐ}$, tiết kiệm hơn $75%$ so với các gói giải pháp cơ bản của Lumi hay BKAV.

Ứ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ộ chung cư và nhà ở phổ thông: Giám sát an toàn chống cháy nổ (rò rỉ gas, khói), tự động hóa quạt thông gió và chiếu sáng thông minh.
  • Hỗ trợ người cao tuổi và người khuyết tật: Cửa tự động mở khi có người tiến lại gần; điều khiển toàn bộ thiết bị điện trong nhà qua điện thoại thông minh hoặc máy tính bảng mà không cần di chuyển.
  • Văn phòng và phòng thí nghiệm trường học: Giám sát điều kiện vi khí hậu (nhiệt độ, độ ẩm) và tự động tắt đèn khi hết giờ làm việc.

Bảng dự toán chi phí phần cứng (BOM - Bill of Materials)

STT Tên linh kiện / Thiết bị Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
1 Bo mạch vi điều khiển Arduino Mega 2560 R3 1 240.000 240.000
2 Arduino Ethernet Shield W5100 1 135.000 135.000
3 Kit Wi-Fi SoC ESP8266 NodeMCU CP2102 1 85.000 85.000
4 Cảm biến nhiệt độ, độ ẩm DHT11 1 35.000 35.000
5 Cảm biến khí Gas MQ-2 1 45.000 45.000
6 Cảm biến chuyển động PIR HC-SR501 1 35.000 35.000
7 Module cảm biến ánh sáng LDR + LM393 1 15.000 15.000
8 Động cơ Servo MG90S bánh răng kim loại 1 65.000 65.000
9 Quạt tản nhiệt DC Brushless 8025 (5V) 1 40.000 40.000
10 Module Relay 4 kênh 5VDC cách ly quang 1 55.000 55.000
11 Còi chip báo động 5V + Nút nhấn + Phụ kiện cáp 1 bộ 50.000 50.000
TỔNG Chi phí cấu thành hệ thống phần cứng 800.000 VNĐ

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

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

  • Độ chính xác cảm biến: Cảm biến DHT11 có sai số nhiệt độ $\pm 2^\circ\text{C}$ và dải đo độ ẩm hẹp ($20% - 90%$), chưa phù hợp cho các kho lạnh bảo quản tiêu chuẩn cao.
  • Giới hạn kết nối mạng: Chip W5100 chỉ hỗ trợ tối đa 4 socket kết nối TCP đồng thời. Nếu có nhiều thiết bị truy cập Web Server cùng lúc, hệ thống có thể bị nghẽn lệnh (Timeout).
  • Giao thức truyền thông: Sử dụng giao thức HTTP đơn thuần truyền nhận chuỗi văn bản thuần (Plaintext), chưa tích hợp chứng chỉ mã hóa dữ liệu SSL/TLS (HTTPS) hay giao thức truyền thông nhẹ MQTT.

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

  1. Nâng cấp phần cứng cảm biến: Thay thế DHT11 bằng module DHT22 hoặc BME280 (sai số $\pm 0,5^\circ\text{C}$, đo thêm áp suất khí quyển).
  2. Chuyển dịch sang kiến trúc vi điều khiển 32-bit ESP32: Tận dụng vi xử lý Dual-core $240\text{ MHz}$, tích hợp cả Wi-Fi và Bluetooth Low Energy (BLE 5.0) trên cùng một chip để giảm kích thước mạch.
  3. Ứng dụng giao thức MQTT kết nối Cloud: Kết nối thiết bị tới Broker (như EMQX, HiveMQ) để tích hợp vào các nền tảng trợ lý ảo lớn (Google Assistant, Apple HomeKit, Home Assistant).
  4. Hiện thực hóa mô hình AI tại biên (TinyML): Huấn luyện mạng nơ-ron phân loại hành vi trên máy tính và nạp trực tiếp mô hình lượng tử hóa (TensorFlow Lite for Microcontrollers) lên chip ESP32.

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

  • Sinh viên ngành Kỹ thuật Điện, Điện tử, Tự động hóa và CNTT: Cung cấp tài liệu tham khảo chi tiết từ sơ đồ nguyên lý mạch, kỹ thuật giao tiếp SPI, lập trình Socket TCP nhúng đến mã nguồn mẫu C++/HTML.
  • Kỹ sư phát triển hệ thống IoT (IoT Developers): Nắm bắt phương pháp thiết kế phần cứng ổn định, cơ chế xử lý ngắt và phương pháp tối ưu hóa bộ nhớ SRAM trên vi điều khiển 8-bit/32-bit.
  • Các doanh nghiệp khởi nghiệp (Startups) & Hộ gia đình tự chế (Makers): Sở hữu thiết kế kiến trúc hệ thống nhà thông minh chi phí siêu thấp, có thể thương mại hóa nhanh cho phân khúc khách hàng bình dân.
  • Các nhà nghiên cứu ứng dụng AI trong điều khiển: Cung cấp cơ sở dữ liệu thực nghiệm để tiếp tục phát triển các thuật toán học máy dự đoán hành vi trong không gian sống thông minh.

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

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

Hệ thống yêu cầu nguồn cấp một chiều ổn định $5\text{V} - 2\text{A}$ (hoặc nguồn Adapter $9\text{V} - 12\text{V DC}$ cấp vào Jack nguồn Arduino), một Router phát Wi-Fi/mạng LAN có sẵn cổng Ethernet RJ45 và cấu hình dải mạng tương thích với IP tĩnh của hệ thống (192.168.100.x).

2. Giới hạn mở rộng (Scalability) của hệ thống đến đâu và khắc phục thế nào?

Bo mạch Arduino Mega 2560 cung cấp tới 54 chân Digital I/O và 16 chân Analog, cho phép kết nối tối đa khoảng 15-20 cảm biến và thiết bị chấp hành trên một trạm điều khiển. Để mở rộng cho biệt thự nhiều tầng, giải pháp tối ưu là sử dụng cấu trúc mạng phân tán: Mỗi tầng đặt một vi điều khiển Node (ESP8266/ESP32) và giao tiếp đồng bộ về Gateway trung tâm qua giao thức MQTT.

3. Hệ thống có khả năng tích hợp với các nền tảng nhà thông minh khác không?

Hoàn toàn có thể. Do hệ thống sử dụng các chuẩn giao tiếp tiêu chuẩn (HTTP/RESTful API, giao tiếp nối tiếp Serial UART), người dùng chỉ cần viết thêm một module cầu nối (Integration Bridge) là có thể dễ dàng điều khiển thông qua Home Assistant, OpenHAB hoặc đồng bộ với Apple HomeKit.

4. Công tác bảo trì phần cứng và cập nhật firmware diễn ra như thế nào?

Các module cảm biến (DHT11, MQ-2, PIR) được kết nối qua header cắm chuẩn nên rất dễ tháo lắp thay thế độc lập khi hỏng hóc mà không cần hàn lại mạch. Việc nạp lại firmware có thể thực hiện trực tiếp qua cổng USB Type-B trên Arduino Mega hoặc nạp không dây qua giao thức OTA (Over-The-Air) nếu dùng module ESP8266.

5. Tổng chi phí đầu tư ban đầu và thời gian thu hồi vốn (ROI) ước tính?

Chi phí linh kiện cho một bộ điều khiển trung tâm 2 phòng chỉ khoảng $800.000\text{ VNĐ}$. Nhờ khả năng tự động tắt quạt, tắt đèn khi không có người và tối ưu hóa điều hòa theo nhiệt độ môi trường, hệ thống giúp tiết kiệm ước tính $15% - 25%$ hóa đơn tiền điện hàng tháng (khoảng $150.000 - 250.000\text{ VNĐ/tháng}$ cho một hộ gia đình), giúp thu hồi toàn bộ chi phí đầu tư thiết bị chỉ sau 4 đến 6 tháng sử dụng.


Kết luận

Đồ án tốt nghiệp "Thiết kế hệ thống điều khiển nhà thông minh" của tác giả Nguyễn Cao Văn tại Trường Đại học Bách khoa Hà Nội đã chứng minh tính khả thi vượt trội của việc ứng dụng các nền tảng phần cứng nguồn mở (Arduino Mega 2560, Ethernet Shield W5100, ESP8266) vào bài toán tự động hóa nhà ở. Đề tài không chỉ hoàn thành xuất sắc các yêu cầu kỹ thuật về tự động hóa đa cảm biến và điều khiển từ xa qua giao diện Web Server thời gian thực, mà còn mở ra hướng tiếp cận kinh tế đầy tiềm năng, giúp bình dân hóa công nghệ Smart Home tại Việt Nam.

Với định hướng tích hợp Trí tuệ Nhân tạo (mạng nơ-ron BP) và nâng cấp giao thức IoT hiện đại, hệ thống hứa hẹn sẽ trở thành nền tảng tham khảo vững chắc cho các nghiên cứu chuyên sâu và sản phẩm thương mại hóa trong tương lai.