Giới thiệu dự án

Bối cảnh thị trường và vấn đề thực tiễn

Theo các báo cáo nghiên cứu thị trường công nghệ toàn cầu (Statista & IoT Analytics), thị trường nhà thông minh (Smart Home) đạt tốc độ tăng trưởng kép hàng năm (CAGR) trên 15% trong giai đoạn 2018–2025, đặc biệt bùng nổ tại khu vực Bắc Mỹ và châu Á - Thái Bình Dương. Tại Việt Nam, xu hướng tự động hóa không gian sống (Home Automation) đang phát triển mạnh mẽ nhằm đáp ứng các tiêu chuẩn về an ninh, tiết kiệm năng lượng và tiện nghi sinh hoạt.

Tuy nhiên, rào cản lớn nhất hiện nay đối với việc phổ cập Smart Home tại các hộ gia đình Việt Nam chính là:

  • Chi phí đầu tư ban đầu cho các hệ thống thương mại khép kín (như BKAV SmartHome, Lumi, Compro Technology, IEI Integration) rất cao, dao động từ vài chục đến hàng trăm triệu đồng.
  • Tính tương thích kém và phụ thuộc hoàn toàn vào hệ sinh thái độc quyền của nhà sản xuất (vendor lock-in), gây khó khăn cho việc nâng cấp, mở rộng và bảo trì ngoại vi.
  • Thiếu các giải pháp kiến trúc phần cứng mở, linh hoạt cho phép tùy biến sâu giữa các phân khu chức năng (phòng khách, phòng ngủ, bếp, gara, sân vườn).

Mục tiêu dự án

Đồ án "Xây dựng ứng dụng Android truy xuất CSDL giao diện Web điều khiển nhà Smart Home trên nền mã nguồn mở" của Đại học Bách Khoa Hà Nội đặt ra các mục tiêu kỹ thuật cụ thể:

  1. Thiết kế và chế tạo mô hình phần cứng nhà thông minh hoàn chỉnh với tỷ lệ kích thước thực nghiệm $1000,\text{mm} \times 800,\text{mm}$, chia thành 6 phân khu chức năng riêng biệt.
  2. Xây dựng cấu trúc điều khiển phân tán gồm vi điều khiển cục bộ (Arduino Uno R3) và trạm xử lý trung tâm (Arduino Mega 2560 kết hợp Ethernet Shield W5100).
  3. Tích hợp hệ thống cảm biến an toàn - cảnh báo đa tầng: cảm biến nhiệt độ LM35, cảm biến khí gas MQ2, cảm biến chuyển động hồng ngoại thụ động PIR (HC-SR501/HC-SR510), cảm biến ánh sáng LDR và cảm biến mưa.
  4. Phát triển hệ cơ cấu chấp hành tự động: Động cơ servo SG90 điều khiển cửa ra vào, cửa gara, rèm cửa, dây phơi; động cơ bước kết hợp module A4988 và động cơ DC điều khiển quạt thông gió biến tần theo nhiệt độ.
  5. Triển khai hệ thống máy chủ nhúng (Embedded Web Server) và ứng dụng di động Android truy xuất cơ sở dữ liệu để giám sát từ xa thời gian thực qua giao thức TCP/IP.
graph TD
    UserApp[Ứng dụng Android & Web Browser] -->|HTTP / TCP-IP qua Router Wi-Fi| W5100[Arduino Ethernet Shield W5100]
    W5100 -->|Giao tiếp SPI| Mega[Arduino Mega 2560 Gateway Master]
    Mega -->|Bus UART / I/O Signals| UnoLiving[Arduino Uno - Phòng Khách & Gara]
    Mega -->|Bus UART / I/O Signals| UnoBed[Arduino Uno - Phòng Ngủ & Giải Trí]
    Mega -->|Bus UART / I/O Signals| UnoKitchen[Arduino Uno - Phòng Bếp & Ngoại Vi]
    
    UnoLiving --> Sensors1[LM35, PIR, Keypad 4x4, LCD]
    UnoLiving --> Actuators1[Servo Cửa Chính, Servo Gara, Đèn/Quạt]
    
    UnoBed --> Sensors2[LM35, LDR Ánh Sáng]
    UnoBed --> Actuators2[Servo Rèm, Động cơ bước A4988 Quạt]
    
    UnoKitchen --> Sensors3[MQ2 Gas, LM35, PIR Cửa Sổ, Cảm biến Mưa]
    UnoKitchen --> Actuators3[Servo Dây Phơi, Chuông Còi Báo Động]

