Giới thiệu dự án

Trong môi trường giáo dục đại học quy mô lớn với hàng trăm giảng đường phân bố trên nhiều tòa nhà cao tầng, công tác thanh tra và kiểm soát giờ giảng dạy của giảng viên gặp nhiều thách thức. Phương thức thanh tra truyền thống đòi hỏi nhân viên khảo sát trực tiếp từng phòng học, gây tốn kém từ 35–50% quỹ thời gian làm việc của bộ phận giám sát, dễ phát sinh sai số do ghi chép thủ công và không thể cập nhật dữ liệu tức thời về phòng quản trị.

Các giải pháp điểm danh sinh trắc học qua mạng WiFi hiện nay thường gặp nhược điểm: độ trễ cao khi nghẽn mạng cục bộ, tiêu hao nhiều năng lượng, chi phí phần cứng đắt đỏ và tiềm ẩn nguy cơ an ninh mạng. Đề tài "Hệ thống giám sát phòng học từ xa" được phát triển nhằm giải quyết triệt để bài toán quản lý giảng đường thông qua mô hình phần cứng nhúng phân tán kết hợp mạng cảm biến không dây ZigBee/RF và cảm biến sinh trắc học vân tay.

                  +-----------------------------------+
                  |      Phòng Học (End Device)       |
                  |  +-----------------------------+  |
                  |  | Cảm biến vân tay quang học  |  |
                  |  |  (UART 57600bps, 500 dpi)   |  |
                  |  +--------------+--------------+  |
                  |                 | (UART)          |
                  |  +--------------v--------------+  |
                  |  |   Arduino Uno (ATmega328P)  |  |
                  |  +---+---------------------+---+  |
                  |      | (I2C)               | (UART)|
                  |  +---v-------+      +------v-----+|
                  |  | RTC DS1307|      |  XBee S1   ||
                  |  +-----------+      +------+-----+|
                  +----------------------------|------+
                                               | (Sóng RF 2.4 GHz)
                                               v
                  +----------------------------|------+
                  |  +-------------------------v---+  |
                  |  | XBee S1 (Coordinator Node)  |  |
                  |  +--------------+--------------+  |
                  |                 | (USB-UART)      |
                  |  +--------------v--------------+  |
                  |  |    Phần mềm quản trị C#     |  |
                  |  |     (VS 2012 / WinForms)    |  |
                  |  +--------------+--------------+  |
                  |                 | (ADO.NET)       |
                  |  +--------------v--------------+  |
                  |  |  Microsoft SQL Server 2012  |  |
                  |  +-----------------------------+  |
                  |     Trung Tâm Giám Sát (Host)     |
                  +-----------------------------------+

Mục tiêu kỹ thuật cốt lõi

  1. Thiết kế phần cứng thu thập dữ liệu tại lớp học (End Device): Tích hợp vi điều khiển ATmega328P, cảm biến vân tay quang học độ phân giải 500 dpi, module thời gian thực RTC DS1307 và màn hình LCD 20x4.
  2. Xây dựng mạng truyền dẫn không dây công suất thấp: Ứng dụng chuẩn IEEE 802.15.4 qua module Digi XBee 2.4 GHz, thiết lập cấu hình mạng hình sao/đa điểm (Point-to-Multipoint) với cơ chế truyền Unicast định địa chỉ 16-bit/64-bit.
  3. Phát triển phần mềm giám sát trung tâm và cơ sở dữ liệu: Lập trình ứng dụng trên nền tảng .NET C# (Visual Studio 2012) liên kết hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2012, hỗ trợ đối soát thời khóa biểu tự động và trích xuất báo cáo PDF chuẩn hóa.

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

  • Phạm vi: Ứng dụng giám sát giờ lên lớp của giảng viên tại các phòng học lý thuyết và xưởng thực hành trong khuôn viên trường đại học.
  • Giới hạn: Thiết bị lưu trữ tối đa 162 mẫu vân tay trực tiếp trên bộ nhớ Flash của cảm biến; hệ thống truyền thông không dây thử nghiệm trong phạm vi bán kính 30m xuyên tường trong nhà và 90m ngoài trời đối với module XBee tiêu chuẩn.

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

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

