Tin Tức

Thiết kế và lập trình thiết bị cảnh báo cháy trong tòa chung cư bằng IoT

Hệ thống báo cháy

Hệ thống cảnh báo cháy IoT cho tòa chung cư là giải pháp công nghệ tiên tiến giúp phát hiện sớm và cảnh báo kịp thời các nguy cơ hỏa hoạn, đảm bảo an toàn cho cư dân.

Kiến trúc tổng quan hệ thống

Mô hình 3 tầng IoT

Hệ thống được thiết kế theo kiến trúc IoT chuẩn gồm 3 tầng chính:

Tầng cảm biến (Perception Layer):

  • Các node cảm biến phân bố khắp tòa nhà

  • Thu thập dữ liệu môi trường liên tục 24/7

  • Phát hiện sớm các dấu hiệu cháy như khói, nhiệt độ, lửa

Tầng mạng (Network Layer):

  • Kết nối WiFi/LoRa giữa các node với gateway trung tâm

  • Truyền dữ liệu thời gian thực với độ trễ dưới 100ms

  • Đảm bảo tính ổn định và dự phòng kết nối

Tầng ứng dụng (Application Layer):

  • Giao diện web/mobile quản lý hệ thống

  • Tích hợp với Firebase/ThingSpeak

  • Gửi cảnh báo đa kênh (SMS, email, push notification)

Thiết kế phần cứng

Thành phần cốt lõi

Cảm biến Chức năng Điện áp hoạt động Khoảng cách Giá tham khảo
Cảm biến khói MQ-2 Phát hiện khói và khí gas 5V Phòng 20-30m² 50,000-80,000đ
Cảm biến nhiệt độ DHT11/DHT22 Đo nhiệt độ và độ ẩm 3.3-5V Tại điểm 30,000-50,000đ
Cảm biến lửa (Flame Sensor) Phát hiện ánh sáng lửa 3.3-5V 0-80cm 15,000-25,000đ
Cảm biến khí gas MQ-6/MQ-135 Phát hiện rò rỉ khí gas 5V Phòng 20-30m² 60,000-100,000đ

Vi điều khiển khuyến nghị

Vi điều khiển Tính năng nổi bật GPIO RAM/Flash Giá tham khảo
ESP32 WiFi + Bluetooth tích hợp 34 chân 520KB/4MB 150,000-200,000đ
Arduino Uno R3 Dễ lập trình cho người mới 14 chân digital 2KB/32KB 300,000-400,000đ
NodeMCU ESP8266 WiFi tích hợp, giá rẻ 17 chân 80KB/4MB 80,000-120,000đ

ESP32 được khuyến nghị do tích hợp sẵn WiFi, Bluetooth, có nhiều GPIO và hiệu năng cao.

Thiết bị báo động

Thiết bị Mục đích Thông số Giá tham khảo
Còi báo động Phát âm thanh cảnh báo 90-120dB 30,000-50,000đ
Đèn LED cảnh báo Báo hiệu bằng ánh sáng 5mm, đỏ/xanh 5,000-10,000đ
Màn hình LCD 16×2 Hiển thị thông tin 16 ký tự x 2 dòng 40,000-60,000đ
Relay 2/4 kênh Điều khiển thiết bị ngoại vi 250V AC/10A 50,000-80,000đ

Sơ đồ kết nối phần cứng

Kết nối ESP32 với các cảm biến:

ESP32 MQ-2 Smoke Sensor
GPIO 35 -> A0 (Analog Output)
5V -> VCC
GND -> GNDESP32 DHT11 Temperature
GPIO 15 -> Data Pin
3.3V -> VCC
GND -> GND

ESP32 Flame Sensor
GPIO 2 -> Digital Output
5V -> VCC
GND -> GND

ESP32 Relay Module
GPIO 4 -> IN1 (Relay 1)
GPIO 16 -> IN2 (Relay 2)
5V -> VCC
GND -> GND


Lập trình hệ thống

Code mẫu cho ESP32 (Arduino IDE):

#define BLYNK_TEMPLATE_ID “YOUR_TEMPLATE_ID”
#define BLYNK_TEMPLATE_NAME “Fire_Alarm_System”
#define BLYNK_AUTH_TOKEN “YOUR_AUTH_TOKEN”

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#include <FirebaseESP32.h>

