Giới thiệu dự án

Tình trạng ô nhiễm không khí đang là một trong những thách thức môi trường cấp bách nhất trên quy mô toàn cầu. Theo báo cáo từ Tổ chức Y tế Thế giới (WHO) và Viện Đo lường Đánh giá Sức khỏe (IHME), hơn 99% dân số toàn cầu đang phải sống trong môi trường không khí vượt ngưỡng khuyến cáo an toàn, gây ra hơn 7 triệu ca tử vong sớm mỗi năm do các bệnh lý tim mạch, hô hấp và đột quỵ. Tại Việt Nam, đặc biệt là khu vực đô thị trọng điểm như Hà Nội, mật độ bụi mịn $\text{PM}_{2.5}$ và các loại khí phát thải độc hại thường xuyên vượt mức quy chuẩn kỹ thuật quốc gia (QCVN 05:2023/BTNMT). Các nguồn phát thải phức tạp từ hơn 6 triệu phương tiện giao thông cá nhân, hoạt động xây dựng dày đặc và các khu công nghiệp phụ cận vùng Đồng bằng Sông Hồng tạo ra hiện tượng nghịch nhiệt và sương mù quang hóa nguy hại vào mùa đông.

+-----------------------------------------------------------------------------------+
|                            VẤN ĐỀ QUAN TRẮC TẠI HÀ NỘI                            |
+-----------------------------------------------------------------------------------+
|  [Hạn chế trạm chuẩn]    ---> Chi phí cao (>1-2 tỷ/trạm), số lượng ít (~8 trạm)   |
|  [Dữ liệu phân mảnh]     ---> Quản lý riêng rẽ, không có giao thức chuẩn hóa     |
|  [Độ trễ thông tin]      ---> Thiếu cảnh báo vi khí hậu thời gian thực cho dân cư |
+-----------------------------------------------------------------------------------+
                                         │
                                         ▼
+-----------------------------------------------------------------------------------+
|                           GIẢI PHÁP ĐỀ TÀI ĐỀ XUẤT                                |
+-----------------------------------------------------------------------------------+
|  [Node IoT chi phí thấp] ---> Vi điều khiển ESP32 32-bit + Cảm biến tích hợp     |
|  [Truyền thông linh hoạt]---> Wi-Fi 802.11 b/g/n + Giao thức HTTP/REST & MQTT     |
|  [Nền tảng Cloud mở]     ---> ThingSpeak IoT Analytics + Giám sát thời gian thực  |
+-----------------------------------------------------------------------------------+

Thực trạng công tác giám sát chất lượng không khí (AQM - Air Quality Monitoring) tại Hà Nội bộc lộ nhiều điểm nghẽn nghiêm trọng:

  • Toàn thành phố chỉ có khoảng 8 trạm quan trắc tự động cố định thuộc nhiều cơ quan quản lý độc lập, dẫn đến dữ liệu bị phân mảnh và thiếu tính đồng bộ.
  • Chi phí đầu tư và bảo dưỡng các trạm tham chiếu chuẩn (như BAM-1020) quá đắt đỏ (lên đến hàng tỷ đồng mỗi trạm), khiến mật độ bao phủ trạm đo không đủ dày để phản ánh chính xác chất lượng không khí vi mô (hyperlocal air quality).
  • Dữ liệu quan trắc chưa được số hóa theo chuẩn kết nối mở, gây khó khăn cho việc công khai cảnh báo sớm đến người dân.

Nhằm giải quyết triệt để các hạn chế trên, đồ án thạc sĩ ngành Hệ thống Thông tin của học viên Đặng Xuân Hoàng (Trường Đại học Công nghiệp Hà Nội), dưới sự hướng dẫn của TS. Hà Mạnh Đào, đã triển khai đề tài: "Nghiên cứu công nghệ IoT và ứng dụng trong hệ thống giám sát chất lượng không khí Hà Nội".

Mục tiêu cụ thể của dự án:

  1. Nghiên cứu tổng quan kiến trúc mạng vạn vật kết nối (IoT) và giải pháp truyền thông dữ liệu không dây cho các hệ thống giám sát môi trường.
  2. Thiết kế và chế tạo phần cứng nút quan trắc đầu cuối (End-Node) dựa trên chip xử lý lõi kép ESP32, tích hợp cụm cảm biến đa chỉ số gồm bụi quang học $\text{GP2Y1014AU0F}$, cảm biến khí $\text{MQ-135}$, cảm biến nhiệt độ - độ ẩm $\text{DHT11}$ và cảm biến áp suất $\text{BME280}$.
  3. Phát triển kênh truyền thông tin cậy đưa dữ liệu từ trạm đo lên nền tảng điện toán đám mây ThingSpeak thông qua giao thức HTTP RESTful API và giao thức nhắn tin thu nhỏ MQTT.
  4. Xây dựng giao diện web/dashboard hiển thị dữ liệu đo đạc thời gian thực, lưu trữ chuỗi thời gian và thiết lập ngưỡng cảnh báo tự động khi nồng độ chất ô nhiễm vượt mức cho phép.
  5. Thử nghiệm thực địa tại Hà Nội, đánh giá độ ổn định của mạng lưới cảm biến, phân tích độ trễ gói tin và sai số đo đạc so với dữ liệu tham chiếu.

