Giới thiệu dự án

Theo thống kê từ Viện Nghiên cứu Uptime Institute, các sự cố gián đoạn hoạt động (downtime) của trung tâm dữ liệu gây tổn thất trung bình hơn 300.000 USD cho mỗi sự cố, trong đó hơn 40% nguyên nhân bắt nguồn từ lỗi môi trường phần cứng và quá nhiệt. Tại các cơ sở y tế như Bệnh viện Đa khoa Châu Đốc, phòng máy chủ (Server Room) đóng vai trò xương sống lưu trữ hệ thống thông tin bệnh viện (HIS), bệnh án điện tử (EMR) và truyền tải hình ảnh (PACS). Mọi sự cố ngưng trệ do quá nhiệt, chập cháy hay rò rỉ nước đều có thể làm tê liệt toàn bộ công tác khám chữa bệnh, đe dọa trực tiếp đến an toàn tính mạng bệnh nhân.

Thực trạng quản lý tại nhiều phòng máy chủ quy mô vừa và nhỏ hiện nay vẫn phụ thuộc vào việc kiểm tra thủ công định kỳ bằng nhiệt kế cầm tay, thiếu cơ chế cảnh báo tự động tức thời và không có khả năng giám sát từ xa 24/7. Điều này tạo ra rủi ro tiềm ẩn lớn khi các biến động bất thường về nhiệt độ, độ ẩm, rò rỉ nước từ điều hòa hoặc hiện tượng chập điện sinh khói không được xử lý trong "thời gian vàng".

Khóa luận tốt nghiệp "Xây dựng hệ thống giám sát môi trường tại phòng máy chủ" do sinh viên Nguyễn Quan Dinh thực hiện dưới sự hướng dẫn của TS. Huỳnh Phước Hải (Khoa Công nghệ Thông tin, Trường Đại học An Giang) đã giải quyết triệt để bài toán trên thông qua việc thiết kế một hệ thống Internet of Things (IoT) chuyên dụng, kết hợp phần cứng máy tính nhúng và nền tảng quản trị web trực quan.

+-----------------------------------------------------------------------+
|                 MỤC TIÊU CỦA ĐỀ TÀI KHÓA LUẬN                         |
+-----------------------------------------------------------------------+
| 1. Thiết kế phần cứng IoT Node trên Raspberry Pi 4 Model B            |
| 2. Tích hợp đa cảm biến: DHT22, MQ135, MH-RD, còi Buzzer 5V           |
| 3. Xây dựng Web Server giám sát & lưu trữ dữ liệu thời gian thực     |
| 4. Triển khai cơ chế cảnh báo 2 tầng: Còi tại chỗ + Email tức thì     |
| 5. Thiết lập phân quyền đa cấp bậc (Admin/Manager) & định ngưỡng      |
+-----------------------------------------------------------------------+

Hệ thống mang lại các kết quả định lượng rõ ràng: đo lường nhiệt độ trong dải từ -40°C đến +125°C (sai số ±0.5°C), độ ẩm từ 0% đến 100% (sai số ±2-5%), cảnh báo còi tại chỗ với độ trễ dưới 100ms và phát tín hiệu cảnh báo qua email trong vòng dưới 5 giây. Phạm vi đề tài tập trung vào việc giám sát và cảnh báo các chỉ số vật lý trọng yếu, triển khai thử nghiệm thực tế tại phòng máy chủ Bệnh viện Đa khoa Châu Đốc.


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

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

Trước khi xây dựng hệ thống, tác giả đã tiến hành đánh giá chi tiết các giải pháp giám sát phòng máy chủ phổ biến trên thị trường để tìm ra giải pháp tối ưu về chi phí và hiệu năng.

