Giới thiệu dự án

Trong bối cảnh bùng nổ của ngành tổ chức sự kiện, hội nghị và triển lãm quy mô lớn (MICE), khâu tiếp đón và kiểm soát vé (check-in) đóng vai trò quyết định đến trải nghiệm của khách tham dự cũng như mức độ an ninh của toàn bộ chương trình. Theo các báo cáo thống kê ngành quản lý sự kiện, phương pháp điểm danh truyền thống bằng danh sách giấy hoặc đối soát thủ công trên bảng tính Excel tiêu tốn trung bình từ 20 đến 45 giây cho mỗi lượt khách, gây ra tình trạng ùn tắc cục bộ nghiêm trọng tại các khung giờ cao điểm. Ngay cả khi các hệ thống mã QR thế hệ đầu được ứng dụng, người tham dự vẫn gặp phiền toái khi liên tục phải mở điện thoại xuất trình mã mỗi khi ra/vào các khu vực phân vùng (re-entry), đồng thời tiềm ẩn rủi ro chuyển giao mã QR cho người khác nhằm gian lận vé mời.

Đề tài khóa luận "Thiết kế, thi công hệ thống điểm danh bằng mã QR" (IoT-Based QR code check-in system) do sinh viên Nguyễn Anh Kiệt thực hiện dưới sự hướng dẫn của TS. Đỗ Trí Nhựt tại Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – ĐHQG-HCM, tập trung giải quyết bài toán cốt lõi: tối ưu hóa luồng điểm danh tự động, khép kín và nhỏ gọn dựa trên nền tảng máy tính nhúng IoT kết hợp công nghệ thị giác máy tính (Computer Vision).

graph LR
    A[Khách đăng ký Web Form] --> B[Hệ thống tạo mã QR & Gửi Email SMTP]
    B --> C[Khách quét mã QR tại Kiosk IoT]
    C --> D[Webcam chụp ảnh & Trích xuất 128-d Vector khuôn mặt]
    D --> E[Lưu trữ & Liên kết QRID với Dữ liệu khuôn mặt]
    E --> F[Ra/Vào các lần sau: Tự động Nhận diện khuôn mặt < 1.5s]

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

  1. Thiết kế quy trình phân phối vé điện tử tự động: Xây dựng web portal cho phép người dùng đăng ký thông tin, tự động sinh mã QR chứa định danh duy nhất (QRID) và chuyển tiếp thư mời kèm mã qua giao thức SMTP.
  2. Thiết kế phần cứng Kiosk IoT tích hợp: Tích hợp máy tính nhúng Raspberry Pi 4, module quét mã vạch/mã QR CMOS chuyên dụng, webcam HD và màn hình cảm ứng 7.0 inch vào một bộ khung chứa công thái học, nhỏ gọn, tối ưu không gian quầy lễ tân.
  3. Phát triển thuật toán điểm danh lai (Hybrid Check-in): Kết hợp giải mã QR quang học trong lần đầu tiếp cận (enrollment) với công nghệ nhận diện khuôn mặt thời gian thực (Face Recognition) cho các lượt ra/vào tiếp theo nhằm loại bỏ thao tác quét mã lặp lại.
  4. Tối ưu hóa hiệu năng tính toán biên (Edge Computing): Triển khai cơ chế xử lý đa tiến trình (Multi-processing) trên nền tảng Linux nhằm giảm thiểu độ trễ xử lý điểm danh dưới 3 giây/khách.

Phạm vi và giới hạn của đề tài

  • Đối tượng áp dụng: Các sự kiện tập trung đông người như đại nhạc hội, triển lãm công nghệ, hội nghị học thuật và hội thảo doanh nghiệp.
  • Phạm vi kỹ thuật: Tập trung vào quy trình xác thực danh tính tại cửa kiểm soát (Gate Access Control) và tự động hóa chu trình điểm danh. Khóa luận không đi sâu vào các cơ chế mã hóa chống giả mạo mã QR cấp độ quân sự hay hệ thống thanh toán điện tử tích hợp sâu.

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

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