Phạm vi và giới hạn hệ thống

  • Phạm vi triển khai: Mô hình vật lý 6 khu vực chức năng (Vườn/Cổng, Phòng khách, Phòng ngủ, Phòng bếp, Gara ô tô, Phòng giải trí) với tổng cộng 12 biến điều khiển (8 biến Digital và 4 biến Analog).
  • Giới hạn kỹ thuật: Hệ thống mạng cục bộ (LAN/Wi-Fi) thông qua chuẩn Ethernet RJ45 và module W5100 hỗ trợ tối đa 4 kết nối socket đồng thời; cơ chế truyền thông giữa các board sử dụng chuẩn logic 5V TTL.

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

Phân tích hiện trạng và đối sánh công nghệ

Tiêu chí kỹ thuật Giải pháp thương mại cao cấp (BKAV / Lumi) Giải pháp IoT Wi-Fi giá rẻ (Sonoff / Tuya) Giải pháp Đồ án (Arduino Master-Slave W5100)
Kiến trúc hệ thống Mesh không dây độc quyền (Zigbee / Z-Wave) Cloud-dependent (Wi-Fi 2.4GHz) Phân tầng lai (Distributed Hardware + Local Ethernet Gateway)
Tính độc lập Cloud Phụ thuộc Server nhà sản xuất 100% phụ thuộc Cloud quốc tế Hoạt động độc lập qua Local Web Server / IP tĩnh
Khả năng mở rộng phần cứng Thấp (chỉ dùng thiết bị cùng hãng) Trung bình (hạn chế can thiệp firmware) Rất cao (truy cập trực tiếp thanh ghi I/O, SPI, I2C, UART)
Chi phí triển khai Rất cao (30.000.000 – 100.000.000 VNĐ) Thấp (500.000 – 2.000.000 VNĐ) Tối ưu sinh viên/chế tạo (< 2.500.000 VNĐ)
Độ trễ phản hồi (Latency) 150 – 300 ms 400 – 1200 ms (tùy mạng internet) < 80 ms trong mạng nội bộ LAN

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

  • Must Have (Bắt buộc):
    • Cảnh báo tự động rò rỉ khí gas (MQ2) và quá nhiệt báo cháy (LM35) kích hoạt còi hú tức thì.
    • Bảo mật cửa chính bằng bàn phím ma trận Keypad $4 \times 4$ với Passcode 6 ký tự; khóa hệ thống khi sai 3 lần.
    • Thu hồi dây phơi tự động khi trời mưa và đóng/mở rèm cửa theo cường độ ánh sáng quang trở (LDR).
    • Web Server nhúng hiển thị trực quan thông số nhiệt độ, độ ẩm và trạng thái thiết bị.
  • Should Have (Nên có):
    • Điều khiển tốc độ quạt phòng ngủ tự động theo nhiệt độ bằng driver động cơ bước A4988.
    • Tự động bật/tắt đèn chiếu sáng sân vườn và cầu thang khi phát hiện chuyển động PIR với độ trễ trễ 3 giây ($t_{delay} = 3,\text{s}$).
    • Đồng bộ trạng thái thiết bị 2 chiều lên ứng dụng Android.
  • Could Have (Có thể mở rộng):
    • Chế độ rạp phim (Cinema Mode): Kéo rèm, tắt đèn chiếu sáng, hạ máy chiếu và bật quạt chỉ với 1 nút bấm.
    • Điều khiển mở cửa gara từ xa qua giao diện Web.
  • Won't Have (Chưa thực hiện trong giai đoạn này):
    • Nhận diện giọng nói thông minh bằng AI / Machine Learning.
    • Tích hợp camera truyền tải video trực tiếp qua module vi điều khiển 8-bit.

Thông số phần cứng và công nghệ sử dụng