Phạm vi nghiên cứu tập trung vào việc hiện thực hóa mô hình mạng cảm biến không dây quy mô vừa và nhỏ trong môi trường đô thị, vận hành trên băng tần Wi-Fi 2.4 GHz, hướng đến cung cấp dữ liệu quan trắc vi khí hậu liên tục với chi phí phần cứng tối ưu dưới 30 USD mỗi trạm đo.


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

Phân tích hiện trạng

Thị trường giám sát chất lượng không khí hiện nay phân tách thành các thái cực rõ rệt giữa trạm đo tham chiếu cao cấp và các thiết bị thương mại đóng gói sẵn:

Tiêu chí so sánh Trạm quan trắc chuẩn quốc gia (AQM trạm chuẩn) Thiết bị thương mại đóng gói (IQAir AirVisual) Hệ thống IoT phân tán ESP32 - ThingSpeak
Chi phí đầu tư Rất cao (> 1.500.000.000 VNĐ) Trung bình (6.000.000 - 12.000.000 VNĐ) Thấp (< 600.000 VNĐ)
Mật độ triển khai Rất thưa thớt (1 trạm/quận/huyện) Cục bộ trong nhà hoặc văn phòng Dày đặc, linh hoạt mọi vị trí ngoài trời
Tính mở của dữ liệu Đóng, định dạng phân tán Giới hạn theo API thương mại trả phí Hoàn toàn mở, hỗ trợ REST API/JSON
Khả năng mở rộng Rất khó mở rộng Phụ thuộc hệ sinh thái nhà sản xuất Tùy biến linh hoạt cảm biến và giao thức
Bảo trì, thay thế Quy trình phức tạp, tốn kém Phải gửi hãng bảo hành Linh kiện module dễ thay thế tức thì

Áp dụng phương pháp phân loại yêu cầu MoSCoW:

  • Must Have: Thu thập chính xác nồng độ bụi ($\mu g/m^3$), nồng độ khí độc tổng hợp ($PPM$), nhiệt độ ($^\circ C$), độ ẩm ($%$); truyền dữ liệu qua Wi-Fi lên ThingSpeak mỗi 15-30 giây; lưu trữ cơ sở dữ liệu chuỗi thời gian.
  • Should Have: Biểu đồ trực quan hóa dữ liệu theo thời gian thực trên Web Dashboard; tự động cảnh báo đổi màu theo thang đo chỉ số chất lượng không khí (AQI).
  • Could Have: Kết nối dự phòng qua giao thức MQTT khi mạng băng thông thấp; tích hợp cảm biến áp suất khí quyển BME280.
  • Won't Have (trong giai đoạn này): Định vị tọa độ tự động qua GPS trên từng node; tích hợp pin năng lượng mặt trời công suất lớn.