Để lựa chọn cấu trúc công nghệ tối ưu, các phương án quản lý phòng học phổ biến được phân tích và so sánh đa tiêu chí:

Tiêu chí kỹ thuật Điểm danh sổ sách / Thẻ từ RFID Sinh trắc học qua WiFi Hệ thống XBee RF + Cảm biến vân tay (Đề tài)
Tính xác thực Thấp (Dễ điểm danh hộ, mất thẻ) Cao (Sinh trắc học cá nhân) Cao (Sinh trắc học vân tay 500 dpi)
Băng thông & Tải mạng Không áp dụng Yêu cầu băng thông cao, dễ nghẽn Băng thông thấp (250 kbps), độc lập hoàn toàn với mạng Internet
Năng lượng tiêu thụ Rất thấp Cao (200–500 mA liên tục) Rất thấp (Chế độ thu/phát: 45–50 mA, Sleep < 10 µA)
Độ ổn định đường truyền Phụ thuộc thao tác thủ công Dễ chập chờn khi nhiều kết nối Ổn định cao qua sóng RF 2.4 GHz, hỗ trợ ACK và re-transmit
Chi phí đầu tư/node Rất thấp Trung bình - Cao Tối ưu, thiết kế module hóa dễ sửa chữa

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc): Nhận diện vân tay chính xác dưới 1 giây; đồng bộ thời gian thực đến từng giây; truyền chuỗi dữ liệu (Mã GV, Thời gian, Phòng học) về máy tính chủ; lưu trữ vào cơ sở dữ liệu SQL Server.
  • Should have (Nên có): Màn hình LCD hiển thị phản hồi trạng thái cho giảng viên; cảnh báo trùng lặp hoặc sai khớp dữ liệu; xuất báo cáo định dạng PDF.
  • Could have (Có thể mở rộng): Tự động phát hiện giảng viên đi trễ/về sớm dựa trên lịch biểu; tích hợp module còi chip báo động.
  • Won't have (Chưa thực hiện): Tự động điều khiển hệ thống chiếu sáng, máy lạnh trong phòng học.

Thiết kế hệ thống

1. Kiến trúc phần cứng các khối

Hệ thống phân chia thành hai phân vùng chính: Trạm giám sát trung tâm (Coordinator Node)Các trạm đo tại phòng học (End Device Nodes).

+-----------------------------------------------------------------------------------+
|                                TRẠM THU THẬP TẠI PHÒNG HỌC                        |
|                                                                                   |
|  +--------------------+         +-------------------+        +-----------------+  |
|  | Cảm biến vân tay   |  UART   |  Arduino Uno R3   |  I2C   |   RTC DS1307    |  |
|  | (57600 bps, 3.3V)  |<------->|   (ATmega328P)    |<------>|  (32.768 kHz)   |  |
|  +--------------------+         +--------+----------+        +-----------------+  |
|                                          |                                        |
|                                          | 4-bit Parallel                         |
|                                          v                                        |
|  +--------------------+         +-------------------+                             |
|  |     Digi XBee      |  UART   |  Màn hình LCD     |                             |
|  | (802.15.4 / 2.4GHz)|<------->|  20x4 (HD44780)   |                             |
|  +--------------------+         +-------------------+                             |
+------------------------------------------|----------------------------------------+
                                           | Sóng RF (Point-to-Multipoint)
                                           v
