📟 ESP8266 & MQ-2 Gas Sensor
🛠 Linh kiện sử dụng
- ESP8266 (NodeMCU)
- Cảm biến khí gas MQ-2
- Nguồn cấp 5V
- Dây cắm, Broad cắm
🔌 Sơ đồ nối dây
| MQ-2 Pin |
ESP8266 Pin |
| VCC | 3.3V |
| GND | GND |
| A0 | A0 |
| D0 | D2 (GPIO4) |
📜 Lưu đồ phần cứng
Bắt đầu
├──> Cấp nguồn...
├──> Kết nối WiFi...
├──> MQ-2 đọc giá trị...
├──> Gửi giá trị đến ESP8266...
├──> Gửi dữ liệu lên Supabase
├──> Hiển thị dữ liệu Web UI...
├──> Nếu vượt ngưỡng → Cảnh báo Discord...
└──> Lặp lại mỗi 2s
🚨 Lưu đồ gửi cảnh báo Discord
ESP8266 nhận dữ liệu
├──> Giá trị vượt ngưỡng?
│ ├──> Không → Bỏ qua
│ ├──> Có → Gửi HTTP POST
│ ├──> Nhận phản hồi...
│ ├──> Thành công? → In "Gửi thành công"
│ ├──> Lỗi → In log
└──> Chờ lần đo tiếp theo
📩 JSON gửi lên Discord
{
"embeds": [
{
"title": "🚨 Cảnh báo khí gas vượt ngưỡng an toàn! 🚨",
"description": "Nồng độ khí gas cao: 250",
"color": 16711680,
"footer": {
"text": "text",
"icon_url": "icon_url"
}
}
]
}
🌍 WEB UI
🎯 Tổng hợp lại về hệ thống
+---------------------+
| MQ-2 Sensor |
| (Detects Gas) |
+---------+----------+
|
v
+---------------------+
| ESP8266 |
| (WiFi Module) |
| - Đọc dữ liệu MQ-2 |
| - Gửi dữ liệu lên |
| Supabase |
| - Kiểm tra ngưỡng |
| - Gửi cảnh báo |
+---------+----------+
|
v
+---------------------+ +---------------------+
| Web Server | <------> | Web UI (HTML) |
| (ESP8266 Server) | | - Hiển thị dữ liệu |
| - Cung cấp JSON API | | - Biểu đồ dữ liệu |
| - Nhận request | | - Lịch sử đo |
+---------------------+ +---------------------+
|
v
+---------------------+ +---------------------+
| Supabase (DB) | <------> | Discord Webhook |
| - Lưu dữ liệu khí | | - Nhận HTTP POST |
| gas (API REST) | | - Gửi cảnh báo |
+---------------------+ +---------------------+