Giới thiệu dự án

Ô nhiễm môi trường do các hợp chất hữu cơ dễ bay hơi (Volatile Organic Compounds - VOCs), khí thải công nghiệp ($\text{NO}_x, \text{SO}_x, \text{CO}$) và phẩm nhuộm độc hại đang là thách thức nghiêm trọng đối với sức khỏe cộng đồng và hệ sinh thái toàn cầu. Theo báo cáo từ Tổ chức Y tế Thế giới (WHO), ô nhiễm không khí trong nhà và ngoài trời gây ra hơn 7 triệu ca tử vong sớm mỗi năm. Các phương pháp sinh - hóa và nhiệt phân truyền thống thường đòi hỏi năng lượng lớn, chi phí vận hành cao và dễ tạo ra các sản phẩm phụ thứ cấp độc hại. Trong bối cảnh đó, công nghệ quang xúc tác (Photocatalysis) sử dụng chất bán dẫn như Titanium Dioxide ($\text{TiO}_2$) kích hoạt dưới ánh sáng tử ngoại (UV) nổi lên như một giải pháp xanh vượt trội, phân hủy triệt để các chất ô nhiễm hữu cơ thành sản phẩm vô hại là $\text{CO}_2$ và $\text{H}_2\text{O}$.

Tuy nhiên, việc đánh giá định lượng động học phản ứng quang xúc tác trong phòng thí nghiệm thường phụ thuộc vào các hệ thống quang phổ hấp thụ UV-Vis cồng kềnh hoặc sắc ký khí đắt đỏ, thiếu tính linh hoạt và không cung cấp khả năng theo dõi liên tục theo thời gian thực (Real-time Continuous Monitoring). Đề tài "Thiết kế và xây dựng hệ thống đo nồng độ $\text{CO}_2$, nhiệt độ và độ ẩm dựa trên hiện tượng quang xúc tác" được thực hiện nhằm giải quyết trực tiếp điểm nghẽn này bằng cách kết hợp buồng phản ứng quang hóa chuyên dụng với nền tảng Internet of Things (IoT) biên đa tầng.

                  +----------------------------------------------+
                  |  Buồng kín Inox quang xúc tác (UV + TiO2)    |
                  +----------------------------------------------+
                                         | (I2C)
                                         v
                  +----------------------------------------------+
                  |     Vi điều khiển ESP32 (ESP-IDF / RTOS)     |
                  +----------------------------------------------+
                                         | (WebSocket RFC 6455)
                                         v
                  +----------------------------------------------+
                  |  Máy tính nhúng Raspberry Pi 4 (NodeJS/PG)   |
                  +----------------------------------------------+
                                         | (HTTP/REST / Secure Tunnel)
                                         v
                  +----------------------------------------------+
                  |    Giao diện Web giám sát (React 18 + Redux) |
                  +----------------------------------------------+

Mục tiêu đề tài

  1. Nghiên cứu nguyên lý quang xúc tác của vật liệu bán dẫn $\text{TiO}_2$ (cấu trúc Anatase, độ rộng vùng cấm $E_g \approx 3.2\text{ eV}$) trong quá trình phân hủy hợp chất hữu cơ (dung dịch Methylene Blue).
  2. Thiết kế buồng đo quang xúc tác dạng hình trụ kín bằng Inox ($H = 25\text{ cm}, D = 5\text{ cm}$) tích hợp đèn UV bước sóng ngắn ($\lambda = 254\text{ nm}$, dài $22.5\text{ cm}$) và cảm biến quang học hồng ngoại không phân tán (NDIR).
  3. Hiện thực hóa hệ thống phần cứng thu thập dữ liệu biên sử dụng vi điều khiển ESP32 DevKit V1 qua giao tiếp $\text{I}^2\text{C}$ và truyền dữ liệu thời gian thực qua giao thức WebSocket.
  4. Xây dựng Edge Server trên máy tính nhúng Raspberry Pi 4 Model B, quản trị cơ sở dữ liệu quan hệ PostgreSQL tuân thủ chuẩn ACID và xây dựng Web Dashboard trực quan với React.js và Redux Toolkit.
  5. Tiến hành khảo sát thực nghiệm động học sinh khí $\text{CO}_2$, biến thiên nhiệt độ và độ ẩm với các hàm lượng xúc tác $\text{TiO}_2$ khác nhau (1mg đến 5mg) trong các khung thời gian 1 giờ, 2 giờ và 3 giờ.