// Định nghĩa chân kết nối
#define DHT_PIN 15
#define DHT_TYPE DHT11
#define MQ2_PIN 35
#define FLAME_PIN 2
#define BUZZER_PIN 4
#define LED_PIN 16

// Thông số WiFi
char ssid[] = “YOUR_WIFI_SSID”;
char pass[] = “YOUR_WIFI_PASSWORD”;

// Khởi tạo cảm biến
DHT dht(DHT_PIN, DHT_TYPE);
BlynkTimer timer;

// Ngưỡng cảnh báo
int smokeThreshold = 400;
int tempThreshold = 50;

void setup() {
Serial.begin(115200);

// Khởi tạo các chân
pinMode(FLAME_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);

// Khởi tạo cảm biến
dht.begin();

// Kết nối WiFi và Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);

// Thiết lập timer đọc cảm biến
timer.setInterval(2000L, readSensors);

Serial.println(“Hệ thống báo cháy IoT đã khởi động!”);
}

void loop() {
Blynk.run();
timer.run();
}

void readSensors() {
// Đọc dữ liệu từ cảm biến
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
int smokeLevel = analogRead(MQ2_PIN);
int flameDetected = digitalRead(FLAME_PIN);

// Kiểm tra dữ liệu hợp lệ
if (isnan(temperature) || isnan(humidity)) {
Serial.println(“Lỗi đọc cảm biến DHT!”);
return;
}

// Gửi dữ liệu lên Blynk
Blynk.virtualWrite(V0, temperature);
Blynk.virtualWrite(V1, humidity);
Blynk.virtualWrite(V2, smokeLevel);
Blynk.virtualWrite(V3, flameDetected);

// Kiểm tra điều kiện cảnh báo
bool fireAlert = false;

if (temperature > tempThreshold) {
Serial.println(“CẢNH BÁO: Nhiệt độ cao!”);
fireAlert = true;
}

if (smokeLevel > smokeThreshold) {
Serial.println(“CẢNH BÁO: Phát hiện khói!”);
fireAlert = true;
}

if (flameDetected == LOW) {
Serial.println(“CẢNH BÁO: Phát hiện lửa!”);
fireAlert = true;
}

// Kích hoạt báo động
if (fireAlert) {
activateAlarm();
sendFirebaseAlert();
Blynk.logEvent(“fire_alert”, “Phát hiện cháy tại node!”);
} else {
deactivateAlarm();
}

// In thông tin lên Serial
Serial.printf(“Nhiệt độ: %.1f°C, Độ ẩm: %.1f%%, Khói: %d, Lửa: %s\n”,
temperature, humidity, smokeLevel,
flameDetected == LOW ? “CÓ” : “KHÔNG”);
}

void activateAlarm() {
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(LED_PIN, HIGH);
Blynk.virtualWrite(V4, 1); // Báo trạng thái cảnh báo
}

void deactivateAlarm() {
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_PIN, LOW);
Blynk.virtualWrite(V4, 0);
}

void sendFirebaseAlert() {
// Code gửi cảnh báo lên Firebase
// Thực hiện gọi API hoặc webhook để gửi SMS/Email
}

// Hàm điều khiển từ xa qua Blynk
BLYNK_WRITE(V5) {
int buttonState = param.asInt();
if (buttonState == 1) {
// Reset hệ thống
deactivateAlarm();
Serial.println(“Hệ thống đã được reset từ xa”);
}
}

Tích hợp Firebase:

#include <FirebaseESP32.h>

// Cấu hình Firebase
#define FIREBASE_HOST “your-project.firebaseio.com”
#define FIREBASE_AUTH “your-database-secret”

FirebaseData firebaseData;

void setupFirebase() {
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
}

void sendFirebaseData(float temp, float hum, int smoke, int flame) {
String path = “/fire_alarm_data/” + String(millis());

FirebaseJson json;
json.set(“temperature”, temp);
json.set(“humidity”, hum);
json.set(“smoke_level”, smoke);
json.set(“flame_detected”, flame);
json.set(“timestamp”, millis());
json.set(“location”, “Tầng 5 – Căn hộ A501”);

if (Firebase.setJSON(firebaseData, path, json)) {
Serial.println(“Dữ liệu đã gửi lên Firebase”);
} else {
Serial.println(“Lỗi gửi Firebase: ” + firebaseData.errorReason());
}
}