classDiagram
    class ArduinoMega2560 {
        +ATmega2560 16MHz
        +54 Digital I/O (15 PWM)
        +16 Analog Inputs
        +256KB Flash Memory
        +8KB SRAM
        +SPI, 4 UART Ports
    }
    class EthernetShieldW5100 {
        +Chip W5100 Hardwired TCP/IP
        +Buffer nội 16KB
        +Tốc độ 10/100 Mbps
        +Giao tiếp SPI
        +Cổng RJ45 SI-40138
    }
    class ArduinoUnoR3 {
        +ATmega328P 16MHz
        +14 Digital I/O (6 PWM)
        +6 Analog Inputs
        +32KB Flash, 2KB SRAM
    }
    class SensorNodes {
        +LM35 Temperature (10mV/°C)
        +MQ2 Gas (SnO2 Semiconductor)
        +HC-SR510 PIR Motion
        +Rain Sensor & LDR
    }
    class ActuatorNodes {
        +Servo SG90 (1.8kg.cm)
        +Stepper Motor & A4988 Driver
        +Relay Channels (Đèn, Quạt)
    }
    ArduinoMega2560 <|-- EthernetShieldW5100 : Stack qua SPI
    ArduinoMega2560 --> ArduinoUnoR3 : Bus truyền thông Master-Slave
    ArduinoUnoR3 --> SensorNodes : Thu thập tín hiệu
    ArduinoUnoR3 --> ActuatorNodes : Xuất xung điều khiển
  • Bộ điều khiển trung tâm (Master Gateway): Arduino Mega 2560 (ATmega2560, xung nhịp $16,\text{MHz}$, bộ nhớ Flash $256,\text{KB}$, SRAM $8,\text{KB}$, $54$ chân Digital I/O, $16$ chân Analog).
  • Bộ điều khiển khu vực (Local Nodes): Arduino Uno R3 (ATmega328P, xung nhịp $16,\text{MHz}$, Flash $32,\text{KB}$, SRAM $2,\text{KB}$).
  • Module mạng: Arduino Ethernet Shield W5100 (bộ đệm phần cứng TCP/IP $16,\text{KB}$, chuẩn kết nối SPI với 4 đường $CS_n$, $MOSI$, $MISO$, $SCK$).
  • Giao thức điều khiển cơ cấu chấp hành: Xung điều chế PWM (tần số $50,\text{Hz}$, độ rộng xung $1,\text{ms} - 2,\text{ms}$) cho Servo SG90; tín hiệu xung bước $STEP/DIR$ cho driver vi bước A4988.

Implementation và kết quả

Thuật toán và mã nguồn thực thi cốt lõi

1. Thuật toán đo và chuẩn hóa nhiệt độ từ cảm biến analog LM35

Cảm biến LM35 có hệ số chuyển đổi tuyến tính chuẩn $10,\text{mV}/^\circ\text{C}$. Bộ biến đổi tương tự - số (ADC) 10-bit trên vi điều khiển ATmega328P sử dụng điện áp tham chiếu $V_{ref} = 5.0,\text{V}$ cho độ phân giải mỗi mức lượng tử hóa là: $$\Delta V = \frac{5.0,\text{V}}{1024} \approx 4.8828,\text{mV/LSB}$$ Công thức xác định giá trị nhiệt độ tức thời: $$T,(^\circ\text{C}) = \frac{ADC_{raw} \times 5.0 \times 1000}{1024 \times 10} = \frac{ADC_{raw} \times 500.0}{1024.0}$$

// Thuật toán giám sát nhiệt độ và xử lý an toàn phòng khách / phòng ngủ
#define PIN_LM35 A0
#define PIN_BUZZER 8
#define TEMP_FIRE_THRESHOLD 50.0 // Ngưỡng báo cháy (độ C)

float readLM35Temperature(uint8_t pin) {
    int rawValue = analogRead(pin);
    // Tính toán theo hàm truyền tuyến tính với điện áp tham chiếu 5.0V
    float temperature = (float)rawValue * 500.0 / 1024.0;
    return temperature;
}

void processTemperatureSafety() {
    float currentTemp = readLM35Temperature(PIN_LM35);
    
    if (currentTemp >= TEMP_FIRE_THRESHOLD) {
        digitalWrite(PIN_BUZZER, HIGH); // Kích hoạt còi báo động khẩn cấp
    } else {
        digitalWrite(PIN_BUZZER, LOW);
    }
}

2. Xử lý truyền thông mạng với Ethernet Shield W5100 và Web Server nhúng

Module W5100 đóng vai trò trạm nhận dữ liệu thông qua giao tiếp SPI (các chân 10, 11, 12, 13) và duy trì Web Server nhúng tại địa chỉ IP tĩnh nội mạng (ví dụ 192.168.1.177).

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

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80); // Khởi tạo HTTP Web Server trên cổng 80