Tiêu chí đánh giá Điểm danh thủ công (Giấy/Excel) Hệ thống quét QR tiêu chuẩn Giải pháp IoT QR + Face Recognition (Đề tài)
Thời gian xử lý/người 20 – 45 giây 3 – 5 giây 1 – 3 giây (lần đầu: 3s, tái vào: 1.2s)
Chi phí nhân sự vận hành Rất cao (1 nhân sự/lối) Trung bình (cần người quét) Thấp (Vận hành tự động hoàn toàn)
Khả năng chống gian lận vé Rất thấp Thấp (Dễ chia sẻ ảnh QR) Cao (Xác thực sinh trắc học khuôn mặt)
Trải nghiệm ra/vào nhiều lần Ùn tắc, phải kiểm tra lại vé Phải mở lại điện thoại quét Đi qua tự nhiên (Hands-free check-in)
Báo cáo dữ liệu thời gian thực Không thể (đối soát sau) Có (hỗ trợ trích xuất) Có (Đồng bộ cơ sở dữ liệu tức thời)

Theo mô hình phân loại yêu cầu MoSCoW:

  • Must Have: Module sinh mã QR theo chuẩn ISO/IEC 18004; Module đọc mã QR qua cảm biến CMOS; Module trích xuất khuôn mặt bằng Dlib/OpenCV; Cơ sở dữ liệu lưu trữ tập trung MySQL.
  • Should Have: Module gửi email tự động qua PHPMailer; Xử lý đa tiến trình (Multi-processing) trên CPU đa nhân; Màn hình cảm ứng LCD hiển thị giao diện chào mừng trực quan.
  • Could Have: Tích hợp phản hồi âm thanh qua loa Bluetooth JBL GO 2; Cảnh báo tự động khi phát hiện mã QR không hợp lệ.
  • Won't Have (Giai đoạn này): Nhận diện khuôn mặt 3D chống giả mạo bằng mặt nạ (Liveness Detection chuyên sâu); Kết nối relay mở barie cơ điện tự động.

Thiết kế hệ thống

Kiến trúc hệ thống được chia thành 3 phân hệ chính: Phân hệ Quản lý Web/Cơ sở dữ liệu, Phân hệ Phần cứng Kiosk IoT và Phân hệ Thị giác máy tính xử lý tại biên.

+-------------------------------------------------------------------------------+
|                             WEB & DATABASE SERVER                             |
|  [Registration Form] ---> [PHP 8.2 & PHPMailer] ---> [MySQL 8.0 Database]     |
|                                                              |                |
+--------------------------------------------------------------+----------------+
                                                               | TCP/IP Network