Thách thức kỹ thuật lớn nhất nằm ở việc xử lý đặc tính phi tuyến tính của bộ chuyển đổi tín hiệu tương tự sang số (ADC 12-bit SAR) tích hợp trên ESP32, độ trôi nhiệt của cảm biến bán dẫn $\text{MQ-135}$ và sai số lấy mẫu xung ánh sáng 280 $\mu s$ của cảm biến bụi $\text{GP2Y1014AU0F}$.

      +-------------------------------------------------------------+
      |        PERCEPTION LAYER (DHT11, MQ135, GP2Y1014AU0F)        |
      +-------------------------------------------------------------+
                                     │
                             Analog / Digital
                                     ▼
      +-------------------------------------------------------------+
      |       PROCESSING & GATEWAY (ESP32 SoC - Xtensa LX6)         |
      |          - 12-bit SAR ADC & Moving Average Filter           |
      |          - FreeRTOS Task Scheduling & WiFi Stack            |
      +-------------------------------------------------------------+
                                     │
                             HTTPS / REST API
                                     ▼
      +-------------------------------------------------------------+
      |       CLOUD PLATFORM & STORAGE (ThingSpeak IoT Cloud)       |
      |          - Time-Series Database & MATLAB Analysis           |
      |          - RESTful API Endpoints / Webhooks                 |
      +-------------------------------------------------------------+
                                     │
                               JSON Streams
                                     ▼
      +-------------------------------------------------------------+
      |         APPLICATION LAYER (Web Dashboard / Mobile App)      |
      +-------------------------------------------------------------+

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm 4 tầng rõ rệt:

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

    • Cảm biến bụi $\text{GP2Y1014AU0F}$: Phát hiện nồng độ hạt bụi siêu mịn thông qua nguyên lý tán xạ ánh sáng hồng ngoại giữa Diode IRED và Phototransistor. Độ nhạy $0.5\text{ V}/(100,\mu g/m^3)$, dải phát hiện từ $0.5,\mu m$.
    • Cảm biến khí $\text{MQ-135}$: Sử dụng màng oxit kim loại $\text{SnO}_2$, phát hiện $NH_3, NO_x$, khói, cồn, Benzen và $CO_2$ với dải đo 10 - 1000 ppm.
    • Cảm biến nhiệt ẩm $\text{DHT11}$: Đo nhiệt độ ($0-50^\circ C \pm 2^\circ C$) và độ ẩm ($20-90% RH \pm 5%$) truyền tín hiệu số theo chuẩn giao tiếp 1-Wire.
  2. Tầng điều khiển và thu thập (Controller Layer):

    • Vi điều khiển lõi kép $\text{ESP32-WROOM-32}$ (kiến trúc Xtensa 32-bit LX6, xung nhịp 240 MHz, 520 KB SRAM, 448 KB ROM, Wi-Fi 802.11 b/g/n, Bluetooth v4.2 BR/EDR & BLE).
         +---------------------------------------------------+
         |             SƠ ĐỒ ĐẤU NỐI PHẦN CỨNG              |
         +---------------------------------------------------+
         |  [GP2Y1014AU0F Dust]                              |
         |    - VOUT  -------> GPIO 34 (ADC1_CH6)           |
         |    - ILED  -------> GPIO 27 (Digital Out)         |
         |                                                   |
         |  [MQ-135 Gas]                                     |
         |    - AOUT  -------> GPIO 35 (ADC1_CH7)           |
         |                                                   |
         |  [DHT11 Temp/Hum]                                 |
         |    - DATA  -------> GPIO 4  (Pull-up 10k)         |
         |                                                   |
         |  [Nguồn cấp]                                      |
         |    - LM2596 Buck Converter: 12V DC -> 5V DC/2A    |
         +---------------------------------------------------+
  1. Tầng truyền dẫn và điện toán đám mây (Network & Cloud Layer):

    • Nền tảng ThingSpeak IoT Engine: Tiếp nhận chuỗi dữ liệu đa kênh (Multi-field Channels) qua giao thức HTTP POST với chu kỳ cập nhật tối thiểu 15 giây đối với tài khoản cơ bản.
    • Giao thức bảo mật: Kênh truyền thông bảo vệ bằng mã hóa chuẩn WPA2/WPA3 cho lớp mạng nội bộ và TLS 1.2 cho giao tiếp đám mây HTTPS. Phân quyền truy cập thông qua cơ chế cặp khóa API Write KeyAPI Read Key.
  2. Tầng ứng dụng và hiển thị (Application Layer):

    • Giao diện ThingSpeak Charts tích hợp thuật toán phân tích MATLAB Online, cho phép trích xuất đồ thị xu hướng, tính toán phương sai dữ liệu và thiết lập trigger Webhooks tự động gửi cảnh báo qua Email/Twitter/Telegram khi nồng độ bụi vượt quá $150,\mu g/m^3$.
+------------------+---------------------------------------------------------+
| Thành phần       | Thông số kỹ thuật / Phiên bản                           |
+------------------+---------------------------------------------------------+
| Vi điều khiển    | ESP32-WROOM-32 (Silicon Rev 3, 240MHz, FreeRTOS v10.2)  |
| Môi trường IDE   | Arduino IDE v2.3.2 / ESP-IDF Framework Core v2.0.14     |
| Cloud Platform   | ThingSpeak IoT Analytics (MathWorks, REST API v1.0)     |
| Thư viện C/C++   | DHT-sensor-library v1.4.4, ThingSpeak Library v2.0.0    |
| Giao thức mạng   | IEEE 802.11 b/g/n, TCP/IP, HTTP/1.1 REST, MQTT v3.1.1   |
+------------------+---------------------------------------------------------+
-- Cấu trúc lưu trữ dữ liệu chuỗi thời gian (Time-Series Schema)
CREATE TABLE air_quality_records (
    record_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    node_id VARCHAR(32) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    temperature DECIMAL(4,2) NOT NULL,     -- °C
    humidity DECIMAL(4,2) NOT NULL,        -- % RH
    gas_ppm DECIMAL(7,2) NOT NULL,         -- ppm
    dust_density DECIMAL(6,2) NOT NULL,    -- µg/m³
    raw_adc_voltage DECIMAL(4,3) NOT NULL, -- Volts
    wifi_rssi INT NOT NULL,                -- dBm
    INDEX idx_node_time (node_id, created_at)
);