void setupWebServer() {
    Ethernet.begin(mac, ip);
    server.begin();
}

void handleClientRequests() {
    EthernetClient client = server.available();
    if (client) {
        boolean currentLineIsBlank = true;
        String requestBuffer = "";
        
        while (client.connected()) {
            if (client.available()) {
                char c = client.read();
                requestBuffer += c;
                
                if (c == '\n' && currentLineIsBlank) {
                    // Phản hồi tiêu đề HTTP chuẩn 200 OK
                    client.println("HTTP/1.1 200 OK");
                    client.println("Content-Type: text/html; charset=UTF-8");
                    client.println("Connection: close");
                    client.println();
                    
                    // Phân tích cú pháp lệnh điều khiển từ URL query
                    if (requestBuffer.indexOf("GET /?cmd=DOOR_OPEN") >= 0) {
                        // Kích hoạt servo mở cửa chính
                        openMainDoor();
                    } else if (requestBuffer.indexOf("GET /?cmd=LIGHT_ON") >= 0) {
                        digitalWrite(2, HIGH); // Bật relay đèn
                    }
                    
                    // Xuất giao diện HTML điều khiển và hiển thị telemetry
                    client.println("<!DOCTYPE HTML><html><head><title>SmartHome BKHN</title></head><body>");
                    client.println("<h2>HỆ THỐNG GIÁM SÁT & ĐIỀU KHIỂN NHÀ THÔNG MINH</h2>");
                    client.println("<p>Trạng thái hệ thống: <span style='color:green;'>HOẠT ĐỘNG ỔN ĐỊNH</span></p>");
                    client.println("<a href='/?cmd=DOOR_OPEN'><button>MỞ CỬA CHÍNH</button></a>");
                    client.println("<a href='/?cmd=LIGHT_ON'><button>BẬT ĐÈN PHÒNG KHÁCH</button></a>");
                    client.println("</body></html>");
                    break;
                }
                if (c == '\n') {
                    currentLineIsBlank = true;
                } else if (c != '\r') {
                    currentLineIsBlank = false;
                }
            }
        }
        delay(1);
        client.stop(); // Giải phóng socket kết nối
    }
}

3. Điều khiển động cơ bước A4988 điều tiết quạt thông gió

// Module điều khiển vi bước động cơ DC 5.1A qua IC A4988
#define PIN_DIR 5
#define PIN_STEP 6
#define PIN_ENABLE 7

void stepMotorRun(int steps, int speedDelayMicroseconds, bool direction) {
    digitalWrite(PIN_ENABLE, LOW); // Kích hoạt driver (Active Low)
    digitalWrite(PIN_DIR, direction ? HIGH : LOW);
    
    for (int i = 0; i < steps; i++) {
        digitalWrite(PIN_STEP, HIGH);
        delayMicroseconds(speedDelayMicroseconds);
        digitalWrite(PIN_STEP, LOW);
        delayMicroseconds(speedDelayMicroseconds);
    }
}

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

gantt
    title Tiến độ triển khai và kiểm thử hệ thống
    dateFormat  YYYY-MM-DD
    section Thiết kế & Gia công
    Thiết kế kết cấu mô hình 3D & cơ khí         :done, des1, 2018-01-05, 20d
    Lắp ráp khung mô hình 1000x800mm            :done, des2, after des1, 15d
    section Phần cứng & Điện tử
    Lắp ráp mạch cảm biến & vi điều khiển Uno   :done, hw1, 2018-02-10, 25d
    Tích hợp Master Mega 2560 & Shield W5100   :done, hw2, after hw1, 15d
    section Lập trình & Firmware
    Lập trình thuật toán điều khiển cục bộ      :done, sw1, 2018-03-20, 20d
    Phát triển Embedded Web Server & Giao thức :done, sw2, after sw1, 20d
    Xây dựng App Android giám sát CSDL          :done, sw3, after sw2, 15d
    section Tích hợp & Kiểm thử
    Kiểm thử chức năng an toàn (Gas, Cháy, PIR) :done, test1, 2018-05-10, 15d
    Hiệu chỉnh toàn hệ thống & nghiệm thu       :done, test2, after test1, 10d

Bảng thông số đo kiểm thực nghiệm các phân hệ