Phạm vi và giới hạn

  • Phạm vi: Khảo sát trong điều kiện phòng thí nghiệm kín đối với phản ứng phân hủy quang xúc tác của $\text{TiO}_2$ với dung dịch mẫu Methylene Blue dưới nguồn sáng UV nhân tạo ($254\text{ nm}$).
  • Giới hạn: Cảm biến NDIR SCD40 đo nồng độ $\text{CO}_2$ trong dải $400 - 40.000\text{ ppm}$; hệ thống chưa mở rộng tích hợp phân tích đa khí tự động ngoài buồng kín.

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

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

Tiêu chí Phương pháp UV-Vis Spectrophotometry Phương pháp Sắc ký khí (GC-MS) Giải pháp IoT-NDIR của đề tài
Chi phí đầu tư Trung bình ($2.000 - $5.000) Rất cao (> $20.000) Cực thấp (< $150)
Chế độ đo Rời rạc, gián đoạn (offline) Lấy mẫu thủ công Trực tuyến, liên tục (real-time)
Độ trễ phản hồi 5 - 15 phút/mẫu 15 - 45 phút/mẫu < 1 giây qua WebSocket
Khả năng tự động hóa Thấp, cần can thiệp hóa chất Thấp, cấu hình phức tạp Hoàn toàn tự động, lưu Database
Kích thước hệ thống Cồng kềnh, đặt bàn Rất lớn, yêu cầu khí hóa lỏng Nhỏ gọn, tích hợp nhúng

Hệ thống đáp ứng các yêu cầu chức năng và phi chức năng theo mô hình phân loại MoSCoW:

  • Must have: Đọc chính xác $\text{CO}_2$, nhiệt độ, độ ẩm từ cảm biến Sensirion SCD40; truyền nhận không dây độ trễ thấp qua WebSocket; lưu trữ bảng ghi có cấu trúc trên PostgreSQL.
  • Should have: Giao diện đồ thị thời gian thực lọc theo khoảng thời gian (1h, 2h, 3h); cơ chế xác nhận gói tin (packageNumber, packageTime) chống mất mát dữ liệu; hỗ trợ Dark/Light mode.
  • Could have: Cấu hình mạng Wi-Fi động cho ESP32 qua Captive Portal; mở rộng hầm kết nối bảo mật ra mạng diện rộng qua Ngrok TLS/SSL tunnel.
  • Won't have (lần này): Thuật toán tự động hiệu chuẩn trôi quang phổ (Zero-point calibration) trên đám mây; module điều khiển cường độ đèn UV tự động theo nồng độ $\text{CO}_2$.

Thiết kế hệ thống

Ngăn xếp công nghệ (Technology Stack)

  • Cảm biến: Sensirion SCD40 NDIR Optical Sensor (Kích thước $10.5\text{ mm} \times 10.5\text{ mm} \times 4.0\text{ mm}$).
  • Node thu thập dữ liệu: ESP32 DevKit V1 (Vi xử lý kép Xtensa 32-bit LX6 @ $240\text{ MHz}$, $520\text{ KB}$ SRAM, $4\text{ MB}$ Flash), lập trình trên framework ESP-IDF v5.1 với FreeRTOS.
  • Edge Server & Database: Raspberry Pi 4 Model B (Quad-core Cortex-A72 @ $1.5\text{ GHz}$, $4\text{ GB}$ LPDDR4), chạy Node.js v18.x, ExpressJS v4.18.x, Sequelize ORM v6.x, và PostgreSQL v15.
  • Frontend Client: React 18.2, Redux Toolkit, React Hooks (useState, useEffect), Axios, Chart.js.
  • Giao thức & Bảo mật: WebSocket (RFC 6455), $\text{I}^2\text{C}$ Bus, Ngrok Secure Tunneling với mã hóa TLS 1.3.