+------------------------------------------|----------------------------------------+
|                                TRẠM TRUNG TÂM (HOST)                              |
|                                                                                   |
|  +--------------------+  UART   +-------------------+  ADO.NET+-----------------+  |
|  | XBee Coordinator   |<------->| Ứng dụng C# WinForm|<------>| SQL Server 2012 |  |
|  | + XBee Explorer    | (COM/USB| (Visual Studio 12)|        |  (Database)     |  |
|  +--------------------+         +-------------------+        +-----------------+  |
+-----------------------------------------------------------------------------------+
  • Khối xử lý trung tâm (Arduino Uno R3): Sử dụng chip ATmega328P hoạt động ở tần số 16 MHz, điện áp 5V, 32 KB Flash ROM, 2 KB SRAM. Đóng vai trò điều phối luồng dữ liệu giữa các module ngoại vi.
  • Khối thu nhận sinh trắc học: Cảm biến vân tay quang học tích hợp DSP xử lý hình ảnh cục bộ.
    • Tốc độ truyền mặc định: 57600 bps (UART TTL).
    • Tỷ lệ nhận dạng sai (FAR): $< 0.001%$, tỷ lệ từ chối sai (FRR): $< 0.1%$.
    • Cửa sổ quét: $14 \times 18\text{ mm}$, độ phân giải $500\text{ dpi}$.
  • Khối thời gian thực (RTC DS1307): Giao tiếp chuẩn $\text{I}^2\text{C}$ (chân SDA, SCL), sử dụng thạch anh ngoại vi 32.768 kHz, hỗ trợ tự động bù ngày trong tháng và năm nhuận, duy trì nguồn nuôi bằng pin đồng xu Lithium 3V CR2032 khi mất điện nguồn.
  • Khối truyền thông vô tuyến (Digi XBee S1): Hoạt động trên băng tần 2.4 GHz ISM, chuẩn IEEE 802.15.4. Công suất phát 1 mW ($0\text{ dBm}$), độ nhạy thu $-92\text{ dBm}$, cấu hình địa chỉ mạng PAN ID, địa chỉ nguồn 16-bit MY, và địa chỉ đích DL.
  • Khối hiển thị (LCD 20x4): Sử dụng driver HD44780, hiển thị 4 dòng $\times$ 20 ký tự, giao tiếp 4-bit dữ liệu qua các chân Digital của Arduino.

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

Cơ sở dữ liệu được xây dựng trên Microsoft SQL Server 2012 gồm các bảng chuẩn hóa:

-- Bảng Giáo Viên (GIAOVIEN)
CREATE TABLE GIAOVIEN (
    MaGV VARCHAR(10) PRIMARY KEY,
    TenGV NVARCHAR(50) NOT NULL,
    Khoa NVARCHAR(50),
    Email VARCHAR(50),
    SoDienThoai VARCHAR(15),
    VanTayID INT UNIQUE NOT NULL
);

-- Bảng Phòng Học (PHONGHOC)
CREATE TABLE PHONGHOC (
    MaPhong VARCHAR(10) PRIMARY KEY,
    TenPhong NVARCHAR(30),
    ToaNha NVARCHAR(20),
    XBeeAddress VARCHAR(16) NOT NULL
);

-- Bảng Thời Khóa Biểu (THOIKHOABIEU)
CREATE TABLE THOIKHOABIEU (
    MaTKB INT IDENTITY(1,1) PRIMARY KEY,
    MaGV VARCHAR(10) FOREIGN KEY REFERENCES GIAOVIEN(MaGV),
    MaPhong VARCHAR(10) FOREIGN KEY REFERENCES PHONGHOC(MaPhong),
    MonHoc NVARCHAR(50),
    Thu INT, -- 2: Thứ 2, ..., 8: Chủ nhật
    TietBatDau INT,
    SoTiet INT,
    NgayApDung DATE
);

-- Bảng Lịch Sử Điểm Danh (DIEMDANH)
CREATE TABLE DIEMDANH (
    MaDD INT IDENTITY(1,1) PRIMARY KEY,
    MaGV VARCHAR(10) FOREIGN KEY REFERENCES GIAOVIEN(MaGV),
    MaPhong VARCHAR(10) FOREIGN KEY REFERENCES PHONGHOC(MaPhong),
    ThoiGianDiemDanh DATETIME NOT NULL,
    TrangThai NVARCHAR(30), -- 'Đúng giờ', 'Đi trễ', 'Về sớm'
    GhiChu NVARCHAR(100)
);

Methodology

Đề tài áp dụng quy trình phát triển kỹ thuật tuần tự (V-Model biến thể cho hệ thống nhúng):

1. Khảo sát & Phân tích yêu cầu (Tuần 1 - 2)
   └── Xác định nghiệp vụ thanh tra phòng học, lập chỉ tiêu kỹ thuật.
2. Thiết kế kiến trúc & Giao thức (Tuần 3 - 5)
   └── Thiết kế sơ đồ khối, phân bổ thanh ghi DS1307, định cấu hình gói tin XBee.
3. Thi công phần cứng & Lập trình Firmware (Tuần 6 - 9)
   └── Hàn lắp mạch, nạp code Arduino Uno, giao tiếp cảm biến vân tay & RTC.
4. Xây dựng phần mềm quản trị C# & Database (Tuần 10 - 12)
   └── Viết ứng dụng WinForms, kết nối SerialPort, thiết kế bảng dữ liệu SQL.
5. Tích hợp hệ thống, Thử nghiệm & Hiệu chỉnh (Tuần 13 - 15)
   └── Đo đạc khoảng cách truyền dẫn RF, kiểm tra tỷ lệ lỗi gói tin, hoàn thiện vỏ hộp.

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

  • Rủi ro suy hao tín hiệu RF do vật cản bê tông: Khắc phục bằng cách cấu hình địa chỉ mạng linh hoạt, hỗ trợ mở rộng thêm Router node hoặc chuyển đổi sang module công suất cao XBee-Pro (63 mW) nếu khoảng cách lớn hơn 50m xuyên tầng.
  • Rủi ro sai lệch thời gian hệ thống: Bổ sung tụ lọc nhiễu cho thạch anh dao động của DS1307; cơ chế phần mềm trên C# tự động gửi lệnh đồng bộ giờ máy chủ xuống RTC định kỳ.

Implementation và kết quả

Development process

1. Giao thức truyền thông cảm biến vân tay

Cảm biến vân tay giao tiếp với Arduino qua cổng nối tiếp bất đối xứng (UART) bằng các gói tin chuẩn nhị phân:

  • Cấu trúc gói lệnh (Command Packet): $$\text{Header (2B: 0xEF01)} + \text{Adder (4B: 0xFFFFFFFF)} + \text{PID (1B: 0x01)} + \text{Length (2B)} + \text{Instruction Data} + \text{Checksum (2B)}$$
  • Quy trình xác thực:
    1. Gửi lệnh chụp ảnh vân tay: 0xEF01 FFFFFFFF 01 0003 01 0005 (Instruction 0x01 - GetImage).
    2. Tạo đặc tính mẫu vào Buffer 1: 0xEF01 FFFFFFFF 01 0004 02 01 0008 (Instruction 0x02 - GenChar1).
    3. Tìm kiếm khớp mẫu trong Flash: 0xEF01 FFFFFFFF 01 0008 04 01 0000 00A2 00AE (Instruction 0x04 - Search từ ID 0 đến 162).
    4. Cảm biến phản hồi gói ACK chứa ID trùng khớp và điểm số chính xác (Match Score).
// Trích xuất đoạn mã Arduino đọc xác thực vân tay và lấy thời gian thực
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal.h>

SoftwareSerial fingerSerial(2, 3); // RX, TX nối cảm biến vân tay
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // RS, E, D4, D5, D6, D7

// Hàm chuyển đổi BCD sang Decimal cho DS1307
byte bcdToDec(byte val) {
  return ((val / 16 * 10) + (val % 16));
}

// Đọc thời gian từ DS1307 qua I2C
void readDS1307(byte &hour, byte &minute, byte &second, byte &day, byte &month, byte &year) {
  Wire.beginTransmission(0x68); // Địa chỉ I2C của DS1307
  Wire.write(0x00);             // Đặt con trỏ về thanh ghi 0x00 (Seconds)
  Wire.endTransmission();
  
  Wire.requestFrom(0x68, 7);
  second = bcdToDec(Wire.read() & 0x7F);
  minute = bcdToDec(Wire.read());
  hour   = bcdToDec(Wire.read() & 0x3F);
  Wire.read(); // Bỏ qua Day of week
  day    = bcdToDec(Wire.read());
  month  = bcdToDec(Wire.read());
  year   = bcdToDec(Wire.read());
}

void sendAttendanceData(int teacherId, byte h, byte m, byte s, byte d, byte mo, byte y) {
  // Định dạng chuỗi gửi qua XBee: [ID_GV, HH:MM:SS, DD/MM/YY, Room_ID]
  Serial.print("#DATA,");
  Serial.print(teacherId);
  Serial.print(",");
  if (h < 10) Serial.print("0"); Serial.print(h); Serial.print(":");
  if (m < 10) Serial.print("0"); Serial.print(m); Serial.print(":");
  if (s < 10) Serial.print("0"); Serial.print(s);
  Serial.print(",");
  if (d < 10) Serial.print("0"); Serial.print(d); Serial.print("/");
  if (mo < 10) Serial.print("0"); Serial.print(mo); Serial.print("/");
  Serial.print(y + 2000);
  Serial.println(",P201#"); // Mã định danh phòng học P201
}

2. Xử lý nhận dữ liệu và đối soát trên C# WinForms

Phần mềm trung tâm sử dụng luồng bất đồng bộ để lắng nghe cổng SerialPort. Khi nhận chuỗi dữ liệu kết thúc bằng ký tự ngắt dòng, ứng dụng bóc tách chuỗi và thực thi đối soát tự động với cơ sở dữ liệu.

// Xử lý sự kiện nhận dữ liệu từ XBee Coordinator trên C#
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    string incomingData = serialPort1.ReadLine().Trim();
    // Cấu trúc chuỗi: #DATA,VanTayID,HH:mm:ss,dd/MM/yyyy,MaPhong#
    if (incomingData.StartsWith("#DATA") && incomingData.EndsWith("#"))
    {
        string[] parts = incomingData.Split(',');
        int vanTayId = int.Parse(parts[1]);
        string thoiGian = parts[2];
        string ngayThang = parts[3];
        string maPhong = parts[4].Replace("#", "");

        // Đưa dữ liệu sang UI thread và cập nhật Database
        this.Invoke(new Action(() => {
            ProcessAttendanceRecord(vanTayId, thoiGian, ngayThang, maPhong);
        }));
    }
}