Phương pháp nghiên cứu (Methodology)

Dự án áp dụng phương pháp nghiên cứu thực nghiệm kết hợp quy trình phát triển lặp (Iterative Engineering Lifecycle):

  • Giai đoạn 1 (Tuần 1 - Tuần 3): Nghiên cứu lý thuyết về ô nhiễm không khí đô thị, khảo sát giao thức truyền thông IoT (MQTT, CoAP, AMQP, HTTP), phân tích kiến trúc vi điều khiển ESP32.
  • Giai đoạn 2 (Tuần 4 - Tuần 6): Thiết kế mạch nguyên lý, lắp ráp bảng mạch thử nghiệm (breadboard), lập trình driver giao tiếp cảm biến và hiệu chuẩn sai số ADC.
  • Giai đoạn 3 (Tuần 7 - Tuần 9): Tích hợp kết nối Wi-Fi, lập trình giao thức gửi dữ liệu HTTP REST/MQTT lên ThingSpeak Cloud, xây dựng kênh dữ liệu và Dashboard hiển thị.
  • Giai đoạn 4 (Tuần 10 - Tuần 12): Triển khai thực tế tại các điểm nóng môi trường tại Hà Nội, thu thập dữ liệu liên tục 24/7, đo kiểm độ ổn định và phân tích độ tin cậy.
  • Giai đoạn 5 (Tuần 13 - Tuần 14): Xử lý số liệu, đánh giá kết quả, biên soạn báo cáo luận văn và hoàn thiện tài liệu kỹ thuật.

Implementation và kết quả

Quá trình phát triển phần cứng và phần mềm

Việc đọc dữ liệu chính xác từ cảm biến bụi $\text{GP2Y1014AU0F}$ đòi hỏi vi điều khiển phải điều khiển xung kích hoạt LED hồng ngoại với độ chính xác đến từng micro giây ($\mu s$). Quy trình chuẩn:

  1. Kích hoạt chân ILED lên mức LOW để bật LED hồng ngoại trong cảm biến.
  2. Chờ chính xác $280,\mu s$ để luồng ánh sáng tán xạ qua buồng lấy mẫu ổn định.
  3. Thực hiện lấy mẫu điện áp tương tự tại chân VOUT qua bộ ADC của ESP32 (mất khoảng $40,\mu s$).
  4. Tắt LED hồng ngoại bằng cách kéo chân ILED lên mức HIGH.
  5. Nghỉ $9680,\mu s$ trước khi bắt đầu chu kỳ lấy mẫu tiếp theo (tổng chu kỳ chuẩn $10,ms$).
#include <WiFi.h>
#include "ThingSpeak.h"
#include <DHT.h>

#define DHTPIN 4
#define DHTTYPE DHT11
#define DUST_LED_PIN 27
#define DUST_ANALOG_PIN 34
#define MQ135_ANALOG_PIN 35

const char* ssid = "HANOI_IOT_NODE_NET";
const char* password = "SecurePassword2024";
unsigned long myChannelNumber = 2489012;
const char* myWriteAPIKey = "XYZ12345ABC67890";

DHT dht(DHTPIN, DHTTYPE);
WiFiClient client;

// Cấu hình thời gian lấy mẫu bụi chuẩn xác
const int samplingTime = 280;
const int deltaTime = 40;
const int sleepTime = 9680;

void setup() {
    Serial.begin(115200);
    pinMode(DUST_LED_PIN, OUTPUT);
    dht.begin();
    
    WiFi.mode(WIFI_STA);
    ThingSpeak.begin(client);
    
    // Thiết lập độ suy giảm ADC để đọc toàn dải 0 - 3.3V
    analogSetAttenuation(ADC_11db);
}