Giải pháp Ưu điểm Nhược điểm Chi phí triển khai
Kiểm tra thủ công Đơn giản, không yêu cầu thiết bị phức tạp Không liên tục, độ trễ phát hiện cao, dễ sai sót do con người Thấp (nhưng chi phí nhân sự cao)
Hệ thống thương mại (APC NetBotz, Vertiv) Hoạt động ổn định, độ tin cậy cao, hỗ trợ nhiều giao thức chuyên nghiệp Chi phí đầu tư phần cứng và bản quyền rất đắt đỏ, khó tùy biến mở rộng Rất cao (20 - 50 triệu VNĐ/node)
Giải pháp IoT tùy biến (Raspberry Pi + LAMP) Chi phí thấp, mã nguồn mở, tùy biến giao diện linh hoạt, dễ tích hợp Yêu cầu kiến thức vận hành Linux và cấu hình cảm biến Tối ưu (2 - 3 triệu VNĐ/node)

Yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must have (Bắt buộc): Thu thập dữ liệu nhiệt độ, độ ẩm, khí độc/khói, rò rỉ nước; hiển thị dữ liệu thời gian thực; kích hoạt còi báo động tại chỗ; gửi cảnh báo qua email; xác thực phân quyền tài khoản.
  • Should have (Nên có): Thiết lập ngưỡng cảnh báo tùy biến cho từng phòng; thống kê và lọc lịch sử đo lường; quản lý danh sách phòng và cảm biến.
  • Could have (Có thể có): Quản lý từ xa qua môi trường Internet bằng giao thức VNC/Remote.it; tính năng cấp lại mật khẩu qua mã OTP.
  • Won't have (Chưa hỗ trợ): Tự động điều khiển hệ thống điều hòa HVAC qua chuẩn BACnet/Modbus.

Thiết kế hệ thống

Kiến trúc hệ thống tuân thủ mô hình IoT 4 lớp tiêu chuẩn, đảm bảo tính phân tách module và khả năng chịu tải:

+-------------------------------------------------------------------------+
| LỚP ỨNG DỤNG (Application Layer)                                        |
| Web Browser Dashboard (HTML5, Bootstrap, JavaScript, AJAX Charts)      |
+-------------------------------------------------------------------------+
                                    ▲
                                    │ HTTP / RESTful API / JSON
                                    ▼
+-------------------------------------------------------------------------+
| LỚP DỊCH VỤ VÀ MẠNG (Service Support & Network Layer)                   |
| Apache 2.4 Web Server | PHP 7.4/8.0 Scripting | MySQL Database Engine  |
| Remote.it / VNC Viewer Remote Tunneling                                 |
+-------------------------------------------------------------------------+
                                    ▲
                                    │ HTTP Request (URL Parameters)
                                    ▼
+-------------------------------------------------------------------------+
| LỚP TRUNG CHUYỂN VÀ XỬ LÝ (Edge Computing Node)                        |
| Raspberry Pi 4 Model B (SoC Broadcom BCM2711 64-bit Quad-core, Raspbian)|
| Python Script Engine (Adafruit_DHT, RPi.GPIO, urllib)                  |
+-------------------------------------------------------------------------+
                                    ▲
                                    │ GPIO Direct Interfacing (1-Wire, Digital)
                                    ▼
+-------------------------------------------------------------------------+
| LỚP THIẾT BỊ VẬT LÝ (Device Layer)                                      |
| - DHT22 (Nhiệt độ & Độ ẩm)          - MQ135 (Khí Gas / Khói / CO2)     |
| - MH-RD (Phát hiện ngập / Rò nước)  - Active Buzzer 5V (Còi báo)       |
+-------------------------------------------------------------------------+

Hệ thống cơ sở dữ liệu quan hệ MySQL được chuẩn hóa để lưu trữ toàn diện thông tin vận hành:

-- Cấu trúc các bảng cốt lõi trong hệ thống
-- 1. Bảng quản lý người dùng
CREATE TABLE `user` (
  `userId` VARCHAR(255) PRIMARY KEY,
  `userName` VARCHAR(255) NOT NULL,
  `userEmail` VARCHAR(255) NOT NULL,
  `userPhone` VARCHAR(255) NOT NULL,
  `userPass` VARCHAR(255) NOT NULL,
  `image` VARCHAR(255) NOT NULL,
  `level` INT(10) NOT NULL, -- 1: Admin, 2: Manager
  `status` INT(10) NOT NULL,
  `code` MEDIUMINT(50) NOT NULL,
  `pstatus` TEXT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2. Bảng quản lý cấu hình cảm biến nhiệt ẩm và ngưỡng cảnh báo
CREATE TABLE `dht22list` (
  `id` VARCHAR(50) PRIMARY KEY,
  `room_id` VARCHAR(50) NOT NULL,
  `alarm_temp_high` FLOAT NOT NULL,
  `alarm_temp_low` FLOAT NOT NULL,
  `alarm_hum_low` FLOAT NOT NULL,
  `alarm_hum_high` FLOAT NOT NULL,
  FOREIGN KEY (`room_id`) REFERENCES `room`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 3. Bảng lưu trữ chuỗi thời gian dữ liệu nhiệt ẩm
CREATE TABLE `dht22` (
  `id` INT(11) AUTO_INCREMENT PRIMARY KEY,
  `sensor_id` VARCHAR(50) NOT NULL,
  `datetime` DATETIME NOT NULL,
  `temperature` FLOAT NOT NULL,
  `humidity` FLOAT NOT NULL,
  FOREIGN KEY (`sensor_id`) REFERENCES `dht22list`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Methodology

Dự án áp dụng mô hình phát triển phần mềm lặp (Iterative Development) kết hợp kiểm thử thực nghiệm phần cứng qua 4 giai đoạn rõ ràng:

[Giai đoạn 1: Phân tích & Chuẩn bị] ──> [Giai đoạn 2: Phát triển Phần cứng & Firmware]
(Khảo sát phòng Server BV Châu Đốc)     (Giao tiếp GPIO, lập trình Python Edge)
                  │                                        │
                  ▼                                        ▼
[Giai đoạn 4: Kiểm thử & Đóng gói]   <── [Giai đoạn 3: Xây dựng Nền tảng Web & DB]
(Stress test, UAT, tối ưu độ trễ)       (Xây dựng LAMP Stack, UI Dashboard, Alert)

Quản trị rủi ro kỹ thuật:

  • Mất kết nối mạng tạm thời: Node Raspberry Pi duy trì bộ đệm luồng dữ liệu cục bộ và tự động kết nối lại.
  • Lỗi đọc cảm biến (Sensor Glitch): Thuật toán kiểm tra dữ liệu None hoặc giá trị ngoại lai trước khi gửi HTTP request.

Implementation và kết quả

Development process

Quá trình thu thập dữ liệu tại biên (Edge Node) được thực thi bởi chương trình Python 3 chạy nền trên hệ điều hành Raspbian. Node liên tục đọc tín hiệu từ các cảm biến vật lý qua chân GPIO, xử lý logic bật còi cảnh báo nếu dữ liệu vượt ngưỡng an toàn, sau đó đóng gói tham số truyền về Web Server thông qua HTTP GET Request.

import sys
import time
import urllib.request
import Adafruit_DHT
import RPi.GPIO as GPIO

# Cấu hình chân GPIO trên Raspberry Pi 4B
DHT_PIN = 4
BUZZER_PIN = 17
RAIN_PIN = 27
MQ135_PIN = 22

GPIO.setmode(GPIO.BCM)
GPIO.setup(BUZZER_PIN, GPIO.OUT)
GPIO.setup(RAIN_PIN, GPIO.IN)
GPIO.setup(MQ135_PIN, GPIO.IN)

SERVER_URL = "http://192.168.1.100/server_monitor/add_data.php"

def read_and_sync():
    while True:
        try:
            # Đọc cảm biến nhiệt độ & độ ẩm DHT22
            humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, DHT_PIN)
            is_raining = GPIO.input(RAIN_PIN) # 0: Phát hiện nước, 1: Bình thường
            air_status = GPIO.input(MQ135_PIN) # 0: Ô nhiễm/Khói, 1: Bình thường

            if humidity is not None and temperature is not None:
                # Kích hoạt còi tại chỗ nếu nhiệt độ vượt ngưỡng an toàn (> 28°C hoặc phát hiện rò rỉ nước)
                if temperature > 28.0 or is_raining == 0:
                    GPIO.output(BUZZER_PIN, GPIO.HIGH)
                else:
                    GPIO.output(BUZZER_PIN, GPIO.LOW)

                # Truyền dữ liệu lên hệ thống Web Server qua URL Parameters
                query_str = f"?sensor_id=DHT22_01&temp={temperature:.2f}&hum={humidity:.2f}&rain={is_raining}&air={air_status}&room_id=R_SERVER_01"
                request_url = SERVER_URL + query_str
                
                req = urllib.request.Request(request_url, headers={'User-Agent': 'RaspberryPi-IoT-Node'})
                with urllib.request.urlopen(req, timeout=5) as response:
                    res_code = response.getcode()
                    print(f"Data pushed successfully. Server Response: {res_code}")
            else:
                print("Lỗi đọc cảm biến DHT22, thử lại sau 2 giây...")
                
        except Exception as e:
            print(f"Lỗi hệ thống: {str(e)}")
            
        time.sleep(10) # Chu kỳ lấy mẫu 10 giây/lần

if __name__ == '__main__':
    try:
        read_and_sync()
    except KeyboardInterrupt:
        GPIO.cleanup()
        sys.exit()

Tại phía máy chủ, tập tin add_data.php tiếp nhận request, tiến hành xác thực tính hợp lệ của tham số, ghi nhận bản ghi vào cơ sở dữ liệu MySQL và tự động gửi email cảnh báo thông qua giao thức SMTP khi phát hiện điều kiện môi trường bất thường:

<?php
require_once 'config/database.php';
require_once 'services/MailerService.php';

if (isset($_GET['sensor_id']) && isset($_GET['temp']) && isset($_GET['hum'])) {
    $sensor_id = mysqli_real_escape_string($conn, $_GET['sensor_id']);
    $temp      = floatval($_GET['temp']);
    $hum       = floatval($_GET['hum']);
    $now       = date('Y-m-d H:i:s');

    // 1. Chèn dữ liệu vào bảng lịch sử
    $insertQuery = "INSERT INTO dht22 (sensor_id, datetime, temperature, humidity) 
                    VALUES ('$sensor_id', '$now', $temp, $hum)";
    mysqli_query($conn, $insertQuery);

    // 2. Truy vấn ngưỡng an toàn của cảm biến
    $thresholdQuery = "SELECT * FROM dht22list WHERE id = '$sensor_id' LIMIT 1";
    $thresholdRes   = mysqli_query($conn, $thresholdQuery);
    
    if ($row = mysqli_fetch_assoc($thresholdRes)) {
        // Kiểm tra điều kiện vượt ngưỡng cảnh báo
        if ($temp > $row['alarm_temp_high'] || $temp < $row['alarm_temp_low'] || 
            $hum > $row['alarm_hum_high']   || $hum < $row['alarm_hum_low']) {
            
            $subject = "[CẢNH BÁO MÔI TRƯỜNG PHÒNG SERVER] Vượt ngưỡng an toàn!";
            $body    = "Cảm biến {$sensor_id} phát hiện nhiệt độ hiện tại là {$temp}°C, "
                     . "độ ẩm {$hum}%. Đề nghị kỹ thuật viên kiểm tra ngay lập tức.";
            
            // Gửi email đến danh sách kỹ thuật viên quản lý phòng
            MailerService::sendAlertEmail($row['room_id'], $subject, $body);
        }
    }
    echo "OK";
} else {
    http_response_code(400);
    echo "Bad Request";
}
?>

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt tại phòng máy chủ Bệnh viện Đa khoa Châu Đốc trong 30 ngày liên tục (720 giờ) với các chỉ số đo lường hiệu năng thực tế:

+--------------------------------------------------------------------+
| KẾT QUẢ ĐO LƯỜNG VÀ BENCHMARK HỆ THỐNG GIÁM SÁT                   |
+--------------------------------------------------------------------+
| 1. Tỷ lệ bản ghi thành công (Packet Delivery):       99.98%        |
| 2. Thời gian đáp ứng ghi CSDL Web Server:            45ms          |
| 3. Độ trễ phát chuông báo động Buzzer 5V:            < 80ms        |
| 4. Thời gian chuyển phát Email cảnh báo sự cố:       3.8s          |
| 5. Mức chiếm dụng CPU trên Raspberry Pi 4B:          < 4.2%        |
| 6. Mức chiếm dụng RAM trên Raspberry Pi 4B:          142MB / 4GB   |
| 7. Sai số nhiệt độ thực tế so với nhiệt kế chuẩn:    ±0.3°C        |
| 8. Sai số độ ẩm thực tế so với ẩm kế chuẩn:          ±2.1%         |
+--------------------------------------------------------------------+

Kết quả đạt được

Hệ thống hoàn thành 100% các mục tiêu chức năng đề ra:

  • Quản trị trực quan đa phòng máy chủ với giao diện web tương thích thiết bị di động (Responsive UI).
  • Cơ chế giám sát 4 trong 1: Nhiệt độ, độ ẩm, rò rỉ nước ngập sàn, khí độc/khói cháy.
  • Khả năng quản trị và can thiệp từ xa thông qua nền tảng đám mây Remote.it và phần mềm VNC Viewer mà không cần IP tĩnh công cộng.
  • Đầy đủ tính năng phân quyền: Quản trị viên (Admin) toàn quyền và Quản lý phòng (Manager) được phân bổ theo khu vực.

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

  1. Tối ưu hóa kiến trúc thu thập dữ liệu biên: Thay vì đẩy toàn bộ gánh nặng tính toán về máy chủ trung tâm, giải pháp ứng dụng tính toán biên (Edge Computing) trên Raspberry Pi 4B để tiền xử lý tín hiệu, lọc nhiễu cảm biến và kích hoạt còi báo động ngay cả khi mất kết nối mạng diện rộng.
  2. Cơ chế cảnh báo kết hợp Hybrid Alerting: Kết hợp còi báo động tần số cao tại phòng máy chủ (cho nhân sự trực ca tại chỗ) và dịch vụ gửi email tự động qua mạng Internet (cho đội ngũ quản trị viên từ xa), giảm thiểu tối đa thời gian phát hiện và xử lý sự cố.
  3. Hiệu quả chi phí đột phá: Giảm tới 85% chi phí đầu tư phần cứng so với các hệ thống giám sát môi trường trung tâm dữ liệu độc quyền trên thị trường (như APC NetBotz) nhưng vẫn duy trì độ chính xác và tính sẵn sàng cao.
Tiêu chí Hệ thống khóa luận APC NetBotz 250 HW group Poseidon2
Phần cứng xử lý Raspberry Pi 4 Model B Vi điều khiển độc quyền Vi điều khiển công nghiệp
Cảm biến hỗ trợ DHT22, MQ135, MH-RD, Buzzer Nhiệt độ, độ ẩm, khói (Proprietary) Nhiệt độ, độ ẩm, rò nước (1-Wire)
Giao diện quản trị Web tùy biến hoàn toàn (PHP/Bootstrap) Web nhúng cố định Web nhúng cơ bản
Cảnh báo Còi 5V + Email SMTP Email + SNMP Trap + Relay Email + SMS (qua Gateway)
Khả năng mở rộng Rất cao (thêm code Python/PHP) Phụ thuộc firmware hãng Phụ thuộc hãng
Chi phí thiết bị ~ 2.500.000 VNĐ ~ 18.000.000 VNĐ ~ 12.000.000 VNĐ

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

Kịch bản ứng dụng

  • Trung tâm dữ liệu y tế và bệnh viện: Duy trì nhiệt độ tiêu chuẩn (19°C – 22°C) và độ ẩm an toàn (40% – 60%) cho cụm máy chủ chứa dữ liệu khám chữa bệnh, bảo vệ thiết bị lưu trữ trước sự cố rò rỉ nước từ máy lạnh công nghiệp.
  • Phòng máy chủ doanh nghiệp vừa và nhỏ (SME): Cung cấp giải pháp giám sát chi phí thấp, triển khai nhanh chóng mà không cần tái cấu trúc hạ tầng mạng hiện có.
  • Trạm viễn thông (BTS Shelter): Giám sát các chỉ số môi trường tại các trạm phát sóng không người trực, cảnh báo nguy cơ ngập lụt mùa mưa bão.

Hướng dẫn triển khai kỹ thuật

# 1. Cài đặt các thư viện cần thiết trên Raspberry Pi OS
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install python3-pip python3-dev libgpiod2 -y
pip3 install Adafruit-DHT RPi.GPIO

# 2. Cài đặt Web Server và Cơ sở dữ liệu (LAMP Stack)
sudo apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php -y

# 3. Tạo cơ sở dữ liệu và cấu hình VirtualHost
sudo mysql -u root -p < database_schema.sql
sudo cp -r server_monitor/ /var/www/html/
sudo chown -R www-data:www-data /var/www/html/server_monitor/

# 4. Thiết lập chương trình đọc cảm biến chạy tự động cùng hệ thống
sudo nano /etc/systemd/system/sensor-monitor.service

Nội dung cấu hình dịch vụ chạy ngầm sensor-monitor.service:

[Unit]
Description=IoT Server Room Environment Monitor
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/pi/monitor/sensor_read.py
WorkingDirectory=/home/pi/monitor/
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target

Kích hoạt dịch vụ:

sudo systemctl daemon-reload
sudo systemctl enable sensor-monitor.service
sudo systemctl start sensor-monitor.service

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

Hạn chế kỹ thuật

  • Giao thức truyền thông: Hiện tại hệ thống sử dụng HTTP GET Request chứa tham số URL. Mặc dù triển khai nhanh nhưng phương pháp này chưa tối ưu băng thông và bảo mật so với giao thức MQTT hoặc gRPC.
  • Cảm biến analog trên Raspberry Pi: Do Raspberry Pi không tích hợp sẵn bộ chuyển đổi Analog-to-Digital (ADC) trên chân GPIO, cảm biến MQ135 và MH-RD hiện đang hoạt động ở chế độ tín hiệu số (Digital Output) thông qua biến trở so sánh trên module, chưa đọc được chính xác nồng độ ppm chi tiết của từng loại khí.

Hướng phát triển trong tương lai

  • Tích hợp thêm chip chuyển đổi ADC (như ADS1115) để đọc giá trị định lượng nồng độ khí CO2, khói và mức độ ngập nước chi tiết.
  • Nâng cấp tầng giao tiếp sang giao thức MQTT với bảo mật TLS/SSL kết hợp WebSocket để cập nhật biểu đồ trực tiếp trên giao diện web với độ trễ tính bằng mili-giây.
  • Tích hợp mô hình học máy (Machine Learning) dự đoán xu hướng biến thiên nhiệt độ và đưa ra cảnh báo sớm nguy cơ quá nhiệt trước 30-60 phút.

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

  • Sinh viên ngành CNTT, Điện tử & IoT: Nguồn tài liệu tham khảo hoàn chỉnh từ thiết kế mạch phần cứng GPIO, lập trình nhúng Python đến xây dựng web động PHP/MySQL và cấu hình dịch vụ Linux.
  • Kỹ sư vận hành hệ thống (DevOps/System Admin): Nắm bắt mô hình kiến trúc giám sát môi trường độc lập, chi phí thấp để bảo vệ hệ thống hạ tầng máy chủ cục bộ.
  • Doanh nghiệp và tổ chức y tế: Giải pháp thực tiễn giúp giảm thiểu rủi ro gián đoạn dịch vụ, tiết kiệm hàng chục triệu đồng chi phí đầu tư thiết bị mà vẫn đảm bảo tiêu chuẩn phòng ngừa sự cố.
  • Nhà nghiên cứu: Cơ sở thực nghiệm vững chắc về hiệu năng của máy tính nhúng thế hệ mới trong các ứng dụng IoT giám sát thời gian thực.

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

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

Hệ thống yêu cầu tối thiểu một board máy tính nhúng Raspberry Pi 3 Model B+ hoặc Raspberry Pi 4 Model B (RAM từ 1GB trở lên), thẻ nhớ microSD dung lượng tối thiểu 8GB (khuyến nghị 32GB Class 10), nguồn cấp 5V/3A chuẩn Type-C, cùng các module cảm biến DHT22, MQ135, MH-RD và còi báo Buzzer 5V. Phía Web Server có thể chạy trực tiếp trên chính Raspberry Pi hoặc triển khai trên một máy chủ riêng biệt chạy Linux/Windows hỗ trợ Apache/Nginx, PHP 7.4+ và MySQL 5.7+.

2. Hệ thống có khả năng mở rộng giám sát nhiều phòng máy chủ cùng lúc không?

Hoàn toàn có thể. Cơ sở dữ liệu được thiết kế theo quan hệ chuẩn hóa 1-N (Bảng room liên kết với room_detail, dht22list, mq135list, mhrdlist). Mỗi phòng máy chủ chỉ cần đặt một node Raspberry Pi kèm định danh room_idsensor_id riêng biệt, toàn bộ dữ liệu sẽ được đẩy tập trung về một máy chủ cơ sở dữ liệu duy nhất để quản lý tập trung.

3. Làm thế nào để truy cập giao diện giám sát và điều khiển Raspberry Pi từ ngoài mạng nội bộ?

Hệ thống tích hợp giải pháp Remote.it kết hợp giao thức VNC Viewer. Công nghệ này tạo ra một đường hầm mã hóa an toàn (Secure Tunnel) kết nối thiết bị với mạng Internet mà không yêu cầu người quản trị phải mở cổng mạng (Port Forwarding) hoặc mua địa chỉ IP tĩnh công cộng từ nhà cung cấp dịch vụ mạng (ISP).

4. Nếu mất kết nối Internet, hệ thống cảnh báo hoạt động như thế nào?

Khi mất mạng Internet, chương trình Python trên Raspberry Pi vẫn tiếp tục quét tín hiệu cảm biến theo thời gian thực. Nếu phát hiện nhiệt độ vượt ngưỡng an toàn hoặc có sự cố chập điện sinh khói, rò rỉ nước, bo mạch sẽ lập tức kích hoạt còi báo động Active Buzzer 5V tại chỗ với âm lượng lớn để cảnh báo trực tiếp cho nhân viên trực phòng máy.

5. Chi phí triển khai trọn gói một trạm giám sát là bao nhiêu?

Tổng chi phí linh kiện phần cứng cho một trạm giám sát phòng máy chủ (gồm Raspberry Pi 4B, nguồn sạc, vỏ tản nhiệt, thẻ nhớ 32GB, cảm biến DHT22, MQ135, MH-RD, còi Buzzer và dây nối) dao động từ 2.000.000 đến 2.600.000 VNĐ. Chi phí này giúp tiết kiệm hơn 85% so với việc mua sắm các thiết bị thương mại chuyên dụng nhập khẩu.


Kết luận

Đề tài khóa luận tốt nghiệp "Xây dựng hệ thống giám sát môi trường tại phòng máy chủ" của sinh viên Nguyễn Quan Dinh dưới sự hướng dẫn của TS. Huỳnh Phước Hải đã ứng dụng thành công công nghệ IoT vào giải quyết bài toán cấp thiết trong thực tiễn vận hành công nghệ thông tin y tế. Với sự kết hợp nhịp nhàng giữa nền tảng phần cứng Raspberry Pi 4B mạnh mẽ, hệ thống đa cảm biến chính xác và ứng dụng web quản trị tiện ích, dự án mang lại giải pháp toàn diện giúp kiểm soát nhiệt độ, độ ẩm, cảnh báo cháy và rò rỉ nước tự động 24/7. Đây là minh chứng điển hình cho việc ứng dụng công nghệ mã nguồn mở chi phí thấp nhằm nâng cao độ an toàn và tối ưu hóa hiệu quả hoạt động cho các trung tâm dữ liệu hiện đại.