private void ProcessAttendanceRecord(int vanTayId, string thoiGian, string ngay, string maPhong)
{
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        conn.Open();
        string query = @"SELECT gv.MaGV, gv.TenGV, tkb.MonHoc, tkb.TietBatDau 
                         FROM GIAOVIEN gv 
                         JOIN THOIKHOABIEU tkb ON gv.MaGV = tkb.MaGV 
                         WHERE gv.VanTayID = @VanTayID AND tkb.MaPhong = @MaPhong";
        
        using (SqlCommand cmd = new SqlCommand(query, conn))
        {
            cmd.Parameters.AddWithValue("@VanTayID", vanTayId);
            cmd.Parameters.AddWithValue("@MaPhong", maPhong);
            SqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read())
            {
                string tenGV = reader["TenGV"].ToString();
                string monHoc = reader["MonHoc"].ToString();
                // Ghi nhận thành công vào bảng DIEMDANH
                SaveToAttendanceLog(reader["MaGV"].ToString(), maPhong, $"{ngay} {thoiGian}", "Đúng giờ");
                lblStatus.Text = $"Xác nhận: {tenGV} - Môn: {monHoc} tại {maPhong}";
            }
        }
    }
}

Testing và validation

1. Đánh giá khả năng thu nhận sinh trắc học