Thiết kế ứng dụng mobile

Tính năng chính của app:

  • Giám sát real-time: Hiển thị dữ liệu từ tất cả node trong tòa nhà

  • Cảnh báo khẩn cấp: Push notification với âm thanh lớn khi phát hiện cháy

  • Bản đồ tòa nhà: Hiển thị vị trí chính xác node báo cháy

  • Hướng dẫn thoát hiểm: Chỉ dẫn lối thoát an toàn nhất

  • Lịch sử sự kiện: Lưu trữ và phân tích các sự cố đã xảy ra

Công nghệ phát triển app:

  • Frontend: React Native hoặc Flutter

  • Backend: Node.js với Express

  • Database: Firebase Realtime Database

  • Push notification: Firebase Cloud Messaging

Kiến trúc mạng và triển khai

Mô hình triển khai cho tòa chung cư:

Phân bố node cảm biến:

  • Mỗi căn hộ: 1-2 node (phòng khách, bếp)

  • Hành lang: 1 node mỗi 15-20m

  • Tầng hầm để xe: 2-3 node

  • Khu vực công cộng: 1 node mỗi zone

Hệ thống mạng:

  • WiFi chính: Kết nối các node trong phạm vi

  • LoRa backup: Dự phòng khi WiFi gặp sự cố

  • Gateway trung tâm: Tầng 1 hoặc tầng kỹ thuật

Tính năng nâng cao:

Phân tích AI/ML:

  • Dự đoán nguy cơ cháy dựa trên pattern dữ liệu

  • Giảm false alarm thông qua machine learning

  • Phân tích xu hướng để bảo trì proactive

Tích hợp hệ thống tòa nhà:

  • Kết nối với hệ thống HVAC để ngừng thông gió

  • Điều khiển thang máy về tầng 1 khi cháy

  • Mở khóa cửa thoát hiểm tự động

Liên kết cứu hộ:

  • Tự động gọi cứu hỏa 114

  • Gửi thông tin chi tiết vị trí cháy

  • Hỗ trợ đội cứu hộ với bản đồ 3D tòa nhà

Chi phí và lợi ích

Ước tính chi phí:

  • Chi phí cho 1 node: 612,500đ

  • Chi phí cho hệ thống 10 node: 6,125,000đ

  • Chi phí cho hệ thống 20 node (1 tòa chung cư): 12,250,000đ

Lợi ích kinh tế:

  • Giảm 60-80% thiệt hại do phát hiện sớm 3 phút

  • Giảm 30-40% chi phí vận hành nhờ tự động hóa

  • Tăng 50-60% tốc độ phản ứng so với hệ thống truyền thống

Lợi ích xã hội:

  • Bảo vệ tính mạng và tài sản cư dân

  • Nâng cao ý thức phòng cháy chữa cháy

  • Đáp ứng quy chuẩn PCCC quốc gia

  • Tăng giá trị bất động sản tòa nhà

Hệ thống báo cháy IoT không chỉ là giải pháp công nghệ hiện đại mà còn là khoản đầu tư thiết yếu cho an toàn cộng đồng, đặc biệt quan trọng trong bối cảnh đô thị hóa nhanh và mật độ dân cư cao tại các tòa chung cư hiện nay.

About CEO Nguyễn Thành Công

CEO Nguyễn Thành Công – Nhà sáng lập và điều hành công ty LC Tech, là người tiên phong trong việc ứng dụng công nghệ vào việc giám sát và tối ưu hóa tiêu dùng điện, nước tại Việt Nam. Với sứ mệnh “Thay đổi hành vi tiêu dùng điện nước của người dân theo hướng tiết kiệm và hiệu quả”, anh cùng LC Tech phát triển các giải pháp thông minh giúp người dùng kiểm soát năng lượng một cách chủ động. Từng làm việc cho các tập đoàn đa quốc gia, anh mang theo kinh nghiệm quốc tế để hiện thực hóa hành trình khởi nghiệp vì cộng đồng và môi trường.