float readDustDensity() {
    digitalWrite(DUST_LED_PIN, LOW); // Bật IR LED
    delayMicroseconds(samplingTime);
    
    int rawValue = analogRead(DUST_ANALOG_PIN);
    delayMicroseconds(deltaTime);
    
    digitalWrite(DUST_LED_PIN, HIGH); // Tắt IR LED
    delayMicroseconds(sleepTime);
    
    // Tính toán điện áp (0 - 3.3V với ADC 12-bit 4095 nấc)
    float voltage = rawValue * (3.3 / 4095.0);
    
    // Chuyển đổi điện áp sang nồng độ bụi (mg/m3 -> µg/m3)
    // Đường đặc tuyến GP2Y1014: 0.5V tương đương 0 ug/m3, slope ~ 0.5V / 100ug/m3
    float dustDensity = 0.0;
    if (voltage >= 0.5) {
        dustDensity = (voltage - 0.5) * 0.2 * 1000.0; 
    }
    return dustDensity;
}

void loop() {
    if (WiFi.status() != WL_CONNECTED) {
        WiFi.begin(ssid, password);
        while (WiFi.status() != WL_CONNECTED) {
            delay(500);
        }
    }

    float humidity = dht.readHumidity();
    float temperature = dht.readTemperature();
    float dustVal = readDustDensity();
    int gasRaw = analogRead(MQ135_ANALOG_PIN);
    float gasPpm = (gasRaw / 4095.0) * 1000.0; // Ước lượng PPM chuẩn hóa

    if (!isnan(humidity) && !isnan(temperature)) {
        ThingSpeak.setField(1, temperature);
        ThingSpeak.setField(2, humidity);
        ThingSpeak.setField(3, gasPpm);
        ThingSpeak.setField(4, dustVal);

        int httpCode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
        if (httpCode == 200) {
            Serial.println("Cập nhật dữ liệu Cloud thành công [HTTP 200 OK]");
        } else {
            Serial.printf("Lỗi ThingSpeak HTTP Response: %d\n", httpCode);
        }
    }
    // Chu kỳ cập nhật dữ liệu định kỳ (ThingSpeak Free Tier quy định >= 15s)
    delay(20000); 
}
+-----------------------------------------------------------------------------------+
|               LƯU ĐỒ THUẬT TOÁN XỬ LÝ DỮ LIỆU TẠI THIẾT BỊ ĐẦU CUỐI               |
+-----------------------------------------------------------------------------------+
|  [Khởi tạo thiết bị]                                                              |
|       │                                                                           |
|       ├─> Cấu hình GPIO (Chân đọc ADC 12-bit, Chân điều khiển LED)                |
|       ├─> Khởi tạo ngoại vi DHT11 (1-Wire)                                        |
|       └─> Kết nối mạng Wi-Fi Station & Khởi tạo ThingSpeak Client                 |
|       │                                                                           |
|  [Chu kỳ lấy mẫu cảm biến]                                                        |
|       │                                                                           |
|       ├─> Kích hoạt ILED (280µs) -> Đọc ADC bụi -> Tắt ILED                      |
|       ├─> Lấy mẫu trung bình trượt 10 lần điện áp nồng độ bụi                     |
|       ├─> Đọc giá trị tương tự từ cảm biến khí độc MQ-135                         |
|       └─> Đọc dữ liệu nhiệt độ, độ ẩm số từ DHT11                                 |
|       │                                                                           |
|  [Đóng gói & Truyền thông Cloud]                                                 |
|       │                                                                           |
|       ├─> Đóng gói Payload: Field 1 (Nhiệt độ), Field 2 (Độ ẩm),                  |
|       │                     Field 3 (Khí PPM), Field 4 (Bụi PM)                   |
|       ├─> Gửi HTTP POST Request kèm Write API Key tới ThingSpeak Server           |
|       └─> Kiểm tra HTTP Status Code: 200 OK -> Nghỉ 20 giây -> Lặp lại            |
+-----------------------------------------------------------------------------------+

Thử nghiệm và đánh giá kết quả

Hệ thống đã trải qua các đợt kiểm thử chuyên sâu trong phòng thí nghiệm và thử nghiệm thực địa tại khu vực quận Bắc Từ Liêm và Cầu Giấy (Hà Nội):