Thử nghiệm nhận diện trên tập 20 giảng viên với 100 lần quét ngón tay trong các điều kiện khác nhau:

  • Tốc độ xác thực trung bình: $0.78\text{ giây}$ (bao gồm thời gian lấy ảnh, trích xuất đặc trưng và tìm kiếm trong cơ sở dữ liệu cục bộ 162 mẫu).
  • Tỷ lệ nhận dạng chính xác: Đạt $98.0%$ ở điều kiện tiêu chuẩn; giảm xuống $93.0%$ khi ngón tay bị ẩm hoặc đặt lệch tâm góc tiếp xúc $> 30^\circ$.

2. Đánh giá hiệu năng mạng không dây XBee (2.4 GHz, Baud rate 57600 bps)

Khoảng cách truyền (m) Điều kiện môi trường Tỷ lệ mất gói tin (Packet Loss Rate) Thời gian trễ trung bình (Latency)
5m Không vật cản (Line-of-Sight) $0.0%$ $12.4\text{ ms}$
15m Xuyên 1 tường bê tông ($10\text{ cm}$) $0.0%$ $15.8\text{ ms}$
30m Xuyên 2 tường bê tông + cửa kính $2.5%$ (Tự động gửi lại thành công) $28.2\text{ ms}$
50m Xuyên tầng (Tầng 1 lên Tầng 2) $8.0%$ (Thất thoát nếu không có Router) $54.0\text{ ms}$

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

  • Phần cứng hoàn thiện: Chế tạo thành công 02 hộp thiết bị đầu cuối (End Devices) nhỏ gọn, tích hợp đầy đủ LCD 20x4, cảm biến vân tay, module RTC, board Arduino và mạch chuyển đổi nguồn DC 5V/3.3V; cùng 01 trạm thu Coordinator kết nối máy tính qua cổng USB.
  • Phần mềm quản trị toàn diện: Ứng dụng C# quản lý đầy đủ 5 phân hệ: Quản lý hồ sơ giảng viên, Quản lý danh mục phòng học, Quản lý phân công môn học/thời khóa biểu, Giám sát trạng thái điểm danh trực quan theo thời gian thực và Trích xuất báo cáo học kỳ/tháng ra tệp định dạng PDF.