Phân hệ chức năng Thiết bị đo/chấp hành Thời gian kích hoạt Độ trễ phản hồi ($T_{response}$) Tỷ lệ chính xác Trạng thái nghiệm thu
Báo rò rỉ khí gas Cảm biến MQ2 + Còi báo Nồng độ $> 300,\text{ppm}$ $< 85,\text{ms}$ 99.2% Đạt yêu cầu an toàn
Báo cháy & Quá nhiệt LM35 ($T \ge 50^\circ\text{C}$) Tuyến tính liên tục $< 50,\text{ms}$ Sai số $\pm 0.3^\circ\text{C}$ Hoạt động ổn định
Chống xâm nhập PIR HC-SR510 Góc quét $120^\circ$, cự ly $5,\text{m}$ $< 120,\text{ms}$ 97.5% Không báo giả
Xử lý cửa tự động Keypad $4\times 4$ + Servo SG90 Đúng chuỗi 6 mã PIN $0.1,\text{s}/60^\circ$ 100% Cơ cấu chạy êm
Thu phơi đồ tự động Cảm biến mưa + Servo Phát hiện hạt nước rơi $< 250,\text{ms}$ 100% Bảo vệ quần áo
Web / Android Server Ethernet W5100 Băng thông 10/100 Mbps $< 200,\text{ms}$ (LAN) 99.8% gói tin Không tràn bộ đệm

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

  1. Kiến trúc Master-Slave tối ưu hóa chi phí và băng thông vi điều khiển:

    • Thay vì trang bị module mạng Ethernet riêng biệt cho từng phòng (gây lãng phí tài nguyên và tăng chi phí lên 300%), đồ án đã đề xuất giải pháp gom cụm: 3 board Arduino Uno R3 đảm nhiệm xử lý cục bộ và truyền dữ liệu thời gian thực về một trạm Arduino Mega 2560 trung tâm.
    • Nhờ bộ nhớ Flash ($256,\text{KB}$) và 4 cổng phần cứng UART của ATmega2560, toàn bộ tác vụ phục vụ Web Server nhúng được gánh hoàn toàn bởi vi xử lý Master, triệt tiêu hiện tượng tràn bộ nhớ SRAM ($2,\text{KB}$) trên các board Uno cục bộ.
  2. Cơ chế dự phòng điều khiển đa phương thức (Hybrid Multi-layer Control):

    • Hệ thống đảm bảo tính liên tục của dịch vụ: Khi mất kết nối mạng internet hoặc ngắt router Wi-Fi, 100% các tính năng cơ bản trong ngôi nhà (nhập mật khẩu Passcode, tự động bật đèn khi có người, tự động báo động rò khí gas, tự động thu rèm theo ánh sáng) vẫn hoạt động tự động tại mức phần cứng vi điều khiển mà không bị gián đoạn.
  3. Thuật toán điều khiển nhiệt động học thích ứng:

    • Tích hợp driver vi bước A4988 với động cơ DC điều khiển quạt thông gió phòng ngủ: Thay vì chỉ có 2 trạng thái Bật/Tắt (On/Off) như quạt thông thường, tốc độ động cơ được điều tiết linh hoạt theo 5 cấp bước dựa trên đường đặc tuyến nhiệt độ phòng từ cảm biến LM35, giúp tiết kiệm $28.5%$ điện năng tiêu thụ cho hệ thống làm mát.

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

Kịch bản vận hành thực tế (Real-world Scenarios)

sequenceDiagram
    autonumber
    actor Thief as Kẻ xâm nhập
    participant PIR as Cảm biến PIR HC-SR510
    participant Uno as Arduino Uno Bếp
    participant Mega as Arduino Mega Gateway
    participant Web as Web Server & Android App
    actor Owner as Chủ nhà
    
    Thief->>PIR: Cạy cửa sổ / Di chuyển vào vùng quét
    PIR->>Uno: Xuất tín hiệu mức HIGH (Digital Out)
    Uno->>Uno: Kích hoạt còi hú báo động tại chỗ (Buzzer)
    Uno->>Mega: Gửi gói tin cảnh báo xâm nhập (Byte Payload)
    Mega->>Web: Cập nhật biến trạng thái ALARM = TRUE
    Web-->>Owner: Hiển thị cảnh báo đỏ trên giao diện điện thoại
  1. Kịch bản chống đột nhập thông minh: Kẻ gian đột nhập qua khu vực cửa sổ phòng bếp -> Cảm biến chuyển động PIR HC-SR510 phát hiện bức xạ hồng ngoại cơ thể -> Kích hoạt còi hú tại chỗ tần số $2.5,\text{kHz}$ làm hoảng sợ đối tượng, đồng thời gửi tín hiệu cảnh báo lập tức lên giao diện Web/Android để người dùng xử lý.
  2. Kịch bản khẩn cấp khí gas & hỏa hoạn: Nồng độ gas vượt ngưỡng $300,\text{ppm}$ hoặc nhiệt độ vượt $50^\circ\text{C}$ -> Hệ thống tự động kích hoạt chuông cảnh báo cháy, ngắt nguồn điện cục bộ và bật quạt hút thông gió công suất tối đa để phân tán khí độc.

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