+--------------------------------------------------------------v----------------+
|                         IOT CHECK-IN KIOSK (RASPBERRY PI 4)                   |
|                                                                               |
|   +---------------------+   UART/USB   +----------------------------------+   |
|   | CMOS Barcode Engine | ------------>| Python Multi-Processing Core     |   |
|   +---------------------+              |  - Process 1: QR Parser & Auth   |   |
|                                        |  - Process 2: OpenCV/Dlib Vision |   |
|   +---------------------+   UVC/USB    |  - Process 3: UI & Audio Alert   |   |
|   | HD Webcam C270      | ------------>+----------------------------------+   |
|   +---------------------+                                | HDMI / I2C         |
|                                                          v                    |
|                                                [7.0" Capacitive LCD Display]  |
+-------------------------------------------------------------------------------+

Thông số kỹ thuật Technology Stack

  • Bộ xử lý trung tâm (SBC): Raspberry Pi 4 Model B (Broadcom BCM2711, Quad-core Cortex-A72 ARM v8 64-bit @ 1.5GHz, 4GB LPDDR4 RAM).
  • Cảm biến đọc mã: Module quét mã vạch 2D CMOS (Bước sóng ánh sáng 617nm, nguồn sáng LED 6500K, độ phân giải $\ge 0.1\text{ mm}$, dung sai ánh sáng môi trường $0 - 85{,}000\text{ LUX}$, giao tiếp UART/USB).
  • Cảm biến hình ảnh: Webcam Logitech C270 (Độ phân giải 720p/30fps, góc nhìn chéo dFoV $55^\circ$, tiêu cự cố định).
  • Thiết bị hiển thị: Màn hình cảm ứng điện dung 7.0 inch IPS (Độ phân giải $1024 \times 600$, chuẩn giao tiếp HDMI và USB Touch).
  • Ngôn ngữ & Thư viện: Python 3.9, OpenCV 4.5, Dlib C++ Toolkit, PHP 8.2, MySQL Server 8.0, phpMyAdmin.

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

CREATE TABLE `attendees` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `qr_id` VARCHAR(64) UNIQUE NOT NULL,
  `full_name` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `phone` VARCHAR(20) NOT NULL,
  `organization` VARCHAR(150),
  `face_encoding` BLOB NULL,
  `checkin_status` TINYINT(1) DEFAULT 0,
  `first_checkin_time` DATETIME NULL,
  `last_checkin_time` DATETIME NULL,
  `checkin_count` INT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Phương pháp nghiên cứu và phát triển

Dự án áp dụng mô hình phát triển phần mềm lặp từng bước (Iterative Prototyping) kết hợp phương pháp luận kỹ thuật phần cứng nhúng:

  1. Giai đoạn 1 (Hardware & QR Engine): Lắp ráp phần cứng thô, thiết kế module giải mã QR qua tập lệnh giao tiếp Serial/UART, kiểm tra tính toàn vẹn của mã sửa sai Reed-Solomon.
  2. Giai đoạn 2 (Computer Vision Integration): Nhúng mô hình HOG (Histogram of Oriented Gradients) và 68 Facial Landmarks để định vị khuôn mặt, trích xuất vector đặc trưng 128 chiều từ khung hình webcam.
  3. Giai đoạn 3 (System Consolidation & Enclosure Design): Đồng bộ luồng dữ liệu thông qua cơ chế Multi-processing, thiết kế và gia công bộ khung chứa bảo vệ thiết bị, kiểm thử toàn diện trong các môi trường chiếu sáng thực tế.

Implementation và kết quả

Quy trình phát triển (Development Process)

Trọng tâm của giai đoạn triển khai là kết nối luồng đăng ký trên Web với hệ thống xử lý tại trạm biên (Edge Kiosk). Khi khách mời điền thông tin, hệ thống tự động sinh chuỗi mã hóa và gửi vé mời qua thư viện PHPMailer.

// Trích xuất logic gửi vé mời kèm QR code qua giao thức SMTP
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);
try {
    $mail->isSMTP();
    $mail->Host       = 'smtp.gmail.com';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'event-system@uit.edu.vn';
    $mail->Password   = 'system_app_password';
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port       = 587;

    $mail->setFrom('event-system@uit.edu.vn', 'Ban To Chuc Su Kien');
    $mail->addAddress($attendee_email, $attendee_name);
    $mail->addAttachment($qr_image_path, 'Ticket_QRCode.png');

    $mail->isHTML(true);
    $mail->Subject = 'Thư mời tham dự sự kiện - Mã vé QR: ' . $qr_id;
    $mail->Body    = "Xin chào <b>{$attendee_name}</b>,<br>Đính kèm là mã QR điểm danh của bạn.";
    $mail->send();
} catch (Exception $e) {
    error_log("Email sending failed: " . $mail->ErrorInfo);
}

Tại thiết bị nhúng Raspberry Pi 4, chương trình chạy song song các tiến trình độc lập thông qua thư viện multiprocessing để đảm bảo camera không bị giật khung hình (frame drop) trong khi đang đọc mã QR hoặc truy vấn cơ sở dữ liệu.

# Trích đoạn giải thuật xử lý nhận diện và ghi nhận khuôn mặt lần đầu
import cv2
import dlib
import numpy as np

detector = dlib.get_frontal_face_detector()
sp = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
facerec = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat")

def enroll_face_from_frame(frame, qr_id, db_conn):
    rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    faces = detector(rgb_frame, 1)
    
    if len(faces) == 1:
        shape = sp(rgb_frame, faces[0])
        face_descriptor = facerec.compute_face_descriptor(rgb_frame, shape)
        vector_bytes = np.array(face_descriptor, dtype=np.float64).tobytes()
        
        cursor = db_conn.cursor()
        query = """UPDATE attendees 
                   SET face_encoding = %s, checkin_status = 1, 
                       first_checkin_time = NOW(), checkin_count = checkin_count + 1 
                   WHERE qr_id = %s"""
        cursor.execute(query, (vector_bytes, qr_id))
        db_conn.commit()
        return True
    return False
# Tính toán khoảng cách Euclidean giữa 2 vector đặc trưng 128 chiều
def verify_face(known_vector, candidate_vector, threshold=0.55):
    dist = np.linalg.norm(np.array(known_vector) - np.array(candidate_vector))
    return bool(dist < threshold), float(dist)