+-------------------------------------------------------------------------------+
|             PHẦN MỀM GIÁM SÁT VÀ QUẢN LÝ PHÒNG HỌC TỪ XA - C# .NET            |
+-------------------------------------------------------------------------------+
| Cổng COM: [COM3 v] Baud: [57600 v]  [ KẾT NỐI ]  Trạng thái: [ ĐÃ LIÊN KẾT ]  |
+-------------------------------------------------------------------------------+
| [ DANH SÁCH ĐIỂM DANH TRỰC TIẾP ]                                             |
| +----------+---------------------+------------+----------+-----------+-----+ |
| | Thời gian| Giảng viên          | Môn học    | Phòng    | Tiết BĐ   | TT  | |
| +----------+---------------------+------------+----------+-----------+-----+ |
| | 07:02:15 | ThS. Nguyễn Văn A   | Kỹ thuật ĐT| P.201    | Tiết 1    | Đúng| |
| | 07:05:40 | TS. Trần Thị B      | Vi xử lý   | P.202    | Tiết 1    | Đúng| |
| | 07:18:22 | ThS. Lê Hoàng C     | Truyền dẫn | P.305    | Tiết 1    | Trễ | |
| +----------+---------------------+------------+----------+-----------+-----+ |
|                                                                               |
| Tổng số phòng trực tuyến: 02/02                  [ XUẤT BÁO CÁO PDF ]         |
+-------------------------------------------------------------------------------+

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

  1. Ứng dụng giải pháp truyền thông không dây chuyên dụng trong giám sát sư phạm: Đề tài tiên phong kết hợp module nhận dạng sinh trắc học vân tay độc lập với mạng truyền thông ZigBee RF 2.4 GHz thay vì dựa vào mạng IP/WiFi truyền thống. Cải tiến này giúp hệ thống hoạt động hoàn toàn độc lập, loại bỏ rủi ro nghẽn băng thông trường học và ngăn chặn nguy cơ tấn công mạng qua giao thức Internet.
  2. Kiến trúc phân tán tối ưu hóa tài nguyên phần cứng: Thay vì gửi toàn bộ ảnh vân tay về máy chủ (đòi hỏi băng thông lớn), thuật toán trích xuất đặc trưng và so khớp được thực hiện trực tiếp tại DSP của cảm biến đầu cuối. Chuỗi dữ liệu truyền qua mạng RF chỉ là gói tin định danh nhỏ gọn (dưới 32 bytes), giúp tối ưu hóa $95%$ băng thông đường truyền và tiết kiệm điện năng cho nút mạng.
  3. Tính tự chủ và khả năng lưu trữ ngoại tuyến: Nhờ tích hợp module thời gian thực RTC DS1307, nút điểm danh tại phòng học ghi nhận mốc thời gian độc lập với máy chủ, đảm bảo tính pháp lý và độ chính xác của dữ liệu chấm công ngay cả khi trạm trung tâm tạm thời gián đoạn kết nối.

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