Linh kiện / Thiết bị Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
Board Arduino Mega 2560 R3 01 220.000 220.000
Board Arduino Uno R3 03 110.000 330.000
Arduino Ethernet Shield W5100 01 160.000 160.000
Động cơ Servo SG90 05 40.000 200.000
Động cơ bước + Driver A4988 01 130.000 130.000
Cảm biến LM35, MQ2, PIR, Mưa, LDR 01 bộ 250.000 250.000
Bàn phím ma trận $4\times 4$ + LCD 16x2 01 bộ 120.000 120.000
Khung mô hình gỗ/Mica $1000 \times 800,\text{mm}$ 01 500.000 500.000
Nguồn tổ ong 5V/12V, Relay, dây nối phụ kiện 01 bộ 300.000 300.000
TỔNG CỘNG CHI PHÍ PHẦN CỨNG 2.210.000 VNĐ

Hiệu quả kinh tế (ROI): Với chi phí chỉ khoảng 2.2 triệu VNĐ, giải pháp cung cấp đầy đủ 80% tính năng cốt lõi của một hệ thống Smart Home thương mại có giá từ 30 đến 50 triệu VNĐ, mang lại tỷ suất tiết kiệm chi phí phần cứng trên 90%.


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

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

  • Giao tiếp có dây truyền thống: Việc liên kết giữa các nút Arduino Uno cục bộ và trạm Mega trung tâm vẫn sử dụng hệ thống dây dẫn logic vật lý, làm tăng độ phức tạp trong thi công lắp đặt tại các công trình thực tế có diện tích lớn.
  • Giới hạn xử lý đồng thời của chip mạng W5100: Khả năng xử lý tối đa 4 luồng dữ liệu song song (4 hardware sockets) khiến hệ thống dễ bị nghẽn nếu số lượng người dùng truy cập Web Server cùng lúc vượt quá 4 phiên làm việc.
  • Tiêu chuẩn bảo mật cấp thấp: Giao thức truyền thông trên mạng nội bộ sử dụng chuẩn HTTP thuần (chưa tích hợp chứng chỉ mã hóa SSL/TLS HTTPS), tiềm ẩn nguy cơ bị bắt gói tin (sniffing) trong môi trường mạng thiếu tin cậy.

Hướng phát triển và mở rộng hệ thống

  1. Chuyển đổi giao thức truyền thông không dây sang mạng hình lưới chuẩn công nghiệp Zigbee (IEEE 802.15.4) hoặc sử dụng vi điều khiển ESP32 tích hợp sẵn Wi-Fi/Bluetooth Low Energy (BLE) và giao thức truyền tin nhẹ MQTT.
  2. Xây dựng giao diện điều khiển trên nền tảng đám mây (Cloud IoT Platform như AWS IoT Core hoặc ThingsBoard) cho phép đồng bộ hóa dữ liệu ra internet an toàn qua HTTPS và mã hóa token JWT.
  3. Ứng dụng trí tuệ nhân tạo (Edge AI) xử lý giọng nói tiếng Việt offline và tích hợp camera AI nhận diện khuôn mặt tại cửa ra vào để mở khóa tự động không cần bàn phím mật khẩu.

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

  • Sinh viên chuyên ngành Cơ điện tử, Tự động hóa và CNTT: Nắm vững phương pháp tích hợp hệ thống cơ điện tử hoàn chỉnh từ mạch điều khiển, cảm biến, cơ cấu chấp hành đến tầng truyền thông mạng và giao diện Web/App di động.
  • Kỹ sư và Lập trình viên nhúng (Embedded Developers): Nguồn tham khảo thực chiến về kỹ thuật lập trình vi điều khiển AVR, giao tiếp ngoại vi SPI/UART, tối ưu hóa bộ nhớ và xây dựng máy chủ HTTP Server nhúng.
  • Các doanh nghiệp vừa và nhỏ (SMEs) / Đơn vị thi công nhà thông minh: Nền tảng kiến trúc mã nguồn mở chi phí siêu thấp để phát triển thành các gói giải pháp tự động hóa tòa nhà bình dân, homestay, nhà trọ thông minh.
  • Nhà nghiên cứu học thuật: Dữ liệu thực nghiệm về độ tin cậy và thời gian đáp ứng của các module cảm biến phổ thông (LM35, MQ2, PIR) trong điều kiện vận hành phân tán liên tục.

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

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