Độ phức tạp tính toán của thuật toán trích xuất đặc trưng khuôn mặt (ResNet-based) là $O(N \cdot M)$ với $N, M$ là kích thước ma trận tích chập. Việc tính khoảng cách Euclidean trên vector 128 chiều có độ phức tạp chỉ $O(D)$ với $D=128$, cho phép đối soát hàng trăm người tham dự trong thời gian vài mili-giây trên CPU ARM Cortex-A72.

Thử nghiệm và đánh giá hiệu năng (Testing & Validation)

Hệ thống được đưa vào thực nghiệm thực tế tại nhiều khung giờ và điều kiện chiếu sáng khác nhau nhằm kiểm tra độ bền vững của module quang học và thuật toán xử lý ảnh:

Kịch bản thực nghiệm Cường độ sáng (Lux) Thời gian quét QR (s) Độ chính xác nhận diện khuôn mặt (%) Nhận xét vận hành
Phòng thí nghiệm (Ban ngày) $350 - 500\text{ Lux}$ $0.35\text{ s}$ $98.6%$ Tốc độ bắt nét nhanh, hiển thị mượt mà.
Ngoài trời (12h45 - Nắng gắt) $65{,}000 - 82{,}000\text{ Lux}$ $0.62\text{ s}$ $91.2%$ Module CMOS hoạt động ổn định; khuôn mặt bị đổ bóng nhẹ.
Ngoài trời (17h00 - Chiều tà) $1{,}200 - 2{,}500\text{ Lux}$ $0.40\text{ s}$ $96.8%$ Nhận diện cân bằng, màu sắc tự nhiên.
Ngoài trời (21h00 - Ban đêm) $5 - 20\text{ Lux}$ $0.45\text{ s}$ $78.4%$ Cảm biến QR có đèn LED riêng nên đọc tốt; camera thiếu sáng.
[Hiệu năng xử lý chu trình điểm danh]
- Tốc độ đọc và giải mã QR: 0.35s – 0.62s
- Tốc độ trích xuất Vector khuôn mặt: 0.85s (Cortex-A72 @ 1.5GHz)
- Tốc độ truy vấn & đối soát MySQL: 0.08s
- Tổng thời gian hoàn tất quy trình: 1.28s – 1.55s

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

  • Hoàn thiện 100% các tính năng đăng ký trực tuyến, tự động sinh mã QR với thuật toán sửa lỗi Reed-Solomon mức H (phục hồi tới 30% dữ liệu khi mã bị hư hại).
  • Chế tạo thành công bộ khung chứa Kiosk nhỏ gọn, tích hợp toàn bộ bo mạch Raspberry Pi 4, module quét mã vạch và màn hình LCD, giảm hơn 60% diện tích chiếm dụng so với các quầy lễ tân cồng kềnh truyền thống.
  • Đạt độ chính xác nhận diện tổng thể $96.2%$ trong môi trường đủ sáng với thời gian xử lý trung bình toàn chu trình đạt $1.45\text{ giây/lượt}$, vượt chỉ tiêu thiết kế ban đầu (dưới 3 giây).

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

Các điểm cải tiến kỹ thuật nổi bật

  1. Cơ chế xác thực 2 pha (Two-Phase Hybrid Authentication): Khắc phục triệt để nhược điểm của các hệ thống điểm danh QR đơn thuần. Lần đầu tiên tham gia, người dùng quét mã QR để ghi danh và hệ thống tự động "học" (enroll) vector khuôn mặt 128 chiều. Từ các lần ra/vào tiếp theo trong sự kiện, người dùng chỉ cần bước qua camera mà không cần rút điện thoại, loại bỏ hoàn toàn hiện tượng ùn ứ tại cửa soát vé.
  2. Kiến trúc phân luồng bất đồng bộ trên phần cứng giá rẻ: Tối ưu hóa toàn diện trên vi xử lý ARM nhúng 4 nhân mà không cần bổ sung GPU rời đắt đỏ, giúp tiết kiệm chi phí sản xuất phần cứng hơn 70% so với các dòng máy tính công nghiệp (IPC).
So sánh cấu trúc phân luồng xử lý:
[Truyền thống]  Đọc QR ----> Chờ Camera ----> Ghi DB ----> Vẽ UI  (Tuần tự: ~3.8s)
[Khóa luận]     +-- Tiến trình 1: Serial QR Parser (Tức thời) ---+
                +-- Tiến trình 2: Dlib Face Embedder (Tối ưu) ---+-> Đồng thời: ~1.4s
                +-- Tiến trình 3: Tkinter GUI / Audio Engine ----+

So sánh với các giải pháp trên thị trường