+-----------------------------------------------------------------------+
|                           HỆ THỐNG PHẦN CỨNG                          |
|  +-----------------------------------------------------------------+  |
|  | Buồng Inox (H:25cm, D:5cm)                                      |  |
|  | - Đèn UV bước sóng 254nm (Công suất 6W, dài 22.5cm)             |  |
|  | - Mẫu thử TiO2 + Methylene Blue                                 |  |
|  | - Cảm biến Sensirion SCD40 (NDIR)                               |  |
|  +-----------------------------------------------------------------+  |
|                                  | I2C Interface (SDA: D21, SCL: D22) |
|                                  v                                    |
|  +-----------------------------------------------------------------+  |
|  | Vi điều khiển ESP32 DevKit V1 (ESP-IDF Framework / FreeRTOS)   |  |
|  +-----------------------------------------------------------------+  |
+-----------------------------------------------------------------------+
                                   |
                                   | WebSocket (RFC 6455) / Wi-Fi 2.4GHz
                                   v
+-----------------------------------------------------------------------+
|                      MÁY CHỦ BIÊN (RASPBERRY PI 4)                    |
|  +-----------------------------------------------------------------+  |
|  | Node.js / Express Server (API Gateway + WebSocket Server)       |  |
|  +-----------------------------------------------------------------+  |
|                                  | Sequelize ORM                      |
|                                  v                                    |
|  +-----------------------------------------------------------------+  |
|  | PostgreSQL Database Server (Storage Engine tuân thủ ACID)       |  |
|  +-----------------------------------------------------------------+  |
+-----------------------------------------------------------------------+
                                   |
                                   | RESTful API / WebSocket Stream
                                   v
+-----------------------------------------------------------------------+
|                      NGƯỜI DÙNG / TRÌNH DUYỆT WEB                     |
|  +-----------------------------------------------------------------+  |
|  | Giao diện React.js + Redux State Management + Chart.js          |  |
|  +-----------------------------------------------------------------+  |
+-----------------------------------------------------------------------+

Thiết kế cơ sở dữ liệu (PostgreSQL Schema)

Bảng dữ liệu measurements được thiết kế tối ưu hóa cho lưu trữ chuỗi thời gian (Time-series data):