Hệ thống yêu cầu nguồn cấp ổn định $5,\text{V}-12,\text{V}/\ge 5,\text{A}$ qua bộ nguồn chuyển đổi DC để nuôi vi điều khiển và các động cơ chấp hành (Servo/Stepper). Về mạng, chỉ cần 1 cổng LAN RJ45 từ Router Wi-Fi nội bộ cấp địa chỉ IP tĩnh cho module W5100. Thiết bị điều khiển đầu cuối là bất kỳ điện thoại/máy tính nào có trình duyệt Web hoặc cài ứng dụng Android chạy từ Android 5.0 trở lên.

2. Giới hạn mở rộng (Scalability) của hệ thống là bao nhiêu thiết bị?

Với kiến trúc sử dụng Arduino Mega 2560 làm Master, hệ thống có thể mở rộng tối đa lên đến 16 nút cảm biến Analog và 54 ngõ vào/ra số. Nếu nâng cấp sang chuẩn bus công nghiệp RS485 (Modbus RTU), hệ thống có thể kết nối mở rộng lên đến 32 phân khu phòng ốc với khoảng cách truyền dẫn dây dẫn lên tới $1200,\text{m}$.

3. Hệ thống có thể tích hợp với các thiết bị gia dụng điện 220V sẵn có không?

Hoàn toàn được. Để điều khiển các thiết bị điện 220V công suất lớn như bình nóng lạnh, điều hòa, quạt cây, đèn tuýp, hệ thống chỉ cần gắn thêm module Relay cách ly quang (Optocoupler Relay Module) $5,\text{V}/10,\text{A}$ hoặc khởi động từ (Contactor) vào các chân Digital Out của Arduino Uno.

4. Quy trình bảo trì và độ bền linh kiện như thế nào?

Cảm biến khí gas MQ2 có dây đốt trong nên cần được hiệu chuẩn (burn-in) định kỳ 6 tháng/lần để đảm bảo độ nhạy. Các cảm biến nhiệt độ LM35 và vi điều khiển bán dẫn thể rắn có tuổi thọ vận hành liên tục (MTBF) trên 5 năm trong môi trường nhiệt độ phòng tiêu chuẩn.

5. Thời gian thu hồi vốn (ROI) và hiệu quả tiết kiệm năng lượng thực tế?

Nhờ thuật toán tự động tắt đèn/quạt sau 3 giây khi không có người và tối ưu hóa tốc độ quạt theo nhiệt độ phòng, hệ thống giúp cắt giảm trung bình từ $20 - 30%$ hóa đơn tiền điện hàng tháng cho các thiết bị làm mát và chiếu sáng, giúp hộ gia đình thu hồi chi phí lắp đặt thiết bị trong vòng 6 đến 8 tháng.


Kết luận

Đồ án tốt nghiệp "Xây dựng ứng dụng Android truy xuất CSDL giao diện Web điều khiển nhà Smart Home trên nền mã nguồn mở" của sinh viên Đại học Bách Khoa Hà Nội đã giải quyết thành công bài toán tự động hóa ngôi nhà với chi phí thấp và hiệu năng cao. Bằng việc kết hợp sáng tạo giữa vi điều khiển đa nhân phân tán (Arduino Mega 2560 và Arduino Uno R3), module Ethernet W5100 cùng hệ cảm biến và cơ cấu chấp hành chính xác, công trình đã chứng minh tính khả thi vượt trội của các giải pháp IoT mã nguồn mở trong việc ứng dụng vào đời sống thực tiễn. Đây là tài liệu nghiên cứu và mô hình kỹ thuật mẫu mực, mở ra hướng đi bền vững cho các giải pháp nhà thông minh Make in Vietnam trong tương lai.