Tiêu chí Giải pháp App di động (Mobile App Scanner) Kiosk Thế Giới Mã Vạch (Thương mại) Kiosk IoT UIT (Khóa luận)
Thiết bị yêu cầu Điện thoại thông minh cho từng nhân sự Máy tính PC + Đầu đọc để bàn + Máy in Bộ Kiosk nhúng All-in-One độc lập
Xác thực sinh trắc Không hỗ trợ Không hỗ trợ Hỗ trợ (Vector 128-d Dlib)
Chi phí đầu tư Thấp nhưng phát sinh chi phí nhân công Rất cao (> 25 triệu VNĐ/bàn) Tối ưu (~ 4.5 triệu VNĐ/bộ)
Khả năng di động Cao Thấp (Cồng kềnh, nhiều dây nối) Cao (Nhỏ gọn, cắm nguồn là chạy)

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

Kịch bản ứng dụng điển hình

  • Đại nhạc hội và Lễ hội văn hóa (10,000+ khán giả): Khách mua vé trực tuyến nhận mã QR qua email. Tại cổng chính, khách quét mã lần đầu qua Kiosk để kích hoạt vé và lưu nhận diện. Khi di chuyển giữa các khu vực ẩm thực, VIP zone hay nhà vệ sinh, hệ thống camera tự động xác thực danh tính mà không cần nhân viên soát vé đứng kiểm tra thủ công.
  • Hội thảo khoa học & Đại hội cổ đông: Ghi nhận chính xác thời gian tham dự của từng đại biểu, tự động hiển thị lời chào trang trọng trên màn hình LCD và xuất file danh sách báo cáo chuẩn xác cho ban tổ chức ngay sau khi kết thúc chương trình.
Mô hình triển khai phân tán nhiều cổng (Multi-Gate Network):
[Gate 1 Kiosk] --+
[Gate 2 Kiosk] --+---> [Local Network Switch] ---> [Central MySQL Database Server]
[Gate 3 Kiosk] --+                                       |
                                                         +---> [Real-time Analytics Dashboard]

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI Analysis)

  • Chi phí vật tư phần cứng:
    • Raspberry Pi 4 (4GB RAM): ~ 1,800,000 VNĐ
    • Module đọc mã 2D CMOS: ~ 750,000 VNĐ
    • Màn hình cảm ứng 7.0 inch HDMI: ~ 1,100,000 VNĐ
    • Webcam HD C270 & Phụ kiện vỏ hộp: ~ 850,000 VNĐ
    • Tổng chi phí phần cứng: ~ 4,500,000 VNĐ / trạm.
  • Hiệu quả thu hồi vốn (ROI): Một sự kiện 2,000 khách thông thường cần tối thiểu 6 nhân sự soát vé trong 2 ngày (chi phí khoảng 6,000,000 VNĐ). Việc triển khai 2 trạm Kiosk tự động giúp cắt giảm 70% nhân lực, mang lại khả năng hoàn vốn chỉ sau 2 đến 3 sự kiện quy mô vừa.

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

Hạn chế kỹ thuật hiện tại

  1. Hiệu năng nhận diện trong bóng tối: Do sử dụng webcam tiêu chuẩn không có cảm biến hồng ngoại (IR Sensor), tỷ lệ nhận diện khuôn mặt ban đêm giảm xuống còn $78.4%$ nếu thiếu nguồn sáng phụ trợ.
  2. Năng lực tính toán Deep Learning trên CPU: Việc xử lý các mạng nơ-ron tích chập (CNN) sâu trên vi xử lý ARM Cortex-A72 khiến nhiệt độ CPU tăng lên khoảng $65^\circ\text{C} - 72^\circ\text{C}$ khi hoạt động liên tục ở tần suất cao, cần bổ sung quạt tản nhiệt chủ động.

Kế hoạch nâng cấp và phát triển