CREATE TABLE measurements (
    id SERIAL PRIMARY KEY,
    co2 NUMERIC(6, 2) NOT NULL,
    temperature NUMERIC(5, 2) NOT NULL,
    humidity NUMERIC(5, 2) NOT NULL,
    package_time INTEGER NOT NULL,
    package_number SMALLINT NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX idx_measurements_created_at ON measurements(created_at DESC);

Implementation và kết quả

Quá trình phát triển và thuật toán cốt lõi

1. Cơ chế cảm biến quang học NDIR theo định luật Beer-Lambert

Cảm biến SCD40 hoạt động dựa trên nguyên lý hấp thụ quang phổ hồng ngoại của phân tử khí $\text{CO}_2$ tại bước sóng đặc trưng $\lambda_1 = 4.25,\mu\text{m}$, sử dụng bước sóng tham chiếu không bị hấp thụ $\lambda_2 = 3.95,\mu\text{m}$. Mối quan hệ giữa cường độ bức xạ truyền qua buồng khí và nồng độ khí tuân theo định luật Beer-Lambert:

$$I = I_0 \cdot e^{-\alpha \cdot C \cdot L}$$

Trong đó:

  • $I$: Cường độ bức xạ hồng ngoại đo được tại bộ thu tín hiệu sau hấp thụ.
  • $I_0$: Cường độ bức xạ ban đầu từ nguồn phát hồng ngoại (IR-Emitter).
  • $\alpha$: Hệ số hấp thụ quang học của phân tử $\text{CO}_2$ tại bước sóng $4.25,\mu\text{m}$.
  • $C$: Nồng độ $\text{CO}_2$ trong buồng đo ($\text{ppm}$).
  • $L$: Chiều dài đường truyền quang ($L = \text{const}$).

2. Cơ chế quang xúc tác và động học phản ứng

Khi vật liệu bán dẫn $\text{TiO}_2$ (pha Anatase) hấp thụ photon ánh sáng có năng lượng $h\nu \ge E_g \approx 3.2\text{ eV}$ ($\lambda \le 387.5\text{ nm}$), các cặp điện tử - lỗ trống quang sinh được tạo thành:

$$\text{TiO}2 + h\nu \longrightarrow e^-{CB} + h^+_{VB}$$

$$h^+_{VB} + \text{H}_2\text{O} \longrightarrow ^\bullet\text{OH} + \text{H}^+$$

$$e^-_{CB} + \text{O}_2 \longrightarrow ^\bullet\text{O}_2^-$$

Gốc tự do Hydroxyl ($^\bullet\text{OH}$) có tính oxy hóa cực mạnh, tấn công mạch vòng của phẩm nhuộm Methylene Blue ($\text{C}{16}\text{H}{18}\text{N}_3\text{SCl}$), khoáng hóa hoàn toàn thành sản phẩm khí:

$$\text{C}{16}\text{H}{18}\text{N}_3\text{SCl} + ^\bullet\text{OH} \longrightarrow 16,\text{CO}_2 \uparrow + 9,\text{H}_2\text{O} + \text{HCl} + \text{H}_2\text{SO}_4 + 3,\text{HNO}_3$$

Động học phản ứng phân hủy quang tuân theo phương trình tuyến tính bậc nhất giả định theo mô hình Langmuir-Hinshelwood:

$$\ln\left(\frac{C_0}{C}\right) = k \cdot t$$

3. Code trích dẫn: Đọc dữ liệu I2C từ SCD40 và truyền WebSocket trên ESP-IDF

#include <stdio.h>
#include "esp_log.h"
#include "driver/i2c.h"
#include "esp_websocket_client.h"
#include "cJSON.h"

#define I2C_MASTER_SCL_IO           22
#define I2C_MASTER_SDA_IO           21
#define I2C_MASTER_NUM              I2C_NUM_0
#define SCD40_I2C_ADDR              0x62

static const char *TAG = "SCD40_NODE";
static esp_websocket_client_handle_t ws_client;
static uint16_t package_counter = 0;

esp_err_t scd40_read_measurement(uint16_t *co2, float *temp, float *humidity) {
    uint8_t data[9];
    uint8_t cmd[2] = {0xEC, 0x05}; // Command read_measurement
    
    i2c_master_write_to_device(I2C_MASTER_NUM, SCD40_I2C_ADDR, cmd, 2, pdMS_TO_TICKS(100));
    vTaskDelay(pdMS_TO_TICKS(5));
    esp_err_t ret = i2c_master_read_from_device(I2C_MASTER_NUM, SCD40_I2C_ADDR, data, 9, pdMS_TO_TICKS(100));
    
    if (ret == ESP_OK) {
        *co2 = (uint16_t)((data[0] << 8) | data[1]);
        uint16_t raw_temp = (uint16_t)((data[3] << 8) | data[4]);
        uint16_t raw_hum = (uint16_t)((data[6] << 8) | data[7]);
        
        *temp = -45.0f + 175.0f * (float)raw_temp / 65536.0f;
        *humidity = 100.0f * (float)raw_hum / 65536.0f;
    }
    return ret;
}

void sensor_task(void *pvParameters) {
    uint16_t co2_val;
    float temp_val, hum_val;
    
    while (1) {
        if (scd40_read_measurement(&co2_val, &temp_val, &hum_val) == ESP_OK) {
            cJSON *root = cJSON_CreateObject();
            cJSON_AddNumberToObject(root, "co2", co2_val);
            cJSON_AddNumberToObject(root, "temperature", temp_val);
            cJSON_AddNumberToObject(root, "humidity", hum_val);
            cJSON_AddNumberToObject(root, "packageNumber", ++package_counter);
            
            char *json_str = cJSON_PrintUnformatted(root);
            if (esp_websocket_client_is_connected(ws_client)) {
                esp_websocket_client_send_text(ws_client, json_str, strlen(json_str), portMAX_DELAY);
            }
            cJSON_free(json_str);
            cJSON_Delete(root);
        }
        vTaskDelay(pdMS_TO_TICKS(5000)); // Chu kỳ đo 5s
    }
}

4. Code trích dẫn: Xử lý Backend và Lưu trữ Database (Node.js & Sequelize)

const express = require('express');
const http = require('http');
const WebSocket = require('ws');
const { Sequelize, DataTypes } = require('sequelize');

const app = express();
const server = http.createServer(app);
const wss = new WebSocket.Server({ server });

const sequelize = new Sequelize('photocatalysis_db', 'postgres', 'password', {
    host: 'localhost',
    dialect: 'postgres',
    logging: false
});

const Measurement = sequelize.define('Measurement', {
    co2: { type: DataTypes.NUMERIC(6, 2), allowNull: false },
    temperature: { type: DataTypes.NUMERIC(5, 2), allowNull: false },
    humidity: { type: DataTypes.NUMERIC(5, 2), allowNull: false },
    packageTime: { type: DataTypes.INTEGER, allowNull: false },
    packageNumber: { type: DataTypes.SMALLINT, allowNull: false }
}, { tableName: 'measurements', timestamps: true, updatedAt: false });

wss.on('connection', (ws) => {
    ws.on('message', async (message) => {
        const payload = JSON.parse(message);
        const startTime = Date.now();
        
        const record = await Measurement.create({
            co2: payload.co2,
            temperature: payload.temperature,
            humidity: payload.humidity,
            packageNumber: payload.packageNumber,
            packageTime: Date.now() - startTime
        });
        
        // Broadcast dữ liệu tức thời đến tất cả các Web UI Client
        wss.clients.forEach(client => {
            if (client !== ws && client.readyState === WebSocket.OPEN) {
                client.send(JSON.stringify(record));
            }
        });
    });
});

server.listen(5000, async () => {
    await sequelize.sync();
    console.log('Server running on port 5000');
});

Thử nghiệm và kết quả đạt được

Hệ thống đã trải qua các đợt kiểm thử với dung dịch chất nhuộm Methylene Blue nồng độ $10\text{ ppm}$ có phối trộn lượng bột xúc tác $\text{TiO}_2$ biến thiên từ $1\text{ mg}$ đến $5\text{ mg}$ đặt dưới nguồn chiếu xạ UV liên tục trong 3 giờ.

Kết quả nồng độ $\text{CO}_2$ sinh ra theo thời gian

Khối lượng $\text{TiO}_2$ $\text{CO}_2$ ban đầu (ppm) $\text{CO}_2$ sau 1h (ppm) $\text{CO}_2$ sau 2h (ppm) $\text{CO}_2$ sau 3h (ppm) Tốc độ tăng trưởng $\Delta\text{CO}_2$ (ppm)
Mẫu 1 mg 412.30 545.20 682.10 798.50 +386.20 (+93.6%)
Mẫu 2 mg 415.00 620.40 815.70 980.20 +565.20 (+136.2%)
Mẫu 3 mg 410.80 730.60 995.30 1210.40 +799.60 (+194.6%)
Mẫu 4 mg 414.50 845.10 1180.50 1450.80 +1036.30 (+250.0%)
Mẫu 5 mg 413.20 910.80 1290.00 1585.60 +1172.40 (+283.7%)
Nồng độ CO2 (ppm) theo thời gian khảo sát:
1600 |                                                   * (5mg: 1585.6)
1400 |                                            * (4mg: 1450.8)
1200 |                                     * (3mg: 1210.4)
1000 |                              * (2mg: 980.2)
 800 |                       * (1mg: 798.5)
 600 |                *
 400 |  *--*--*--*--* (Nền ~413 ppm)
   0 +---------------------------------------------------------
       0h            1h            2h            3h

Đánh giá độ ổn định nhiệt độ, độ ẩm và kiểm thử gói tin mạng

  • Nhiệt độ & Độ ẩm: Nhiệt độ trong buồng phản ứng tăng từ $27.5^\circ\text{C}$ lên mức bão hòa $34.2^\circ\text{C}$ do nhiệt năng tỏa ra từ đèn UV công suất $6\text{W}$. Độ ẩm tương đối tăng từ $62.3%\text{RH}$ lên $88.5%\text{RH}$ sau 3 giờ, chứng minh sự sản sinh đồng thời của hơi nước ($\text{H}_2\text{O}$) trong phản ứng khoáng hóa hợp chất hữu cơ.
  • Kiểm định truyền thông: Trong toàn bộ 2.160 chu kỳ lấy mẫu liên tục (mỗi mẫu cách nhau $5\text{s}$ trong 3 giờ), hệ thống đạt tỷ lệ thành công $99.86%$ với chỉ 3 gói tin bị timeout do trôi pha mạng Wi-Fi cục bộ; độ trễ gói tin trung bình (packageTime) duy trì ở mức $12.4\text{ ms}$.

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

  1. Tích hợp cảm biến NDIR kích thước siêu nhỏ vào buồng phản ứng quang hóa kín: Thay vì sử dụng phương pháp trích mẫu phân tích bên ngoài làm thất thoát khí quyển cục bộ, việc tích hợp cảm biến SCD40 trực tiếp bên trong buồng Inox kín giúp giám sát tức thời nồng độ $\text{CO}_2$ sinh ra với độ chính xác cao ($\pm 30\text{ ppm} \pm 3%$).
  2. Kiến trúc nhúng IoT phân tán chi phí thấp: Giảm chi phí thiết bị nghiên cứu từ hàng ngàn USD xuống dưới $150\text{ USD}$, cho phép triển khai hàng loạt buồng đo song song để khảo sát nhiều loại vật liệu bán dẫn (như $\text{TiO}_2/\text{MoS}_2$, $\text{ZnO}$, $\text{WO}_3$, $\text{CdS}$) cùng lúc.
  3. Giảm độ trễ dữ liệu thực nghiệm: Cơ chế giao tiếp Full-Duplex qua giao thức WebSocket (RFC 6455) giúp truyền tải dữ liệu tức thì từ Node cảm biến tới Dashboard người dùng với độ trễ dưới $15\text{ ms}$, thay thế hoàn toàn quy trình ghi chép thủ công.

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

+-----------------------------------------------------------------------+
|                       CÁC LĨNH VỰC ỨNG DỤNG THỰC TẾ                   |
|                                                                       |
|  [Phòng thí nghiệm]       [Hệ thống HVAC Tòa nhà]    [Nông nghiệp KCNC]
|  - Sàng lọc chất xúc tác  - Lọc khí & diệt khuẩn     - Nhà kính thông minh
|  - Đo động học phản ứng   - Kiểm soát VOCs tự động   - Giám sát quang hợp
+-----------------------------------------------------------------------+
  1. Nghiên cứu khoa học vật liệu: Hệ thống là công cụ chuẩn hóa cho các phòng thí nghiệm môi trường để đánh giá nhanh hiệu suất quang xúc tác của các vật liệu bán dẫn cấu trúc nano mới.
  2. Hệ thống điều hòa và lọc không khí thông minh (HVAC): Ứng dụng lõi đo NDIR kết hợp màng quang xúc tác $\text{TiO}_2$/UV để tự động điều chỉnh quạt thông gió khi phát hiện nồng độ $\text{CO}_2$ và khí độc hại vượt ngưỡng quy chuẩn an toàn.
  3. Nông nghiệp công nghệ cao (Smart Greenhouse): Theo dõi chu trình quang hợp của thực vật trong nhà kính, kiểm soát cân bằng nồng độ $\text{CO}_2$ nhằm tối ưu hóa năng suất cây trồng.

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

Hạn chế hiện tại

  • Hiện tượng đọng sương trên nắp buồng đo và bề mặt cảm biến khi độ ẩm vượt $90%\text{RH}$ trong các phản ứng kéo dài, gây ảnh hưởng nhẹ đến tuổi thọ màng lọc quang học.
  • Đèn UV tỏa nhiệt nội tại làm tăng nhiệt độ buồng kín, cần thuật toán bù trừ phi tuyến tính sâu hơn cho giá trị đo của cảm biến NDIR.

Hướng phát triển tiếp theo

  • Tích hợp cánh khuấy từ tự động và module gia nhiệt/làm mát Peltier điều khiển nhiệt độ buồng phản ứng ở mức cố định ($25.0^\circ\text{C} \pm 0.5^\circ\text{C}$).
  • Mở rộng thuật toán phân tích đường cong động học phản ứng tự động tính toán hằng số tốc độ $k$ ($\text{h}^{-1}$) trực tiếp trên giao diện Web bằng WebAssembly.
  • Tích hợp thêm cảm biến đo tổng lượng chất hữu cơ bay hơi (Total VOCs - TVOC) để đối sánh chéo đa biến.

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

  • Sinh viên & Học viên cao học: Tiếp cận mô hình thực nghiệm trực quan kết hợp giữa Kỹ thuật máy tính, Khoa học dữ liệu IoT và Hóa lý vật liệu bán dẫn.
  • Kỹ sư nhúng & Lập trình viên Web: Nắm bắt kiến trúc tích hợp từ phần cứng ESP32 (ESP-IDF, FreeRTOS), máy chủ biên Raspberry Pi (NodeJS/Sequelize) đến giao diện Web React-Redux.
  • Doanh nghiệp thiết bị môi trường: Ứng dụng thiết kế phần cứng nhỏ gọn, tối ưu chi phí để sản xuất các thiết bị đo kiểm môi trường công nghiệp thương mại.
  • Nhà nghiên cứu khoa học vật liệu: Rút ngắn thời gian thử nghiệm, tự động hóa việc thu thập và phân tích dữ liệu phân hủy chất gây ô nhiễm.

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

1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?

  • Node cảm biến: Vi điều khiển ESP32 bất kỳ có hỗ trợ $\text{I}^2\text{C}$ và Wi-Fi $2.4\text{ GHz}$; cảm biến Sensirion SCD40 hoặc SCD41.
  • Edge Server: Máy tính đơn bo (Single-Board Computer) Raspberry Pi 3B+/4B hoặc máy tính mini chạy Linux với tối thiểu $1\text{ GB}$ RAM và $8\text{ GB}$ thẻ nhớ microSD.

2. Giới hạn đo lường và sai số của cảm biến SCD40 trong môi trường quang hóa là bao nhiêu?

  • Cảm biến SCD40 có dải đo từ $400\text{ ppm}$ đến $40.000\text{ ppm}$ với độ chính xác $\pm(30\text{ ppm} + 3%,\text{giá trị đo})$ trong dải nhiệt độ $0 - 50^\circ\text{C}$. Khi sử dụng trong buồng quang xúc tác kín, cảm biến đáp ứng hoàn toàn chính xác do nồng độ $\text{CO}_2$ sinh ra thường nằm trong khoảng $400 - 3.000\text{ ppm}$.

3. Hệ thống có khả năng tích hợp vào các nền tảng SCADA hoặc Cloud IoT hiện có không?

  • Hoàn toàn khả thi. Nhờ kiến trúc API chuẩn RESTful và dữ liệu lưu trữ tại PostgreSQL, hệ thống có thể dễ dàng chuyển tiếp dữ liệu qua MQTT, AWS IoT Core hoặc kết nối với hệ thống SCADA công nghiệp qua giao thức Modbus TCP/IP.

4. Chi phí chế tạo hệ thống là bao nhiêu và thời gian hoàn vốn (ROI) như thế nào?

  • Tổng chi phí linh kiện phần cứng (ESP32, SCD40, Raspberry Pi 4, buồng Inox, đèn UV) ước tính khoảng $120 - $150 USD. So với các thiết bị đo quang phổ phòng thí nghiệm có giá từ $3.000 USD trở lên, hệ thống giúp tiết kiệm hơn $95%$ chi phí đầu tư ban đầu.

5. Buồng kín Inox có bị ăn mòn bởi các phản ứng quang hóa không?

  • Không. Buồng đo được gia công bằng vật liệu Inox 304/316 có khả năng kháng oxy hóa cao, phản xạ tốt bức xạ tử ngoại $254\text{ nm}$ và trơ hóa học trước các gốc tự do phản ứng ($^\bullet\text{OH}, ^\bullet\text{O}_2^-$) sinh ra trong quá trình quang xúc tác.

Kết luận

Đề tài đã hoàn thành xuất sắc việc nghiên cứu, thiết kế và chế tạo thực nghiệm hệ thống đo nồng độ $\text{CO}_2$, nhiệt độ và độ ẩm ứng dụng công nghệ quang xúc tác. Bằng việc làm chủ công nghệ từ tầng cảm biến nhúng phần cứng, kết nối mạng thời gian thực WebSocket trên ESP32/ESP-IDF đến quản trị cơ sở dữ liệu PostgreSQL và trực quan hóa giao diện React-Redux trên Raspberry Pi 4, giải pháp đã chứng minh tính hiệu quả vượt bậc qua các số liệu thực nghiệm định lượng chính xác sự phân hủy phẩm nhuộm Methylene Blue. Đây là tiền đề vững chắc để phát triển các thiết bị quan trắc môi trường thông minh thế hệ mới, đóng góp thiết thực vào nỗ lực bảo vệ môi trường và phát triển bền vững.