Giới thiệu dự án
Theo thống kê từ Statista, tổng chi phí đầu tư cho các giải pháp Internet of Things (IoT) toàn cầu đạt 418 tỷ USD vào năm 2022 và dự kiến quy mô thị trường IoT toàn cầu sẽ vượt mốc 1,7 nghìn tỷ USD. Tại Việt Nam, theo báo cáo của Research and Markets, quy mô thị trường IoT đạt 6,23 tỷ USD vào năm 2023 và được dự báo tăng trưởng lên 13,1 tỷ USD vào năm 2028 với tốc độ tăng trưởng kép hàng năm (CAGR) là 16,04%. Sự phủ sóng của mạng di động 4G/5G đạt trên 95% dân số cùng sự phổ cập của vi điều khiển tích hợp kết nối không dây giá rẻ đã tạo điều kiện thuận lợi cho việc phát triển các giải pháp Nhà thông minh (Smart Home).
Tuy nhiên, các hệ thống Smart Home thương mại hiện nay (như Lumi, Fibaro, Philips Hue) thường có giá thành cao, sử dụng hệ sinh thái đóng, phụ thuộc vào các giao thức truyền thông độc quyền và khó tùy biến theo nhu cầu đặc thù của người dùng phổ thông. Trong khi đó, các mô hình tự chế (DIY) trước đây thường ghép nối phức tạp giữa bo mạch xử lý (như Arduino Uno) và module truyền thông (như ESP8266), dẫn đến độ trễ cao, thiếu hụt chân GPIO ngoại vi và không đảm bảo an toàn cách ly điện áp lưới 220VAC.
Đồ án "Thiết kế hệ thống điều khiển và giám sát ngôi nhà thông minh trên nền tảng IoT" được thực hiện bởi sinh viên Đỗ Nguyễn Ngọc Bích (chuyên ngành Viễn thông, Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng, dưới sự hướng dẫn của ThS. Trần Duy Chung) nhằm giải quyết triệt để bài toán tích hợp hệ thống giám sát an toàn môi trường và điều khiển phụ tải chiếu sáng, công suất qua mạng Internet trên một kiến trúc vi xử lý duy nhất có tính mở cao.
+-------------------------------------------------------------------------+
| HỆ THỐNG SMART HOME IOT |
| |
| [Cảm biến DHT11 / MQ135 / DS3231] |
| [Vi điều khiển ESP32 (Tensilica Xtensa Dual-Core 240MHz)] |
| [Màn hình LCD 16x2] [Mạch cách ly PC817 + [Firebase Realtime DB |
| (I2C Adapter) ULN2803 -> Relay 5V] (HTTPS REST / TLS 1.2)] |
| [Tải điện AC 220V] [Web Dashboard App] |
+-------------------------------------------------------------------------+
Mục tiêu kỹ thuật của dự án
- Thiết kế phần cứng tập trung: Xây dựng bo mạch điều khiển trung tâm sử dụng vi điều khiển ESP32 38-pin (Tensilica Xtensa LX6 32-bit, xung nhịp 240 MHz) tích hợp giao tiếp đồng thời với các cảm biến DHT11 (nhiệt độ, độ ẩm), MQ135 (nồng độ khí độc/gas), module RTC DS3231 (thời gian thực) và màn hình LCD 16x2 qua giao thức I2C.
- Thiết kế mạch công suất an toàn: Xây dựng tầng kích công suất relay 5VDC chịu tải 250VAC/10A có tích hợp tầng cách ly quang qua IC Optocoupler PC817 và IC đệm dòng Darlington ULN2803 để triệt tiêu hoàn toàn xung điện áp ngược (Back-EMF) và nhiễu từ lưới điện xoay chiều.
- Đồng bộ hóa đám mây thời gian thực: Triển khai luồng truyền nhận dữ liệu giữa ESP32 và Firebase Realtime Database qua giao thức HTTP/HTTPS REST API, đảm bảo độ trễ cập nhật trạng thái dưới 500 ms.
- Phát triển giao diện giám sát đa nền tảng: Xây dựng Web Dashboard (HTML5, CSS3, JavaScript) tương thích trình duyệt trên máy tính và điện thoại thông minh, cho phép giám sát thông số môi trường trực quan và bật/tắt thiết bị tức thời.
Phạm vi và giới hạn hệ thống
- Phạm vi hoạt động: Giám sát nhiệt độ (0°C – 50°C), độ ẩm (20% – 80% RH), nồng độ khí gas/chất lượng không khí (0 – 1000 ppm), điều khiển đóng ngắt 4 kênh phụ tải điện 220VAC.
- Giới hạn kỹ thuật: Hệ thống hoạt động dựa trên hạ tầng Wi-Fi chuẩn 802.11 b/g/n băng tần 2.4 GHz; cảm biến DHT11 có tần số lấy mẫu giới hạn ở 1 Hz; các cơ chế phân tích nâng cao (như nhận diện giọng nói, thị giác máy tính AI) được định hướng cho các phiên bản tiếp theo.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Để lựa chọn cấu trúc tối ưu, đồ án đã tiến hành khảo sát và so sánh các mô hình kiến trúc điều khiển Smart Home phổ biến trên thị trường:
| Tiêu chí kỹ thuật |
Giải pháp thương mại đóng (Lumi / Tuya Zigbee) |
Giải pháp mở thế hệ cũ (Arduino Uno + ESP8266) |
Giải pháp đề xuất của đồ án (ESP32 + Firebase Realtime) |
| Kiến trúc phần cứng |
Vi điều khiển độc quyền + Zigbee Hub |
Dual-MCU (ATmega328P + ESP8266 qua UART AT-Command) |
Single-SoC ESP32 32-bit (Dual-Core 240MHz, tích hợp Wi-Fi/BLE) |
| Chi phí triển khai |
Rất cao (> 5.000.000 – 15.000.000 VNĐ) |
Trung bình (400.000 – 600.000 VNĐ) |
Thấp (Khoảng 650.000 VNĐ) |
| Khả năng mở rộng ngoại vi |
Phụ thuộc hoàn toàn vào hệ sinh thái của hãng |
Hạn chế (ESP8266 chỉ có 11 GPIO, Uno có 14 GPIO) |
Rất cao (ESP32 cung cấp 36 GPIO, hỗ trợ phần cứng I2C, SPI, UART, PWM) |
| Tính an toàn mạch điều khiển |
Đạt chuẩn công nghiệp |
Kích trực tiếp relay qua Transistor (dễ bị treo vi điều khiển do xung ngược) |
Tầng bảo vệ kép: Opto PC817 (cách ly 5kV) + ULN2803 (mảng Darlington + Diode Flyback) |
| Giao thức Đám mây (Cloud) |
Máy chủ đám mây riêng của hãng, có phí duy trì |
ThingSpeak / Blynk (bị giới hạn rate-limit và tính phí gói nâng cao) |
Firebase Realtime Database (Bảo mật HTTPS/TLS 1.2, đồng bộ dữ liệu Realtime WebSocket/REST) |
Phân loại yêu cầu hệ thống theo phương pháp MoSCoW
- Must-have (Bắt buộc phải có): Đọc chính xác dữ liệu từ DHT11, MQ135, DS3231; hiển thị trên LCD 16x2 qua I2C; điều khiển 4 relay đóng ngắt an toàn; gửi nhận dữ liệu hai chiều với Firebase qua Wi-Fi; giao diện Web Dashboard hiển thị trạng thái on/off và thông số môi trường.
- Should-have (Nên có): Chế độ tự động cảnh báo còi hú và đổi trạng thái trên Web khi nồng độ khí gas vượt ngưỡng 400 ppm; đồng bộ thời gian từ RTC DS3231 khi mất kết nối mạng.
- Could-have (Có thể có): Lập lịch hẹn giờ bật/tắt thiết bị dựa trên IC thời gian thực DS3231 tích hợp pin dự phòng CR2032.
- Won't-have (Chưa thực hiện trong giai đoạn này): Điều khiển bằng giọng nói qua trợ lý ảo (Google Assistant/Alexa); tích hợp camera nhận diện khuôn mặt; kết nối mạng Mesh Zigbee/Matter.
Thiết kế hệ thống
Cấu trúc Technology Stack
+-------------------------------------------------------------------------+
| TECHNOLOGY STACK |
+-------------------------------------------------------------------------+
| Presentation Layer | HTML5, CSS3, JavaScript (ES6), Bootstrap 5 UI |
+---------------------+---------------------------------------------------+
| Cloud & Middleware | Google Firebase Realtime Database (REST API/JSON) |
+---------------------+---------------------------------------------------+
| Embedded Firmware | C/C++ (Arduino Core v2.0.14 on ESP-IDF) |
+---------------------+---------------------------------------------------+
| Hardware SoC | ESP32-WROOM-32 (Tensilica Xtensa Dual-Core 240MHz)|
+---------------------+---------------------------------------------------+
| Sensors & Actuators | DHT11, MQ135, DS3231, LCD 16x2 I2C, Relays 5VDC |
+---------------------+---------------------------------------------------+
| Power & Protection | LM2596S Step-down, Opto PC817, Driver ULN2803A |
+-------------------------------------------------------------------------+
Thiết kế phần cứng và phối ghép ngoại vi
- Khối nguồn: Nguồn đầu vào 12VDC/2A được hạ áp xuống 5VDC qua mạch nguồn xung hạ áp Buck LM2596 (tần số chuyển mạch 150 kHz, hiệu suất ~93%, dòng tải tối đa 3A) để cấp nguồn cho ESP32, cuộn hút Relay, LCD 16x2 và cảm biến MQ135.
- Khối giao tiếp I2C: Chân
GPIO21 (SDA) và GPIO22 (SCL) của ESP32 được kéo lên mức 3.3V qua điện trở 4.7kΩ, kết nối song song với Module RTC DS3231 (địa chỉ 0x68) và Mạch chuyển đổi LCD PCF8574 (địa chỉ 0x27). Thiết kế này tiết kiệm từ 6 chân dữ liệu xuống chỉ còn 2 chân duy nhất.
- Khối cảm biến môi trường:
- DHT11: Giao tiếp qua 1 chân số (
GPIO4), sử dụng giao thức 1-wire tùy biến, chu kỳ truyền 40-bit dữ liệu (16-bit độ ẩm, 16-bit nhiệt độ, 8-bit checksum).
- MQ135: Chân Analog Out (AO) kết nối với kênh ADC1_CH0 (
GPIO36/VP) của ESP32 để đo điện áp biến thiên tuyến tính theo nồng độ hạt khí độc (0 – 3.3V tương ứng 0 – 1000 ppm).
- Khối kích công suất và cách ly:
- Tín hiệu logic từ GPIO ESP32 (3.3V) đi qua diode phát quang nội tại của Optocoupler PC817.
- Phía đầu ra transistor quang của PC817 được cấp nguồn 5V độc lập, đưa tín hiệu vào đầu vào của IC đệm dòng ULN2803A (chứa 8 mảng transistor Darlington chịu dòng 500mA/kênh).
- Đầu ra cực thu hở (Open-Collector) của ULN2803A dập cuộn hút của Relay 5V xuống mass, tích hợp sẵn diode dập xung ngược (Flyback Diode) bên trong IC, bảo vệ an toàn tuyệt đối cho ESP32.
Thiết kế cấu trúc dữ liệu Firebase (JSON Tree)
Dữ liệu trên Firebase Realtime Database được tổ chức theo cấu trúc phân nhánh NoSQL JSON:
{
"smart_home": {
"sensors": {
"temperature": 28.5,
"humidity": 65.0,
"gas_ppm": 185.0,
"timestamp": "2023-12-15 14:30:25"
},
"controls": {
"light_livingroom": 1,
"light_kitchen": 0,
"fan_bedroom": 1,
"pump_garden": 0
},
"alerts": {
"gas_warning": false,
"threshold_gas": 400
}
}
}
Xem xét an toàn và bảo mật
- Bảo mật tầng truyền dẫn: Sử dụng giao thức HTTPS qua cổng 443 kết hợp mã hóa TLS 1.2, ngăn chặn các cuộc tấn công nghe lén (Sniffing) và giả mạo dữ liệu (Man-in-the-Middle) trên đường truyền Internet.
- Bảo mật cơ sở dữ liệu: Thiết lập Firebase Security Rules để chỉ cho phép đọc/ghi dữ liệu từ các thiết bị có khóa xác thực (Database Secret Token) hoặc người dùng được phân quyền.
- Bảo vệ phần cứng: Cách ly quang 5000 Vrms qua PC817 ngăn chặn hoàn toàn hiện tượng đột biến điện áp (Spike) từ tải cảm (quạt, máy bơm) truyền ngược về phá hỏng vi điều khiển.
Phương pháp nghiên cứu và phát triển
Dự án áp dụng mô hình phát triển V-Model cải tiến (Hardware-in-the-loop) kết hợp nguyên lý Agile:
- Pha 1: Yêu cầu & Thiết kế nguyên lý (Tuần 1 – 3): Khảo sát linh kiện, tính toán dòng tải (ULN2803: 80mA/relay, LM2596: hiệu suất 93%), vẽ sơ đồ mạch nguyên lý trên phần mềm chuyên dụng.
- Pha 2: Chế tạo phần cứng & Bo mạch (Tuần 4 – 6): Layout mạch in PCB, gia công khoan mạch, hàn lắp linh kiện và kiểm tra thông mạch từng khối chức năng.
- Pha 3: Phát triển Firmware & Cloud (Tuần 7 – 9): Lập trình nhúng C++ trên Arduino IDE / VS Code, tích hợp thư viện
FirebaseESP32.h, DHT.h, RTClib.h, tối ưu thuật toán xử lý luồng non-blocking sử dụng hàm millis().
- Pha 4: Tích hợp Web Dashboard & Kiểm thử liên tục (Tuần 10 – 12): Thiết kế giao diện Web với JavaScript Realtime Listener, chạy thử nghiệm tải liên tục trong 72 giờ và hiệu chỉnh sai số cảm biến.
Triển khai và kết quả thực nghiệm
Quá trình phát triển và thuật toán điều khiển
Firmware trên ESP32 được cấu trúc theo mô hình máy trạng thái (State Machine) bất đồng bộ, loại bỏ hoàn toàn việc sử dụng hàm delay() gây trễ hệ thống.
#include <WiFi.h>
#include <FirebaseESP32.h>
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
#define WIFI_SSID "SmartHome_2.4G"
#define WIFI_PASSWORD "Pass@123456"
#define FIREBASE_HOST "smarthome-iot-project.firebaseio.com"
#define FIREBASE_AUTH "AIzaSyD-SecretKeyAuthStringHere"
#define DHTPIN 4
#define DHTTYPE DHT11
#define MQ135_PIN 36
#define RELAY_1_PIN 16
#define RELAY_2_PIN 17
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS3231 rtc;
FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;
unsigned long previousMillis = 0;
const long interval = 2000; // Đọc cảm biến mỗi 2 giây
void setup() {
Serial.begin(115200);
pinMode(RELAY_1_PIN, OUTPUT);
pinMode(RELAY_2_PIN, OUTPUT);
digitalWrite(RELAY_1_PIN, LOW);
digitalWrite(RELAY_2_PIN, LOW);
dht.begin();
Wire.begin(21, 22);
lcd.init();
lcd.backlight();
rtc.begin();
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
config.host = FIREBASE_HOST;
config.signer.tokens.legacy_token = FIREBASE_AUTH;
Firebase.begin(&config, &auth);
Firebase.reconnectWiFi(true);
}
void loop() {
unsigned long currentMillis = millis();
// Chu kỳ đọc cảm biến và đẩy dữ liệu lên Firebase
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
float h = dht.readHumidity();
float t = dht.readTemperature();
int rawGas = analogRead(MQ135_PIN);
float gasPpm = (rawGas / 4095.0) * 1000.0; // Chuẩn hóa ADC 12-bit
if (!isnan(h) && !isnan(t)) {
Firebase.setFloat(fbdo, "/smart_home/sensors/temperature", t);
Firebase.setFloat(fbdo, "/smart_home/sensors/humidity", h);
Firebase.setFloat(fbdo, "/smart_home/sensors/gas_ppm", gasPpm);
lcd.setCursor(0, 0);
lcd.printf("T:%.1fC H:%.1f%%", t, h);
lcd.setCursor(0, 1);
lcd.printf("Gas:%.0f ppm", gasPpm);
}
}
// Đọc lệnh điều khiển tức thời từ Firebase
if (Firebase.getInt(fbdo, "/smart_home/controls/light_livingroom")) {
int state = fbdo.intData();
digitalWrite(RELAY_1_PIN, state ? HIGH : LOW);
}
}
Giao diện Web Dashboard sử dụng Firebase JavaScript SDK v9 để thiết lập kết nối WebSocket lắng nghe sự thay đổi dữ liệu thời gian thực:
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-app.js";
import { getDatabase, ref, onValue, set } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-database.js";
const firebaseConfig = {
databaseURL: "https://smarthome-iot-project.firebaseio.com"
};
const app = initializeApp(firebaseConfig);
const db = getDatabase(app);
// Lắng nghe dữ liệu cảm biến thời gian thực
const sensorRef = ref(db, 'smart_home/sensors');
onValue(sensorRef, (snapshot) => {
const data = snapshot.val();
document.getElementById("temp-val").innerText = `${data.temperature} °C`;
document.getElementById("hum-val").innerText = `${data.humidity} %`;
document.getElementById("gas-val").innerText = `${data.gas_ppm} ppm`;
if (data.gas_ppm > 400) {
document.getElementById("gas-alert").className = "alert alert-danger show";
} else {
document.getElementById("gas-alert").className = "alert alert-danger d-none";
}
});
// Điều khiển bật/tắt thiết bị
window.toggleDevice = function(deviceKey, currentState) {
const newState = currentState === 1 ? 0 : 1;
set(ref(db, `smart_home/controls/${deviceKey}`), newState);
};
Kiểm thử và đánh giá hiệu năng
Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt tại phòng thí nghiệm Viễn thông với các kịch bản đo kiểm cụ thể:
| Kịch bản kiểm thử |
Thông số đo kiểm / Điều kiện |
Kết quả đạt được |
Đánh giá |
| Độ trễ truyền tín hiệu điều khiển |
Nhấn nút trên Web -> Relay đóng/ngắt (100 lần đo) |
180 ms – 350 ms (Trung bình: 240 ms) |
Rất tốt (Vượt yêu cầu < 500ms) |
| Tần suất cập nhật cảm biến |
Chu kỳ đẩy dữ liệu DHT11 & MQ135 lên Cloud |
2.0 giây / chu kỳ |
Ổn định, không phát sinh tràn bộ nhớ đệm |
| Độ chính xác cảm biến nhiệt/ẩm |
So sánh với nhiệt ẩm kế chuẩn nhiệt kế thủy ngân |
Nhiệt độ sai số ±0.8°C; Độ ẩm sai số ±3.5% RH |
Nằm trong ngưỡng cho phép của DHT11 |
| Độ chính xác nồng độ khí gas |
Phun thử mẫu khí Butan mô phỏng rò rỉ |
Cảnh báo kích hoạt trong 0.8 giây khi vượt 400 ppm |
Phát hiện nhạy, còi báo động kích hoạt tức thời |
| Độ ổn định thời gian thực |
Ngắt kết nối mạng Wi-Fi trong 48 giờ liên tục |
DS3231 duy trì sai lệch < 0.2 giây |
Cực kỳ chính xác nhờ dao động ký bù nhiệt TCXO |
| Thử nghiệm tải điện xoay chiều |
Đóng ngắt bóng đèn sợi đốt 220VAC/100W 1.000 lần |
Tỷ lệ thành công 100%, ESP32 không bị Reset |
Mạch cách ly PC817 + ULN2803 triệt tiêu hoàn toàn xung nhiễu |
+-----------------------------------------------------------------------+
| KẾT QUẢ ĐO ĐỘ TRỄ ĐIỀU KHIỂN (100 LẦN TEST) |
| |
| Độ trễ (ms) |
| 400 | |
| 300 | * * * * |
| 200 | * * * * * * * * * * * * * * * |
| 100 | |
| 0 +-------------------------------------------------------------> |
| 1 25 50 75 100 |
| Số lần thử nghiệm |
| |
| => Độ trễ trung bình đạt 240 ms (Ngưỡng yêu cầu: < 500 ms) |
+-----------------------------------------------------------------------+
Kết quả đạt được
- Hoàn thiện 100% phần cứng mô hình: Chế tạo thành công hộp điều khiển trung tâm gọn gàng, cách điện an toàn, các đầu ra Domino vặn vít chắc chắn cho tải 220VAC.
- Hiệu suất hoạt động cao: Hệ thống vận hành liên tục 7 ngày đêm không gặp sự cố tràn RAM (Memory Leak), dung lượng RAM trống của ESP32 luôn duy trì trên 180 KB.
- Trực quan hóa dữ liệu xuất sắc: Web Dashboard cập nhật mượt mà không cần reload trang web nhờ công nghệ Realtime WebSocket, giao diện trực quan hỗ trợ cả ngôn ngữ tiếng Việt.
Đổi mới và đóng góp kỹ thuật
Các điểm cải tiến công nghệ nổi bật
- Kiến trúc Single-SoC hiệu năng cao: Thay thế hoàn toàn mô hình ghép nối cồng kềnh Arduino Uno + ESP8266 truyền thống bằng vi điều khiển ESP32 32-bit. Giảm 40% chi phí linh kiện phần cứng (BOM Cost) và loại bỏ hoàn toàn hiện tượng nghẽn cổ chai truyền thông nối tiếp (Baud rate bottleneck 9600 bps của SoftwareSerial).
- Tối ưu hóa Bus giao tiếp I2C: Tích hợp đồng bộ Module thời gian thực DS3231 và màn hình LCD 16x2 trên cùng một Bus I2C chỉ chiếm dụng 2 chân GPIO, giải phóng 8 chân GPIO khác của ESP32 cho các ứng dụng mở rộng tương lai.
- Thiết kế mạch bảo vệ công nghiệp 2 lớp: Phối hợp linh hoạt giữa Optocoupler PC817 cách ly quang và IC ULN2803A đệm dòng. Cấu trúc này giải quyết triệt để lỗi vi điều khiển tự động khởi động lại (Brownout/Reset) do xung cảm ứng từ cuộn hút relay và tia lửa điện tiếp điểm AC gây ra.
- Cơ chế thời gian thực độc lập Internet: Nhờ bộ dao động tinh thể bù nhiệt độ TCXO tích hợp trong DS3231 có độ chính xác ±2 ppm (sai số dưới 1 phút/năm), hệ thống vẫn duy trì khả năng hẹn giờ bật tắt thiết bị chính xác ngay cả khi mạng Wi-Fi gia đình mất kết nối hoàn toàn.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng trong đời sống
- Căn hộ chung cư và nhà phố: Giám sát nồng độ khí gas nhà bếp, tự động ngắt van gas điện từ và bật quạt hút thông gió khi phát hiện nồng độ vượt ngưỡng nguy hiểm (400 ppm), phòng chống cháy nổ từ sớm.
- Văn phòng làm việc & Phòng server: Giám sát nhiệt độ, độ ẩm và quản lý bật/tắt hệ thống điều hòa, đèn chiếu sáng từ xa sau giờ làm việc, cắt giảm từ 15% đến 25% hóa đơn tiền điện hàng tháng.
- Nhà kính nông nghiệp đô thị: Lập lịch tưới tiêu tự động theo khung giờ cố định từ DS3231 và điều chỉnh lượng nước tưới dựa trên thông số độ ẩm môi trường thực tế.
+-------------------------------------------------------------------------+
| SƠ ĐỒ TRIỂN KHAI THỰC TẾ TRONG HỘ GIA ĐÌNH |
| |
| [Firebase Cloud Server] |
| [Web App trên Smartphone] |
+-------------------------------------------------------------------------+
Phân tích hiệu quả kinh tế và ROI
| Hạng mục chi phí linh kiện |
Số lượng |
Đơn giá (VNĐ) |
Thành tiền (VNĐ) |
| Bo mạch vi điều khiển ESP32 38-Pin |
01 |
115.000 |
115.000 |
| Cảm biến nhiệt độ, độ ẩm DHT11 |
01 |
35.000 |
35.000 |
| Cảm biến chất lượng không khí / Gas MQ135 |
01 |
45.000 |
45.000 |
| Module thời gian thực DS3231 + Pin CR2032 |
01 |
40.000 |
40.000 |
| Màn hình LCD 16x2 + Module chuyển tiếp I2C PCF8574 |
01 |
55.000 |
55.000 |
| Module 4 Relay 5VDC cách ly Opto PC817 + ULN2803 |
01 |
65.000 |
65.000 |
| Mạch nguồn xung hạ áp Buck LM2596 3A |
01 |
25.000 |
25.000 |
| Nguồn Adapter 12V/2A DC |
01 |
50.000 |
50.000 |
| Phụ kiện (PCB, Domino, dây cắm, vỏ hộp kỹ thuật) |
01 bộ |
120.000 |
120.000 |
| Tổng chi phí phần cứng (BOM) |
|
|
550.000 VNĐ |
So với các bộ điều khiển trung tâm Smart Home thương mại có giá từ 3.000.000 VNĐ đến 8.000.000 VNĐ, giải pháp tự chế tạo này giúp tiết kiệm hơn 85% chi phí đầu tư ban đầu, trong khi dịch vụ lưu trữ dữ liệu Firebase gói Spark (miễn phí) hoàn toàn đáp ứng nhu cầu cho hộ gia đình mà không phát sinh chi phí vận hành hàng tháng. Thời gian thu hồi vốn (ROI) ước tính chỉ từ 3 – 6 tháng thông qua việc tối ưu hóa điện năng tiêu thụ.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ nhạy và dải đo của cảm biến: Cảm biến DHT11 chỉ đo được nhiệt độ từ 0 – 50°C với sai số ±2°C và độ ẩm 20 – 80% RH. Cảm biến MQ135 đòi hỏi thời gian sấy nóng đầu đo (Preheating time) từ 24 – 48 giờ để đạt độ ổn định cao nhất.
- Phụ thuộc kết nối Internet: Mặc dù hệ thống vẫn thực thi được các logic điều khiển tại chỗ, nhưng việc giám sát và điều khiển từ xa sẽ bị gián đoạn nếu mất kết nối Internet hoặc sự cố đường truyền từ nhà mạng.
- Mô hình đóng gói: Bo mạch mẫu thực nghiệm hiện sử dụng dây nối cắm thủ công, cần được chuẩn hóa thiết kế PCB dạng module công nghiệp gắn thanh ray tủ điện (DIN-Rail).
Hướng phát triển trong tương lai
- Nâng cấp cảm biến công nghiệp: Thay thế DHT11 bằng cảm biến nhiệt ẩm công nghiệp SHT30 hoặc DHT22 (sai số ±0.3°C, đo từ -40°C đến 125°C); thay MQ135 bằng module MQ-2 chuyên biệt phát hiện khí gas rò rỉ.
- Tích hợp giao thức Matter / Zigbee: Phát triển firmware hỗ trợ giao thức Matter qua chuẩn Wi-Fi/Thread, cho phép đồng bộ trực tiếp vào hệ sinh thái Apple HomeKit, Google Home và Amazon Alexa mà không cần qua server trung gian.
- Bổ sung tính năng thông minh: Tích hợp module camera ESP32-CAM nhận diện khuôn mặt người lạ và module nhận diện giọng nói Offline (như Offline Voice Recognition Module) để nâng cao trải nghiệm người dùng.
Đối tượng hưởng lợi
- Sinh viên và Học viên Kỹ thuật: Cung cấp tài liệu tham khảo thực tế về quy trình tích hợp hệ thống nhúng, kỹ thuật giao tiếp I2C/1-Wire và phương pháp kết nối vi điều khiển với Cloud Database.
- Lập trình viên IoT (Developers): Cung cấp mã nguồn mẫu (Source code) bất đồng bộ C++ trên ESP32 và kỹ thuật tối ưu giao tiếp thời gian thực với Firebase JavaScript SDK.
- Hộ gia đình và Doanh nghiệp vừa & nhỏ: Mang đến giải pháp tự lắp ráp Smart Home an toàn, chi phí thấp, dễ dàng làm chủ công nghệ mà không lo rò rỉ thông tin cá nhân.
- Nhà nghiên cứu: Tài liệu cung cấp số liệu thực nghiệm về độ trễ, sai số cảm biến và hiệu quả của các tầng cách ly xung điện trong điều khiển tải cảm thực tế.
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 điện cấp 12VDC/2A (hoặc nguồn lưới 220VAC qua adapter), mạng Wi-Fi chuẩn 802.11 b/g/n băng tần 2.4 GHz có kết nối Internet (ESP32 không hỗ trợ băng tần 5.0 GHz). Thiết bị tải điện AC nối vào relay không được vượt quá định mức 250VAC/10A (khuyến nghị tải dưới 1500W đối với tải thuần trở và dưới 500W đối với tải cảm như động cơ/máy bơm).
2. Giới hạn mở rộng (Scalability) của hệ thống là bao nhiêu thiết bị?
Với một chip ESP32, hệ thống có thể mở rộng tối đa 8 kênh relay điều khiển độc lập thông qua IC ULN2803A. Nếu cần mở rộng cho toàn bộ tòa nhà nhiều tầng, có thể triển khai nhiều node ESP32 độc lập ở từng phòng và cùng đồng bộ về một cây thư mục JSON duy nhất trên Firebase Realtime Database.
3. Hệ thống có thể tích hợp với các nền tảng Smart Home phổ biến không?
Có. Nhờ sử dụng nền tảng Firebase và ESP32, hệ thống hoàn toàn có thể tích hợp với Home Assistant thông qua giao thức MQTT hoặc kết nối với Node-RED để tạo các luồng tự động hóa phức tạp.
4. Hệ thống cần chế độ bảo trì và hiệu chuẩn như thế nào?
Cần vệ sinh bụi bẩn định kỳ cho bề mặt cảm biến DHT11 và MQ135 mỗi 6 tháng một lần. Pin cúc áo CR2032 trên module DS3231 có tuổi thọ khoảng 3 – 5 năm và có thể thay thế dễ dàng mà không làm mất cấu hình hệ thống.
5. Chi phí đầu tư và thời gian thu hồi vốn (ROI) thực tế ra sao?
Toàn bộ chi phí linh kiện phần cứng để lắp ráp hoàn chỉnh một bộ điều khiển 4 kênh chỉ khoảng 550.000 – 650.000 VNĐ. Nhờ việc tự động hóa giám sát và cắt giảm điện năng hao phí từ các thiết bị chiếu sáng, bình nóng lạnh, thời gian hoàn vốn đầu tư chỉ mất từ 3 đế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 và giám sát ngôi nhà thông minh trên nền tảng IoT" của sinh viên Đỗ Nguyễn Ngọc Bích dưới sự hướng dẫn của ThS. Trần Duy Chung đã hoàn thành toàn diện các mục tiêu nghiên cứu và thực nghiệm đề ra. Dự án chứng minh tính khả thi vượt trội của việc ứng dụng vi điều khiển ESP32 kết hợp cùng nền tảng đám mây Firebase trong việc giải quyết bài toán giám sát an toàn môi trường và điều khiển thiết bị gia dụng từ xa.
Với độ trễ điều khiển trung bình ấn tượng chỉ 240 ms, mạch bảo vệ cách ly quang 5kV chống nhiễu tuyệt đối và chi phí sản xuất thấp hơn 85% so với thị trường, hệ thống có tiềm năng ứng dụng rất lớn trong các hộ gia đình Việt Nam, góp phần thúc đẩy quá trình chuyển đổi số và nâng cao chất lượng cuộc sống trong kỷ nguyên vạn vật kết nối.