graph TD
    A[Hệ thống hiện tại: Raspberry Pi 4 + Webcam HD] --> B[Nâng cấp Phần cứng]
    A --> C[Nâng cấp Thuật toán]
    A --> D[Tích hợp Cơ điện]
    
    B --> B1[Camera IR tích hợp LED trợ sáng ban đêm]
    B --> B2[Tích hợp Edge AI Accelerator: Google Coral / Hailo-8]
    
    C --> C1[Thuật toán Chống giả mạo Liveness Detection 3D]
    C --> C2[Mô hình FaceNet nén lượng tử hóa INT8]
    
    D --> D1[Giao tiếp Relay điều khiển Cổng Flap Barrier / Turnstile]

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

  • Sinh viên chuyên ngành Kỹ thuật Máy tính & IoT: Tiếp cận đồ án mẫu chuẩn mực về việc tích hợp trọn vẹn giữa phần cứng nhúng (SBC, GPIO, UART), giao thức truyền thông mạng và các thư viện xử lý ảnh hiện đại (OpenCV, Dlib).
  • Kỹ sư và Lập trình viên hệ thống nhúng: Nắm bắt phương pháp thiết kế phần mềm đa tiến trình (Multi-processing) trên Python để xử lý các tác vụ thị giác máy tính theo thời gian thực mà không làm nghẽn giao diện người dùng.
  • Doanh nghiệp và Công ty tổ chức sự kiện: Sở hữu giải pháp công nghệ tự động hóa khâu tiếp đón với chi phí đầu tư chỉ bằng 20% so với thiết bị ngoại nhập, nâng cao tính chuyên nghiệp và loại bỏ hoàn toàn gian lận vé.
  • Nhà nghiên cứu ứng dụng AI: Cơ sở dữ liệu và kết quả thực nghiệm là tài liệu tham khảo giá trị cho việc triển khai các mô hình Deep Learning nén lên biên mạng (Edge AI).

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

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

Hệ thống yêu cầu nguồn cấp chuẩn Type-C $5\text{V} - 3\text{A}$ ổn định, kết nối mạng nội bộ (LAN hoặc Wi-Fi 2.4/5GHz) để đồng bộ dữ liệu về máy chủ MySQL. Máy chủ web có thể chạy trên môi trường Linux/Windows hỗ trợ PHP 8.x và Apache/Nginx.

2. Hệ thống xử lý thế nào khi có nhiều Kiosk cùng hoạt động đồng thời?

Các trạm Kiosk IoT được kết nối theo mô hình Client-Server. Mỗi trạm gửi dữ liệu giao dịch về MySQL Server tập trung thông qua kết nối TCP/IP chuẩn. Nhờ cấu trúc chỉ mục (Indexing) trên trường qr_id, hệ thống có thể đáp ứng hàng chục trạm quét đồng thời mà không bị nghẽn cơ sở dữ liệu.

3. Nếu khách làm mất email chứa mã QR thì xử lý ra sao?

Khách mời chỉ cần cung cấp số điện thoại hoặc địa chỉ email đã đăng ký tại quầy kỹ thuật. Lễ tân có thể tra cứu trên trang quản trị phpMyAdmin/Web Admin và gửi lại mã tức thời qua hệ thống SMTP tự động.

4. Hệ thống có hoạt động được khi mất kết nối Internet không?

Có. Hệ thống có khả năng lưu trữ tạm thời danh sách vé trên bộ nhớ cục bộ (Local SQLite/JSON cache) của Raspberry Pi 4. Khi có kết nối Internet trở lại, tiến trình nền sẽ tự động đồng bộ (sync) dữ liệu điểm danh về máy chủ chính.

5. Chi phí bảo trì và độ bền phần cứng như thế nào?

Toàn bộ phần cứng sử dụng các linh kiện dạng module tiêu chuẩn công nghiệp (cảm biến CMOS tuổi thọ quét hàng triệu lần, màn hình LED tiêu thụ điện năng thấp). Chi phí bảo dưỡng hàng năm gần như bằng 0, ngoại trừ việc vệ sinh bề mặt kính quang học định kỳ.


Kết luận

Đề tài khóa luận tốt nghiệp "Thiết kế, thi công hệ thống điểm danh bằng mã QR" của tác giả Nguyễn Anh Kiệt đã hoàn thành xuất sắc các mục tiêu đề ra: từ việc xây dựng hệ thống phần mềm web phân phối vé tự động, thiết kế thi công phần cứng Kiosk IoT nhỏ gọn, đến việc giải quyết triệt để bài toán điểm danh ra/vào nhiều lần bằng thuật toán nhận diện khuôn mặt thông minh.

Sự kết hợp hài hòa giữa công nghệ IoT và thị giác máy tính không chỉ mang lại giá trị học thuật sâu sắc trong lĩnh vực Kỹ thuật Máy tính mà còn mở ra tiềm năng thương mại hóa rộng lớn cho thị trường quản lý sự kiện thông minh tại Việt Nam.