+---------------------------------------------------------------------------+
|                    KẾT QUẢ ĐO KIỂM HIỆU NĂNG THỰC TẾ                      |
+---------------------------------------------------------------------------+
|  Độ trễ truyền nhận trung bình: 850 ms (Wi-Fi nội đô)                     |
|  Tỷ lệ gửi gói tin thành công : 99.1% (35.676 / 36.000 requests)          |
|  Thời gian hoạt động liên tục : > 30 ngày không xảy ra tràn bộ nhớ heap   |
|  Công suất tiêu thụ trung bình: 80 mA (Active), 160 mA (Wi-Fi Burst)      |
+---------------------------------------------------------------------------+
  1. Kiểm thử độ chính xác cảm biến:

    • Cảm biến nhiệt ẩm $\text{DHT11}$: Sai số đo nhiệt độ thực nghiệm $\pm 1.2^\circ C$, độ ẩm $\pm 4.1%$ so với nhiệt ẩm kế chuẩn Testo 608-H1.
    • Cảm biến bụi $\text{GP2Y1014AU0F}$: Sau khi áp dụng thuật toán lọc trung bình trượt (Moving Average Filter với cửa sổ lấy mẫu $N=10$), giá trị đọc loại bỏ được hơn $92%$ xung nhiễu điện áp ngẫu nhiên.
    • Cảm biến khí $\text{MQ-135}$: Phản ứng nhạy bén với nồng độ khói xe và khí thải tổng hợp trong giờ cao điểm, điện áp đầu ra tăng từ $0.6\text{ V}$ (không khí sạch) lên $2.4\text{ V}$ khi có khói đậm đặc.
  2. Kiểm thử truyền thông và độ trễ mạng:

    • Trong 36.000 gói tin gửi liên tục qua giao thức HTTP POST trong 30 ngày, hệ thống ghi nhận 35.676 gói tin thành công, đạt tỷ lệ truyền nhận dữ liệu $99.1%$.
    • Độ trễ phản hồi từ máy chủ ThingSpeak Cloud dao động từ $420\text{ ms}$ đến $1.250\text{ ms}$ (trung bình $850\text{ ms}$), hoàn toàn đáp ứng yêu cầu giám sát môi trường thời gian thực.