Kịch bản vận hành thực tế

  • Đầu ca học: Giảng viên bước vào giảng đường, đặt ngón tay đã đăng ký lên lăng kính cảm biến trên hộp thiết bị đặt cạnh bục giảng.
  • Xác thực tại chỗ: Cảm biến kiểm tra, nếu hợp lệ, màn hình LCD 20x4 lập tức hiển thị thông điệp chào mừng kèm họ tên giảng viên và mốc thời gian quét.
  • Truyền dẫn và đối soát: Arduino đọc mã ID cùng thời gian từ RTC DS1307, đóng gói thành bản tin RF gửi qua XBee End Device. Trạm Coordinator tại phòng Thanh tra nhận tín hiệu, truyền vào ứng dụng C# để tự động đối chiếu với thời khóa biểu trong SQL Server 2012 và hiển thị trạng thái lên bảng điều khiển giám sát.

Yêu cầu triển khai hệ thống

  • Hạ tầng tại mỗi phòng học (End Device): 01 Nguồn điện AC 220V hạ áp sang DC 9V/1A; Hộp thiết bị kích thước $150 \times 100 \times 50\text{ mm}$ gắn cố định trên tường hoặc bàn giảng viên.
  • Hạ tầng tại phòng trung tâm (Host): 01 Máy tính PC/Laptop chạy Windows 7/8/10/11, cấu hình tối thiểu RAM 2 GB, ổ cứng trống 10 GB; Cài đặt Microsoft .NET Framework 4.5 và SQL Server Management Studio 2012.

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

Hạn chế kỹ thuật

  • Dung lượng mẫu vân tay tại trạm cục bộ: Module phần cứng giới hạn ở 162 dấu vân tay, đòi hỏi phải đồng bộ hoặc xóa bộ nhớ khi có biến động lớn về nhân sự giảng viên qua từng kỳ học.
  • Tầm phủ sóng RF trong môi trường đa tầng bê tông cốt thép: Sóng vô tuyến 2.4 GHz bị suy hao mạnh khi truyền qua nhiều tầng sàn bê tông dày, đòi hỏi bố trí các nút trung gian định tuyến (Router nodes) nếu triển khai toàn trường.

Hướng phát triển nâng cao

  • Nâng cấp công nghệ mạng cảm biến: Chuyển đổi sang giao thức ZigBee Pro Mesh Network với khả năng tự phục hồi đường truyền (Self-healing) và mở rộng hàng trăm nút mạng; hoặc tích hợp chuẩn truyền thông tầm xa LoRa (Long Range) cho phép phủ sóng toàn bộ khuôn viên trường bán kính 1–3 km.
  • Phát triển nền tảng quản trị Web/Cloud: Chuyển đổi ứng dụng WinForms sang nền tảng Web Dashboard (ASP.NET Core / React), kết nối dữ liệu đám mây giúp ban giám hiệu theo dõi tình hình giảng đường từ thiết bị di động.
  • Tích hợp điều khiển thông minh: Mở rộng tiếp điểm Relay để tự động kích hoạt nguồn điện cấp cho máy chiếu, hệ thống chiếu sáng và điều hòa khi giảng viên điểm danh hợp lệ đầu giờ học.

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

  • Sinh viên & Học viên ngành Kỹ thuật Điện tử - Viễn thông, Nhúng và IoT: Tài liệu tham khảo toàn diện về phương pháp giao tiếp UART/I2C, cấu hình module mạng ZigBee XBee qua phần mềm X-CTU và cách lập trình giao tiếp giữa vi điều khiển với máy tính.
  • Kỹ sư phát triển phần mềm nhúng: Mô hình mẫu về việc phân tách tác vụ (DSP sinh trắc học cục bộ vs. phần mềm máy chủ trung tâm) và kỹ thuật đóng gói bản tin truyền thông nối tiếp tối ưu dung lượng.
  • Ban Giám hiệu và Phòng Thanh tra các trường Đại học/Cao đẳng: Cơ sở thực tiễn để đánh giá, đầu tư và triển khai các giải pháp số hóa quản lý phòng học với chi phí thấp, tính bảo mật cao và độ ổn định vượt trội.

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

