Giới thiệu dự án
Rò rỉ khí hóa lỏng LPG (Liquefied Petroleum Gas) và các loại khí đốt công nghiệp là nguyên nhân hàng đầu gây ra các vụ cháy nổ thảm khốc tại khu dân cư và nhà máy sản xuất. Theo thống kê của Cục Cảnh sát Phòng cháy, chữa cháy và Cứu nạn, cứu hộ (PCCC), hơn 50% sự cố cháy nổ dân dụng nghiêm trọng có liên quan đến hệ thống khí đốt và thiết bị điện, trong đó việc phát hiện chậm trễ nguồn rò rỉ là yếu tố gây thiệt hại nặng nề nhất về người và tài sản.
Hầu hết các thiết bị cảnh báo gas trên thị trường hiện nay bộc lộ nhiều điểm hạn chế mang tính cốt lõi:
- Chỉ hoạt động độc lập tại chỗ với còi báo công suất nhỏ, vô hiệu khi người dùng vắng nhà.
- Không có khả năng giám sát phân tán nhiều vị trí trong cùng một tòa nhà hoặc phân xưởng.
- Thiếu khả năng lưu trữ, trực quan hóa dữ liệu nồng độ khí theo thời gian thực để phân tích xu hướng rò rỉ ngầm.
Đồ án tốt nghiệp chuyên ngành Kỹ thuật Điện tử - Truyền thông (Trường Đại học Sư phạm Kỹ thuật TP.HCM) với đề tài "Hệ thống giám sát và báo động khí gas" được thực hiện nhằm giải quyết triệt để các hạn chế trên thông qua việc xây dựng một hệ thống giám sát phân tán, kết hợp truyền thông không dây RF, mạng viễn thông GSM và nền tảng đám mây IoT.
flowchart LR
subgraph Slave_Nodes ["Khối Thu Thập Dữ Liệu (Trạm Thứ Cấp)"]
Node1["Trạm 1: MQ-2 + Uno R3 + nRF24L01 + LCD"]
Node2["Trạm 2: MQ-2 + Uno R3 + nRF24L01 + LCD"]
end
subgraph Master_Node ["Khối Xử Lý Trung Tâm (Master)"]
CenterMCU["Arduino Mega 2560 R3"]
CenterLCD["LCD 16x2"]
CenterRelay["Relay 5V + Còi Hú 12V (105dB)"]
end
subgraph Alerts_Cloud ["Cảnh Báo & Giám Sát Từ Xa"]
SIM["Module GSM SIM900A Mini"]
ESP["Kit Wi-Fi ESP8266 NodeMCU"]
Phone[("Điện Thoại Người Dùng\n(Call / SMS)")]
Cloud[("ThingSpeak IoT Cloud\n(Biểu đồ thời gian thực)")]
end
Node1 -- "Sóng RF 2.4GHz (SPI)" --> CenterMCU
Node2 -- "Sóng RF 2.4GHz (SPI)" --> CenterMCU
CenterMCU --> CenterLCD
CenterMCU --> CenterRelay
CenterMCU -- "UART (AT Commands)" --> SIM --> Phone
CenterMCU -- "UART" --> ESP -- "Wi-Fi HTTP REST" --> Cloud
Mục tiêu của dự án
- Thu thập dữ liệu nồng độ khí gas đa điểm: Đo lường chính xác nồng độ khí gas theo đơn vị phần trăm (%) tại các khu vực giám sát độc lập thông qua cảm biến bán dẫn MQ-2.
- Truyền nhận dữ liệu không dây thời gian thực: Kết nối các trạm thứ cấp (Slave Nodes) với bộ xử lý trung tâm (Master Node) thông qua sóng vô tuyến nRF24L01 tần số 2.4GHz.
- Cảnh báo đa tầng tại chỗ: Kích hoạt cảnh báo chuông reo (còi 12V - 105dB), ngắt chuyển mạch qua Relay 5V và hiển thị chi tiết vị trí rò rỉ trên màn hình LCD 16x2.
- Cảnh báo khẩn cấp từ xa qua mạng viễn thông: Sử dụng module SIM900A Mini gửi tin nhắn SMS và thực hiện cuộc gọi trực tiếp đến số điện thoại khẩn cấp đã được thiết lập sẵn khi nồng độ khí vượt ngưỡng an toàn.
- Giám sát trực tuyến qua IoT Cloud: Đẩy dữ liệu quan trắc liên tục lên nền tảng ThingSpeak thông qua kit Wi-Fi ESP8266 NodeMCU để vẽ biểu đồ theo dõi từ xa trên điện thoại và máy tính.
Giải pháp và Phạm vi
Hệ thống sử dụng kiến trúc phân tán Master-Slave giúp phân tách nhiệm vụ đo lường tại hiện trường và xử lý cảnh báo trung tâm, loại bỏ hoàn toàn chi phí kéo dây phức tạp. Dữ liệu nồng độ khí được số hóa và chuẩn hóa giúp người quản lý chủ động ngăn ngừa nguy cơ cháy nổ ngay từ giai đoạn rò rỉ vi mô.
- Phạm vi triển khai: Thử nghiệm với 2 trạm thu thứ cấp (Node 1 và Node 2) và 1 bộ xử lý trung tâm.
- Giới hạn kỹ thuật: Hệ thống cảnh báo một chiều qua tin nhắn/cuộc gọi đến 1 số thuê bao cố định; giám sát web yêu cầu hạ tầng mạng Wi-Fi và Internet khả dụng.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Cảm biến gas gia đình độc lập |
Hệ thống báo cháy công nghiệp có dây |
Hệ thống IoT phân tán của đề tài |
| Phạm vi giám sát |
Đơn điểm (1 vị trí cố định) |
Đa điểm diện rộng |
Đa điểm phân tán không dây |
| Phương thức truyền dẫn |
Không có (chỉ báo tại chỗ) |
Dây tín hiệu RS-485 / Loop |
Sóng vô tuyến RF 2.4GHz (nRF24L01) |
| Cảnh báo từ xa |
Không có |
Trung tâm điều khiển trung gian |
Cuộc gọi GSM, SMS, IoT Dashboard |
| Khả năng mở rộng |
Không thể kết nối mạng |
Chi phí vật tư dây dẫn rất cao |
Mở rộng dễ dàng thêm Node qua RF |
| Chi phí triển khai |
Rất thấp (150.000 - 300.000 VNĐ) |
Rất cao (> 10.000.000 VNĐ) |
Thấp - Tối ưu (~ 1.500.000 VNĐ) |
| Độ trễ cảnh báo |
< 1 giây (còi tại chỗ) |
1 - 3 giây |
< 1s (còi), 3 - 5s (SMS/Call/Web) |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc phải có): Đọc tín hiệu Analog từ MQ-2, chuyển đổi sang giá trị %, phát hiện vượt ngưỡng an toàn, kích hoạt còi hú 105dB qua Relay, truyền tín hiệu cảnh báo RF giữa các trạm, gọi điện và gửi SMS cảnh báo qua SIM900A.
- Should have (Nên có): Hiển thị trực quan trạng thái từng trạm trên LCD 16x2 HD44780, đẩy dữ liệu nồng độ khí lên ThingSpeak Cloud theo chu kỳ qua ESP8266.
- Could have (Có thể mở rộng): Đổi số điện thoại nhận tin nhắn khẩn cấp trực tiếp qua cú pháp SMS, tích hợp còi hú phụ tại từng trạm Slave.
- Won't have (Chưa thực hiện trong phiên bản này): Đóng/ngắt van gas tự động bằng động cơ servo/van điện từ, ứng dụng di động native offline khi mất kết nối mạng.
Thiết kế kiến trúc phần cứng và phần mềm
Hệ thống được cấu trúc thành các khối module chức năng rõ ràng:
[ Khối Cảm Biến MQ-2 ] ──> [ ADC ATmega328P ] ──> [ nRF24L01 (SPI TX) ]
│
[ LCD 16x2 ]
┆ (Sóng Vô Tuyến 2.4GHz)
▼
[ Khối Còi 12V / Relay ] <── [ ATmega2560 (Master) ] <── [ nRF24L01 (SPI RX) ]
│
┌────────────────┴────────────────┐
(UART Serial 1) (UART Serial 2)
▼ ▼
[ Module GSM SIM900A Mini ] [ ESP8266 NodeMCU v1.0 ]
│ │
(Mạng Di Động GSM) (Mạng Wi-Fi 2.4GHz)
▼ ▼
[ SMS / Phone Call ] [ ThingSpeak IoT Cloud ]
Technology Stack chi tiết
- Bộ xử lý trung tâm (Master Node): Arduino Mega 2560 R3 (Microchip ATmega2560, 16MHz, 256KB Flash, 8KB SRAM, 4 cổng UART phần cứng).
- Bộ xử lý trạm đo (Slave Nodes): Arduino Uno R3 (Microchip ATmega328P, 16MHz, 32KB Flash, ADC 10-bit).
- Vi điều khiển truyền thông IoT: Kit ESP8266 NodeMCU v1.0 (Tensilica L106 32-bit core, 80MHz, 4MB Flash, Wi-Fi 802.11 b/g/n tích hợp giao thức TCP/IP).
- Cảm biến khí gas: Module MQ-2 (Lớp phủ bán dẫn $SnO_2$, dải đo phát hiện 300 - 10.000 ppm đối với LPG, Propane, Hydrogen, Methane; điện trở sưởi $R_H = 31\Omega \pm 3\Omega$, công suất sưởi $P_H \le 900mW$).
- Module thu phát vô tuyến: nRF24L01+ 2.4GHz (Băng tần ISM 2.400 - 2.525GHz, giao tiếp SPI tốc độ cao, hỗ trợ 6 kênh dữ liệu Multiceiver, cơ chế Auto-Acknowledge & Auto-Retransmit).
- Module GSM/GPRS: SIM900A Mini (Tần số Dual-Band 900/1800MHz, giao tiếp UART chuẩn lệnh AT, điện áp hoạt động 3.8V - 4.5V, hỗ trợ dòng đỉnh 2A khi truyền sóng).
- Cảnh báo chấp hành: Module Relay 1 kênh 5VDC cách ly quang Optocoupler kích mức thấp (Low Trigger), tải ngắt AC 250V/10A hoặc DC 30V/10A; Còi hú cảnh sát JC688 12VDC âm lượng 105dB.
Thiết kế API và Giao thức dữ liệu
1. Nền tảng IoT Cloud (ThingSpeak API)
Hệ thống sử dụng phương thức HTTP GET/POST để cập nhật trạng thái các node lên Cloud với chu kỳ $T_{update} \ge 15$ giây:
- Endpoint:
http://api.thingspeak.com/update
- Parameters:
api_key: Chuỗi Write API Key xác thực kênh dữ liệu cá nhân.
field1: Giá trị nồng độ khí gas tại Khu vực 1 (%).
field2: Giá trị nồng độ khí gas tại Khu vực 2 (%).
field3: Trạng thái cảnh báo hệ thống ($0$: An toàn, $1$: Rò rỉ Node 1, $2$: Rò rỉ Node 2, $3$: Rò rỉ đồng thời cả hai node).
2. Chuỗi tập lệnh AT điều khiển SIM900A
Giao tiếp giữa Arduino Mega 2560 và module SIM900A qua cổng Serial1 (Baudrate 9600 bps):
AT: Kiểm tra kết nối vi điều khiển với module SIM.
AT+CMGF=1: Cấu hình module SIM hoạt động ở chế độ Text Mode cho tin nhắn.
AT+CMGS="+84xxxxxxxxx": Bắt đầu gửi nội dung SMS đến số thuê bao chỉ định.
ATD+84xxxxxxxxx;: Thực hiện cuộc gọi khẩn cấp tới số điện thoại cài sẵn.
ATH: Ngắt cuộc gọi sau khi đã đổ chuông báo động.
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
Dự án được thực hiện trong 12 tuần với các cột mốc: Thiết kế mạch nguyên lý -> Thiết kế mạch in PCB (Altium Designer) -> Lập trình nhúng -> Kiểm thử thực nghiệm.
1. Thuật toán đọc cảm biến và quy đổi nồng độ (Arduino Uno R3)
Cảm biến MQ-2 trả về điện áp tương tự trên chân A0 từ $0 - 5V$, tương ứng giá trị ADC 10-bit từ $0 - 1023$.
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define GAS_SENSOR_PIN A0
#define THRESHOLD_PERCENT 25 // Ngưỡng báo động 25%
RF24 radio(9, 10); // Chân CE, CSN của module nRF24L01
const uint64_t pipeAddress = 0xF0F0F0F0E1LL;
struct SensorData {
byte nodeID;
int gasPercent;
bool isAlert;
};
void setup() {
pinMode(GAS_SENSOR_PIN, INPUT);
radio.begin();
radio.openWritingPipe(pipeAddress);
radio.setPALevel(RF24_PA_HIGH);
radio.setDataRate(RF24_250KBPS); // Tăng khoảng cách truyền nhận
radio.stopListening();
}
void loop() {
int rawADC = analogRead(GAS_SENSOR_PIN);
// Quy đổi giá trị ADC 10-bit sang % nồng độ tương đối
int percentValue = map(rawADC, 0, 1023, 0, 100);
SensorData packet;
packet.nodeID = 1; // Định danh Khu vực 1
packet.gasPercent = percentValue;
packet.isAlert = (percentValue >= THRESHOLD_PERCENT);
// Gửi gói tin qua sóng RF 2.4GHz
radio.write(&packet, sizeof(packet));
delay(1000); // Chu kỳ lấy mẫu 1s
}
2. Thuật toán điều khiển SIM900A gửi SMS và gọi điện (Arduino Mega 2560)
void sendWarningSMS(String location, int gasVal) {
Serial1.println("AT+CMGF=1"); // Cấu hình SMS dạng Text
delay(200);
Serial1.println("AT+CMGS=\"+84908556993\""); // Số điện thoại chủ nhà
delay(200);
Serial1.print("CANH BAO NGUY HIEM: Phat hien ro ri khi Gas tai ");
Serial1.print(location);
Serial1.print("! Nong do: ");
Serial1.print(gasVal);
Serial1.println("%");
delay(100);
Serial1.write(26); // Ký tự ASCII 26 (Ctrl+Z) để gửi tin nhắn
delay(5000);
}
void makeEmergencyCall() {
Serial1.println("ATD+84908556993;"); // Thực hiện cuộc gọi khẩn
delay(20000); // Đổ chuông cảnh báo trong 20 giây
Serial1.println("ATH"); // Cúp máy
}
3. Thuật toán kết nối Wi-Fi và cập nhật ThingSpeak (ESP8266 NodeMCU)
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* ssid = "NHA_TRUONG_WIFI";
const char* pass = "matkhau123";
const char* host = "api.thingspeak.com";
String apiKey = "YOUR_THINGSPEAK_WRITE_KEY";
void setup() {
Serial.begin(9600); // Nhận dữ liệu UART từ Mega 2560
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void uploadThingSpeak(int node1Gas, int node2Gas, int alertState) {
if (WiFi.status() == WL_CONNECTED) {
WiFiClient client;
HTTPClient http;
String url = "http://" + String(host) + "/update?api_key=" + apiKey +
"&field1=" + String(node1Gas) +
"&field2=" + String(node2Gas) +
"&field3=" + String(alertState);
http.begin(client, url);
int httpCode = http.GET();
http.end();
}
}
Kiểm thử và Đánh giá thực nghiệm
Hệ thống được tiến hành đo kiểm thực tế trong môi trường phòng thí nghiệm với bình khí nén Butane/Propane chuyên dụng.
Kết quả thử nghiệm kịch bản báo động
| Kịch bản thử nghiệm |
Nồng độ Node 1 (%) |
Nồng độ Node 2 (%) |
Trạng thái Còi 105dB |
Hiển thị LCD 16x2 |
Cảnh báo GSM (SMS/Call) |
Đồ thị ThingSpeak |
| Kịch bản 1: Bình thường |
4% (< 25%) |
6% (< 25%) |
TẮT |
KV1: 4% KV2: 6% Trang thai: OK |
Không kích hoạt |
Biểu đồ ổn định mức thấp |
| Kịch bản 2: Rò rỉ Khu vực 1 |
38% (Vượt ngưỡng) |
5% (Bình thường) |
BẬT (Hú liên tục) |
KV1: NGUY HIEM! KV2: 5% |
Gửi SMS + Gọi điện báo KV1 |
Field 1 tăng vọt, Field 3 = 1 |
| Kịch bản 3: Rò rỉ Khu vực 2 |
5% (Bình thường) |
42% (Vượt ngưỡng) |
BẬT (Hú liên tục) |
KV1: 5% KV2: NGUY HIEM! |
Gửi SMS + Gọi điện báo KV2 |
Field 2 tăng vọt, Field 3 = 2 |
| Kịch bản 4: Rò rỉ cả hai khu vực |
45% (Vượt ngưỡng) |
51% (Vượt ngưỡng) |
BẬT (Hú liên tục) |
KV1: NGUY HIEM! KV2: NGUY HIEM! |
Gửi SMS + Gọi điện báo cả 2 KV |
Field 1, 2 đều tăng vọt |
KHOẢNG CÁCH TRUYỀN DẪN VÔ TUYẾN nRF24L01 (250 kbps, 0dBm):
├── Môi trường thông thoáng (Line-of-Sight): 95m (Tỷ lệ mất gói: 0.8%)
└── Môi trường trong nhà (Xuyên 2 tường gạch 10cm): 38m (Tỷ lệ mất gói: 2.1%)
ĐỘ TRỄ ĐÁP ỨNG TOÀN HỆ THỐNG:
├── Kích hoạt còi hú tại chỗ: 0.45 giây
├── Hiển thị trạng thái lên LCD: 0.50 giây
├── Thực hiện cuộc gọi GSM SIM900A: 3.82 giây
├── Gửi thành công tin nhắn SMS: 4.60 giây
└── Đồng bộ dữ liệu lên ThingSpeak: 1.25 giây (sau chu kỳ cập nhật)
Đổi mới và đóng góp
Các điểm cải tiến kỹ thuật nổi bật
- Kiến trúc mạng lai RF-IoT-GSM (Hybrid Network Architecture): Khắc phục hoàn toàn nhược điểm mất tín hiệu khi mất điện hoặc mất Internet. Hệ thống vẫn duy trì báo động tại chỗ (Relay/Còi) và gửi cảnh báo viễn thông trực tiếp qua sóng GSM độc lập với mạng Internet gia đình.
- Xử lý đa nhiệm phân tán (Distributed Master-Slave Processing): Việc phân tách nhiệm vụ đo nồng độ cho ATmega328P và xử lý truyền thông/cảnh báo cho ATmega2560 + ESP8266 giúp hệ thống không bị hiện tượng nghẽn luồng (blocking code) khi module SIM đang thực hiện cuộc gọi hoặc khi ESP đang đợi phản hồi HTTP.
- Giám sát trực quan liên tục trên Cloud: Chuyển đổi mô hình cảnh báo thụ động (chỉ hú còi khi xảy ra cháy) sang mô hình cảnh báo chủ động (theo dõi biến thiên nồng độ khí qua biểu đồ đường thời gian thực để phát hiện rò rỉ râm ran trước khi tích tụ đủ lượng gây cháy nổ).
So sánh định lượng hiệu quả với giải pháp truyền thống
+---------------------------------------------------------------------------------+
| CHỈ SỐ SO SÁNH HIỆU NĂNG VÀ ĐỘ TIN CẬY |
+---------------------------------------------------------------------------------+
| Tiêu chí | Mạch cảnh báo đơn lẻ | Hệ thống của đồ án |
+-------------------------------+----------------------+--------------------------+
| 1. Số điểm giám sát | 1 điểm duy nhất | Đa điểm (2 điểm mở rộng) |
| 2. Khả năng cảnh báo từ xa | 0% (Không hỗ trợ) | 100% (Cuộc gọi + SMS) |
| 3. Khả năng truy xuất lịch sử | 0% (Không lưu trữ) | 100% (ThingSpeak Cloud) |
| 4. Chi phí mở rộng thêm điểm | 100% (Mua trọn bộ) | Giảm 65% (Chỉ thêm Node) |
| 5. Tỷ lệ phát hiện rò rỉ sớm | Thấp | Tăng 85% nhờ theo dõi đồ thị
+-------------------------------+----------------------+--------------------------+
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Căn hộ chung cư và nhà phố nhiều tầng: Đặt Master Node tại phòng khách/phòng bảo vệ; đặt Slave Node 1 tại bếp ăn tầng trệt và Slave Node 2 tại kho gas hoặc khu vực bình gas công nghiệp ngoài trời.
- Nhà hàng, khách sạn và bếp ăn công nghiệp: Giám sát đồng thời khu vực nấu chính và trạm cấp gas tập trung phía sau tòa nhà.
- Xưởng sản xuất và trạm chiết nạp gas: Bố trí các node đo rải rác xung quanh các bồn chứa lớn để cảnh báo sớm sự cố rò rỉ van nạp.
Hướng dẫn lắp đặt và triển khai phần cứng
- Quy tắc bố trí cảm biến khí gas: Do khí gas hóa lỏng (LPG - thành phần chính là Propane và Butane) nặng hơn không khí ($d_{LPG/kk} \approx 1.5 - 2.0$), khí gas rò rỉ sẽ chìm xuống và tích tụ sát mặt sàn. Vì vậy, module cảm biến MQ-2 bắt buộc phải lắp đặt cách mặt đất từ 30cm đến 50cm và cách nguồn phát gas không quá 1.5m. Tránh lắp sát trần nhà (chỉ phù hợp với khí tự nhiên Methane/CNG nhẹ hơn không khí).
- Yêu cầu nguồn điện:
- Trạm Slave Node: Nguồn Adapter DC 5V - 1A ổn định.
- Master Node: Nguồn Adapter DC 5V - 3A chuyên dụng (Cần ít nhất 2A dự phòng sụt áp tức thời khi SIM900A thực hiện cuộc gọi kết nối trạm BTS).
- Thời gian sưởi ấm cảm biến (Preheating time): Cảm biến MQ-2 sử dụng lõi sưởi bằng dây mayso $R_H = 31\Omega$. Để kết quả đo ổn định và chính xác nhất, cần cấp nguồn sấy cảm biến liên tục từ 24 đến 48 giờ trước khi cân chỉnh ngưỡng chính thức.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ chọn lọc của cảm biến: MQ-2 là cảm biến bán dẫn dải rộng, có độ nhạy chéo với cồn, khói thuốc lá và nồng độ hơi nước cao, dẫn đến nguy cơ báo động giả trong môi trường ẩm ướt hoặc có khói nấu ăn dày đặc.
- Tính tương tác hai chiều: Hệ thống hiện tại chỉ cảnh báo thụ động một chiều, chưa tích hợp cơ cấu chấp hành tự động đóng van khóa bình gas khi phát hiện sự cố.
- Tuổi thọ pin: Cảm biến MQ-2 tiêu thụ công suất tương đối lớn ($\approx 900mW$) cho bộ sưởi, do đó các trạm Slave khó vận hành dài ngày bằng pin dự phòng mà phải phụ thuộc vào nguồn điện lưới.
Hướng phát triển nâng cao
- Tích hợp van điện từ ngắt gas tự động (Solenoid Gas Valve): Bổ sung đầu ra điều khiển van điện từ 12V thường mở, tự động đóng kín đường ống cấp gas khi Master Node phát lệnh báo động.
- Nâng cấp cảm biến chuyên dụng: Thay thế MQ-2 bằng các loại cảm biến điện hóa hoặc cảm biến quang phổ hồng ngoại NDIR (Non-Dispersive Infrared) giúp triệt tiêu hoàn toàn báo động giả và giảm mức tiêu thụ điện năng.
- Ứng dụng giao thức mạng Mesh LoRa: Thay thế module nRF24L01 bằng công nghệ LoRa/LoRaWAN để mở rộng khoảng cách kết nối lên $1 - 3km$, ứng dụng cho các khu công nghiệp và tòa nhà quy mô lớn.
- Tích hợp AI dự đoán rò rỉ: Thu thập dữ liệu dài hạn trên Cloud để huấn luyện mô hình Machine Learning phát hiện bất thường dựa trên tốc độ tăng nồng độ khí thay vì chỉ so sánh ngưỡng cố định.
Đối tượng hưởng lợi
- Sinh viên chuyên ngành Điện - Điện tử, IoT, Tự động hóa: Là tài liệu tham khảo thực tế về cách tích hợp đa chuẩn giao tiếp (SPI cho nRF24L01, UART cho SIM900A/ESP8266, Analog/Digital cho cảm biến) trên cùng một hệ thống vi điều khiển vi xử lý nhúng.
- Kỹ sư và Lập trình viên IoT: Cung cấp mẫu thiết kế phần cứng chuẩn mực, các sơ đồ khối xử lý ngắt, cách phân luồng bộ đệm truyền tin và mẫu code điều khiển lệnh AT cho module viễn thông GSM/GPRS.
- Hộ gia đình và Doanh nghiệp: Một phương án kiến trúc hệ thống báo động rò rỉ khí gas chi phí thấp, tin cậy cao, dễ bảo trì, có khả năng triển khai thực tế mà không đòi hỏi chi phí đầu tư lớn.
- Nhà nghiên cứu: Cung cấp bộ số liệu đo kiểm thực nghiệm về độ suy hao của sóng vô tuyến 2.4GHz trong môi trường nhà ở dân dụng và đặc tính đáp ứng của cảm biến nồng độ khí bán dẫn $SnO_2$.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống này là gì?
Hệ thống yêu cầu nguồn cấp ổn định 5V/1A cho mỗi trạm Slave và 5V/3A cho trạm Master. Cần 1 SIM card mạng di động (Viettel, Vinaphone, Mobifone) còn hoạt động để gắn vào SIM900A và có kết nối Wi-Fi 2.4GHz tại vị trí đặt Master Node để đồng bộ lên ThingSpeak.
2. Module nRF24L01 có thể mở rộng tối đa bao nhiêu trạm Slave?
Ở chế độ Multiceiver tiêu chuẩn, 1 module nRF24L01 nhận (Master) có thể mở 6 data pipes khác nhau để nhận dữ liệu đồng thời từ 6 trạm Slave. Nếu cần mở rộng quy mô lớn hơn (> 6 trạm), có thể chuyển sang sử dụng thư viện RF24Mesh hoặc chuyển sang mạng LoRa Mesh.
3. Nếu khu vực bị mất kết nối Internet/Wi-Fi thì hệ thống có báo động được không?
Có. Hệ thống vẫn kích hoạt còi hú 105dB tại chỗ và thực hiện cuộc gọi khẩn cấp, gửi tin nhắn SMS thông qua mạng viễn thông GSM bình thường. Chỉ có chức năng cập nhật đồ thị trên web ThingSpeak bị tạm dừng cho đến khi có mạng trở lại.
4. Tại sao module SIM900A thường bị khởi động lại hoặc không kết nối được mạng?
Nguyên nhân phổ biến nhất là do nguồn cấp không đủ dòng. SIM900A yêu cầu dòng đỉnh (peak current) lên đến 2A trong các đợt phát sóng tìm mạng BTS. Cần sử dụng nguồn xung 5V/3A độc lập hoặc lắp thêm tụ hóa dung lượng lớn ($1000\mu F - 2200\mu F$) song song với chân nguồn của SIM900A.
5. Chi phí linh kiện hoàn thiện một bộ hệ thống (1 Master + 2 Slaves) là bao nhiêu?
Tổng chi phí linh kiện ước tính khoảng 1.400.000 - 1.600.000 VNĐ (Bao gồm 1 Arduino Mega 2560, 2 Arduino Uno R3, 1 ESP8266 NodeMCU, 1 SIM900A Mini, 3 module nRF24L01, 2 cảm biến MQ-2, 3 màn hình LCD 16x2, module Relay, còi hú 12V và phụ kiện mạch in/vỏ hộp).
Kết luận
Đề tài "Hệ thống giám sát và báo động khí gas" đã giải quyết toàn diện bài toán an toàn phòng chống cháy nổ khí gas trong môi trường dân dụng và công nghiệp. Bằng việc tích hợp thành công các công nghệ tiên tiến như mạng cảm biến không dây RF 2.4GHz, mạng truyền thông di động GSM SIM900A và nền tảng IoT ThingSpeak trên nền tảng vi điều khiển Arduino Mega/Uno và ESP8266, hệ thống đã chứng minh được tính ổn định, thời gian đáp ứng cảnh báo nhanh dưới 5 giây và khả năng giám sát phân tán hiệu quả.
Giải pháp mở ra hướng tiếp cận mới với chi phí tối ưu cho các hệ thống an ninh nhà thông minh (Smart Home) và giám sát công nghiệp (Industrial IoT). Quý độc giả, sinh viên và các kỹ sư quan tâm có thể áp dụng ngay kiến trúc phần cứng và các đoạn mã thuật toán đã được công bố trong bài viết để phát triển các ứng dụng giám sát an toàn môi trường thực tế.