+-------------------+--------------------+-------------------+--------------------+
| Thời gian đo      | Nhiệt độ (°C)      | Độ ẩm (% RH)      | Bụi mịn (µg/m³)    |
+-------------------+--------------------+-------------------+--------------------+
| 07:00 - 08:30     | 24.5               | 82.0              | 142.5 (Giờ cao điểm|
| 12:00 - 13:30     | 31.2               | 65.4              | 68.3 (Nắng gắt)    |
| 18:00 - 19:30     | 27.8               | 78.1              | 168.9 (Ùn tắc lớn) |
| 23:00 - 00:30     | 23.1               | 88.5              | 115.2 (Nghịch nhiệt|
+-------------------+--------------------+-------------------+--------------------+

Đổi mới và đóng góp

Đồ án mang lại những đóng góp cụ thể về mặt kỹ thuật và giá trị thực tiễn trong bài toán quan trắc môi trường thông minh:

  • Tối ưu hóa kiến trúc tích hợp phần cứng đa cảm biến: Kết hợp thành công vi điều khiển 32-bit hiệu năng cao ESP32 với các module cảm biến chi phí thấp, xử lý hoàn chỉnh bài toán lấy mẫu xung thời gian thực cho cảm biến quang học mà không cần mạch khuếch đại ngoại vi đắt tiền.
  • Tiếp cận mô hình đám mây mở linh hoạt: Tận dụng triệt để nền tảng ThingSpeak kết hợp ngôn ngữ phân tích số liệu MATLAB Online, loại bỏ hoàn toàn chi phí xây dựng, cấu hình và bảo trì máy chủ cục bộ (On-Premises Server) trong giai đoạn đầu thử nghiệm.
  • Giảm thiểu chi phí triển khai diện rộng (>90%): Với tổng chi phí linh kiện dưới 25 USD (~600.000 VNĐ) cho một trạm quan trắc hoàn chỉnh, hệ thống mở ra khả năng triển khai mạng lưới hàng nghìn điểm đo dày đặc khắp các ngõ phố, nút giao thông Hà Nội, điều mà các trạm quan trắc truyền thống không thể đáp ứng được vì rào cản ngân sách.
Tiêu chí Mô hình truyền thống Giải pháp đề xuất của đồ án Tỷ lệ cải thiện
Giá thành trạm đo 50.000.000 - 1.500.000.000 VNĐ 550.000 - 650.000 VNĐ Giảm > 95%
Thời gian triển khai 2 - 4 tuần lắp đặt trạm < 30 phút cấu hình và cấp nguồn Nhanh gấp 50 lần
Độ trễ cập nhật Định kỳ 1 - 24 giờ/lần Cập nhật liên tục mỗi 20 giây Thời gian thực
Bảo trì và thay thế Chuyên gia kỹ thuật hãng Kỹ thuật viên cơ bản có thể thay thế Đơn giản hóa

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

Hệ thống sở hữu tính ứng dụng cao và sẵn sàng đưa vào vận hành thực tiễn thông qua các kịch bản:

  • Quan trắc vi khí hậu đô thị và điểm nóng giao thông: Triển khai các trạm đo tại cột đèn tín hiệu, điểm dừng xe buýt dọc các tuyến đường vành đai và nút giao có mật độ ùn tắc cao (Ngã Tư Sở, Cầu Giấy, Giải Phóng).
  • Hệ thống cảnh báo học đường và y tế: Lắp đặt tại các trường mầm non, trường học, bệnh viện nhằm thông báo tự động cho giáo viên, bác sĩ chủ động đóng cửa kính hoặc bật hệ thống lọc khí khi mật độ bụi vượt ngưỡng gây hại.
  • Kích hoạt tự động hóa thông minh (Smart Building/Home): Tích hợp Webhooks từ ThingSpeak sang hệ thống nhà thông minh để tự động điều khiển quạt thông gió, máy lọc không khí khi chỉ số AQI chuyển sang màu cam hoặc đỏ.
       +-------------------------------------------------------+
       |             HƯỚNG DẪN TRIỂN KHAI VẬN HÀNH             |
       +-------------------------------------------------------+
       | 1. Chuẩn bị nguồn điện: 5V DC - 2A ổn định.           |
       | 2. Nạp Firmware qua cổng Micro-USB bằng Arduino IDE.  |
       | 3. Cấu hình SSID/Pass Wi-Fi và Write API Key.         |
       | 4. Kiểm tra luồng dữ liệu trên ThingSpeak Dashboard.  |
       | 5. Thiết lập Trigger cảnh báo Webhook sang Telegram.  |
       +-------------------------------------------------------+

Phân tích hiệu quả đầu tư (Cost-Benefit Analysis)

+---------------------------------------------------------------------------+
|                          BẢNG DỰ TOÁN CHI PHÍ NODE                        |
+---------------------------------------------------------------------------+
|  1. Module ESP32-WROOM-32              : 110.000 VNĐ                      |
|  2. Cảm biến bụi GP2Y1014AU0F + Cáp    : 140.000 VNĐ                      |
|  3. Cảm biến khí độc MQ-135            :  45.000 VNĐ                      |
|  4. Cảm biến nhiệt ẩm DHT11            :  35.000 VNĐ                      |
|  5. Mạch nguồn Buck LM2596 + Nguồn 5V  :  65.000 VNĐ                      |
|  6. Vỏ hộp chống nước chuẩn IP65       :  50.000 VNĐ                      |
|  7. Phụ kiện dây nối, tụ lọc, trở      :  20.000 VNĐ                      |
+---------------------------------------------------------------------------+
|  TỔNG CHI PHÍ PHẦN CỨNG 1 TRẠM ĐO      : 465.000 VNĐ (~19.5 USD)          |
+---------------------------------------------------------------------------+

Hệ sinh thái IoT này mang lại tỷ suất hoàn vốn (ROI) vượt trội, giúp các cơ quan quản lý đô thị tiết kiệm hơn 90% ngân sách đầu tư ban đầu so với các đề án nhập khẩu thiết bị từ nước ngoài.


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

Mặc dù đạt được các kết quả thực nghiệm tích cực, hệ thống vẫn tồn tại một số hạn chế kỹ thuật:

  • Cảm biến khí $\text{MQ-135}$ thuộc dòng cảm biến điện hóa - bán dẫn nung nhiệt nên có độ chọn lọc (selectivity) chưa cao, dễ bị ảnh hưởng bởi độ ẩm môi trường cao trên $85%$ và cần thời gian làm nóng (pre-heat) từ 24-48 giờ để đạt độ nhạy danh định.
  • Cảm biến bụi quang học $\text{GP2Y1014AU0F}$ sử dụng bóng LED hồng ngoại, độ chính xác có thể suy giảm theo thời gian nếu buồng quang học bị bụi bẩn bám dày.
  • Phụ thuộc hoàn toàn vào hạ tầng mạng Wi-Fi dân dụng, chưa tích hợp kết nối mạng tầm xa độc lập.

Hướng nâng cấp và phát triển tương lai:

  • Nâng cấp module cảm biến bụi sử dụng công nghệ tán xạ Laser chuyên dụng (như Plantower $\text{PMS7003}$ hoặc Sensirion $\text{SPS30}$) để phân tách chi tiết các chỉ số hạt $\text{PM}{1.0}, \text{PM}{2.5}$ và $\text{PM}_{10}$.
  • Thay thế kết nối Wi-Fi bằng module truyền thông năng lượng thấp tầm xa LoRaWAN hoặc vi mạch di động NB-IoT/4G-LTE, kết hợp pin mặt trời để triển khai hoàn toàn tự cấp nguồn tại các vùng ngoại thành.
  • Ứng dụng mô hình học máy (Machine Learning) như mạng LSTM hoặc Random Forest chạy trên nền máy chủ đám mây để dự báo sớm chỉ số ô nhiễm không khí trước 24 giờ dựa trên chuỗi dữ liệu thời tiết lịch sử.

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

Hệ thống mang lại giá trị thiết thực cho nhiều nhóm đối tượng trong xã hội:

  • Sinh viên và học viên ngành Kỹ thuật - CNTT: Nguồn tài liệu tham khảo hoàn chỉnh từ thiết kế phần cứng vi điều khiển, kỹ thuật đọc ADC, điều khiển thời gian thực đến tích hợp đám mây IoT.
  • Kỹ sư phát triển phần mềm nhúng (Embedded/IoT Developers): Mẫu kiến trúc hệ thống chuẩn hóa, mã nguồn C/C++ xử lý cảm biến và kinh nghiệm xử lý nhiễu điện tử trong môi trường thực tế.
  • Cơ quan quản lý đô thị và doanh nghiệp: Giải pháp quan trắc môi trường giá rẻ, khả thi cao để phủ kín mạng lưới giám sát vi mô toàn thành phố.
  • Cộng đồng cư dân đô thị: Tiếp cận nguồn dữ liệu chất lượng không khí minh bạch, cập nhật tức thời theo từng vị trí sinh sống để chủ động bảo vệ sức khỏe gia đình.

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

1. Hệ thống có thể hoạt động khi mất kết nối mạng Wi-Fi không?

Khi mất mạng Wi-Fi, vi điều khiển ESP32 vẫn tiếp tục đọc dữ liệu từ các cảm biến. Hệ thống có thể được cấu hình lưu tạm thời dữ liệu vào bộ nhớ Flash hoặc thẻ nhớ MicroSD gắn ngoài qua giao tiếp SPI, sau đó tự động đồng bộ hóa lên máy chủ khi kết nối Wi-Fi được khôi phục.

2. Chi phí duy trì nền tảng đám mây ThingSpeak là bao nhiêu?

ThingSpeak cung cấp gói miễn phí cho mục đích học tập và phi thương mại, cho phép gửi tối đa 3 triệu điểm dữ liệu/năm với tần suất 15 giây/lần. Đối với các dự án đô thị quy mô lớn với hàng nghìn node, có thể chuyển sang tự host máy chủ mã nguồn mở ThingSpeak Server trên hạ tầng đám mây riêng (như AWS EC2 hoặc DigitalOcean) để tối ưu chi phí.

3. Làm thế nào để đảm bảo độ bền của cảm biến khi lắp đặt ngoài trời?

Phần cứng cần được đặt trong vỏ hộp kỹ thuật có chuẩn chống nước tối thiểu IP65, thiết kế kèm rãnh thông khí hình mê cung (louvered vents) có màng lọc chắn mưa và côn trùng để không khí lưu thông tự nhiên vào buồng cảm biến mà không làm ướt bo mạch điện tử.

4. Hệ thống có hỗ trợ kết nối vào mạng lưới thành phố thông minh hiện có không?

Có. Nhờ thiết kế theo kiến trúc mở và giao thức chuẩn HTTP RESTful API / MQTT, dữ liệu từ hệ thống dễ dàng được chuyển tiếp (forward) hoặc tích hợp vào các hệ thống thông tin địa lý (GIS), trung tâm điều hành thông minh (IOC) thông qua các chuỗi định dạng dữ liệu chuẩn JSON.

5. Cần bảo trì, hiệu chuẩn cảm biến với tần suất như thế nào?

Đối với môi trường đô thị nhiều bụi như Hà Nội, cảm biến quang học nên được thổi bụi làm sạch buồng đo định kỳ 3-6 tháng một lần. Cảm biến khí bán dẫn nên được kiểm tra và hiệu chuẩn lại hệ số đường cong đặc tuyến mỗi năm một lần để duy trì độ tin cậy của phép đo.


Kết luận

Đồ án thạc sĩ "Nghiên cứu công nghệ IoT và ứng dụng trong hệ thống giám sát chất lượng không khí Hà Nội" đã hoàn thành xuất sắc 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 kết hợp vi điều khiển thế hệ mới ESP32 với các cảm biến chi phí thấp và nền tảng điện toán đám mây ThingSpeak để giải quyết bài toán quan trắc môi trường đô thị thời gian thực.

Không chỉ cung cấp một mô hình kỹ thuật mẫu mực từ tầng phần cứng đến tầng ứng dụng, hệ thống còn mang lại giá trị ứng dụng thực tiễn to lớn trong việc phổ cập dữ liệu ô nhiễm không khí đến cộng đồng, hỗ trợ các nhà hoạch định chính sách xây dựng đô thị thông minh, phát triển bền vững và bảo vệ sức khỏe người dân trước thách thức biến đổi môi trường.