1. Yêu cầu phần cứng và phần mềm tối thiểu để vận hành hệ thống là gì?

Hệ thống yêu cầu mỗi phòng học trang bị 01 board Arduino Uno R3, 01 cảm biến vân tay quang học (chuẩn UART TTL), 01 module RTC DS1307, 01 module Digi XBee S1 (hoặc XBee Pro) và 01 màn hình LCD 20x4. Phía máy chủ cần máy tính chạy hệ điều hành Windows, có cài đặt ứng dụng .NET WinForms C# và Microsoft SQL Server 2012 trở lên.

2. Hệ thống xử lý thế nào khi xảy ra xung đột dữ liệu do nhiều giảng viên điểm danh cùng lúc?

Giao thức IEEE 802.15.4 tích hợp trên module XBee sử dụng cơ chế kiểm soát truy cập môi trường truyền dẫn CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Khi hai hay nhiều trạm End Device phát sóng đồng thời, module sẽ tự động lắng nghe kênh truyền, phát hiện va chạm và thực hiện lùi ngẫu nhiên thời gian trước khi truyền lại, kết hợp với cơ chế xác nhận gói tin (ACK) đảm bảo không mất mát dữ liệu điểm danh.

3. Có thể mở rộng số lượng phòng học lên quy mô lớn (hàng trăm phòng) được không?

Hoàn toàn khả thi. Bằng cách chuyển cấu hình mạng từ Point-to-Multipoint sang dạng mạng lưới ZigBee Mesh (sử dụng module XBee Series 2 hoặc XBee-Pro), hệ thống cho phép thiết lập các nút Router trung gian tại mỗi tầng của tòa nhà để chuyển tiếp gói tin về Coordinator, mở rộng vùng phủ sóng toàn trường không giới hạn.

4. Dữ liệu thời gian điểm danh có bị mất khi trạm phòng học bị cúp điện đột ngột?

Không. Module thời gian thực DS1307 được cấp nguồn dự phòng liên tục từ pin đồng xu CR2032 3V với thời gian duy trì lên đến nhiều năm, đảm bảo đồng hồ thời gian thực không bị dừng hay reset khi nguồn chính 5V bị ngắt. Khi có điện trở lại, hệ thống tiếp tục đọc đúng thời gian hiện hành.

5. Chi phí sản xuất cho mỗi nút điểm danh phòng học là bao nhiêu?

Chi phí linh kiện cho một nút điểm danh End Device (gồm Arduino Uno, cảm biến vân tay quang học, DS1307, LCD 20x4, module XBee và mạch nguồn) ước tính dao động từ $600.000 - 900.000\text{ VNĐ}$, thấp hơn nhiều so với việc trang bị các máy chấm công độc lập chạy Android/WiFi thương mại.


Kết luận

Đề tài "Hệ thống giám sát phòng học từ xa" đã hoàn thành xuất sắc các mục tiêu thiết kế và ứng dụng thực tiễn trong công tác quản lý sư phạm. Bằng cách kết hợp linh hoạt công nghệ nhận dạng sinh trắc học vân tay, mạng truyền thông không dây ZigBee 2.4 GHz và hệ thống quản trị cơ sở dữ liệu trên C# / SQL Server, công trình đã đề xuất một giải pháp quản lý phòng học tự động, hiện đại, tiết kiệm chi phí và có độ tin cậy cao. Kết quả thử nghiệm thực tế khẳng định tính khả thi và tiềm năng mở rộng to lớn của mô hình trong tiến trình xây dựng mô hình đại học thông minh (Smart Campus).