Giới thiệu dự án

Sự bùng nổ của nền kinh tế chia sẻ (Sharing Economy) đã thúc đẩy thị trường lưu trú ngắn hạn như Airbnb và Homestay tăng trưởng bình quân trên 18%/năm. Tuy nhiên, các mô hình lưu trú vừa và nhỏ tại Việt Nam đang đối mặt với bài toán tối ưu chi phí vận hành và an ninh phòng nghỉ. Phương thức quản lý truyền thống bộc lộ nhiều điểm nghẽn: giao nhận chìa khóa cơ tốn 20–45 phút cho mỗi lượt check-in/check-out, nguy cơ sao chép chìa khóa trái phép cao, lãng phí năng lượng khi khách rời phòng nhưng không tắt thiết bị (chiếm tới 25–35% tổng hóa đơn tiền điện), và thiếu hụt cơ chế tự động mở khóa thoát hiểm khi xảy ra sự cố cháy nổ.

Đề tài "Thiết kế và thi công hệ thống quản lý mô hình Airbnb, Homestay" giải quyết triệt để các hạn chế trên bằng giải pháp nhúng phân tán (Distributed Embedded Architecture) kết hợp nền tảng Internet of Things (IoT). Hệ thống đồng bộ hóa quá trình cấp quyền truy cập phòng tự động qua thẻ thông minh RFID (Radio Frequency Identification) Mifare Classic 1K 13.56 MHz, kết hợp bảng điều khiển cục bộ màn hình cảm ứng TFT LCD ILI9341 và Webserver nhúng trên vi điều khiển ESP32, cho phép quản lý đặt phòng, tính cước và giám sát trạng thái phụ tải theo thời gian thực.

+-----------------------------------------------------------------------------+
|                                HỆ THỐNG TỔNG THỂ                            |
+-----------------------------------------------------------------------------+
                                       │
        ┌──────────────────────────────┴──────────────────────────────┐
        ▼                                                             ▼
+────────────────---------------+                             +────────────────---------------+
|    TRẠM TRUNG TÂM / WEB       |                             |     ĐIỀU KHIỂN CỬA PHÒNG      |
|  ESP32 Dual-Core LX6 240MHz   |◄──────── UART Bus ─────────►|   Arduino Uno R3 (ATmega328P) |
|  - Webserver HTTP / REST API  |        (115200 bps)         |   - MFRC522 Slave (Phòng 1,2,3)|
|  - RC522 Master (Ghi thẻ)     |                             |   - Servo MG90S Lock Control  |
|  - Màn hình TFT 3.2" ILI9341  |                             |   - Cảm biến lửa YG1006 / ISR |
+────────────────---------------+                             +────────────────---------------+

Mục tiêu dự án

  1. Thiết kế phần cứng tối ưu chi phí: Xây dựng bo mạch điều khiển trung tâm kết hợp giữa MCU 8-bit ATmega328P và SoC 32-bit ESP32-WROOM-32 qua giao thức truyền thông UART đồng bộ, đảm bảo chi phí sản xuất linh kiện dưới 1.000.000 VNĐ cho cụm 3 phòng.
  2. Bảo mật phân tầng qua RFID Mifare Classic: Hiện thực hóa thuật toán xác thực mật mã đa tầng với Key A và Key B trên từng Sector bộ nhớ EEPROM của thẻ từ Mifare 13.56 MHz, chống sao chép UID tuyệt đối.
  3. Phát triển Webserver nhúng: Xây dựng máy chủ web cục bộ trên nền tảng ESP32, cung cấp giao diện trực quan cho khách hàng đặt phòng (tính toán chi phí, tạo mã phòng ngẫu nhiên) và bảng điều khiển (Admin Dashboard) cho chủ homestay giám sát thiết bị (đèn, quạt, cửa) mà không phụ thuộc vào hạ tầng đám mây (Cloud) bên thứ ba.
  4. Tích hợp cơ chế an toàn khẩn cấp: Xây dựng khối cảm biến lửa (Flame Sensor) với phản hồi thời gian thực ngắt cứng (Hardware Interrupt), tự động mở toàn bộ servo cửa và kích hoạt còi cảnh báo (Buzzer) trong thời gian đáp ứng dưới 100ms.
  5. Giao tiếp tại chỗ trực quan: Tích hợp màn hình TFT LCD 3.2 inch cảm ứng điện trở ILI9341 cho phép chủ nhà nhập mật mã quản trị, ghi đè thẻ phòng trực tiếp và mở khóa khẩn cấp bằng bàn phím số ảo.

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

  • Phạm vi triển khai: Mô hình phần cứng thu nhỏ quy mô 3 phòng độc lập, có đầy đủ khóa chốt servo, cảm biến an toàn và hệ thống giám sát phụ tải điện.
  • Giới hạn kỹ thuật: Webserver hoạt động trong mạng cục bộ (LAN/Wi-Fi Router) hoặc phát qua chế độ SoftAP/4G gateway; mật khẩu khẩn cấp cấu hình tĩnh trong firmware; chưa tích hợp nhận dạng giọng nói; cảm biến lửa quang học YG1006 có thể chịu ảnh hưởng nếu có nguồn bức xạ hồng ngoại mạnh trực tiếp chiếu vào.

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

Phân tích hiện trạng và khoảng trống công nghệ

Tiêu chí Chìa khóa cơ truyền thống Khóa thông minh thương mại (Tuya/Zigbee) Hệ thống đề xuất (ESP32 + Arduino RFID)
Chi phí đầu tư ban đầu Thấp (50.000 – 100.000 VNĐ/phòng) Rất cao (2.500.000 – 5.000.000 VNĐ/phòng) Tối ưu (~300.000 VNĐ/cụm phòng)
Bảo mật truy cập Kém (dễ đánh chìa, cạy khóa) Cao (Vân tay, App, Mã số) Rất cao (Mã hóa Key A/B Mifare Sector)
Quản lý tập trung Hoàn toàn thủ công Phụ thuộc Cloud Server & Internet Webserver nhúng độc lập tại biên (Edge)
Phí duy trì dịch vụ Không Thu phí Cloud hàng tháng/năm Hoàn toàn miễn phí (0 VNĐ)
Tích hợp an toàn PCCC Không có Tùy chọn mở rộng phức tạp Tự động nhả chốt khóa cứng tức thì

Phân tích yêu cầu theo mô hình MoSCoW

  • Must-Have (Bắt buộc): Xác thực thẻ Mifare RC522 mở cửa từng phòng; điều khiển góc quay Servo MG90S; giao tiếp UART liên MCU; cảm biến lửa YG1006 ngắt khẩn cấp; Webserver cấp phát quyền phòng.
  • Should-Have (Nên có): Giao diện cảm ứng TFT LCD ILI9341 nhập mã Master; bảng tính tiền tự động theo thời gian check-in/out trên Web; chuông buzzer phản hồi trạng thái.
  • Could-Have (Có thể có): Quản lý trạng thái đèn/quạt qua giao diện Web; thay đổi mã Master trực tiếp từ màn hình cảm ứng; hỗ trợ thanh toán QR Code tĩnh.
  • Won't-Have (Chưa thực hiện): Nhận diện khuôn mặt; điều khiển giọng nói AI; kết nối đám mây đa vùng (AWS/Firebase).

Thiết kế kiến trúc hệ thống

+------------------------------------------------------------------------------------+
|                               SƠ ĐỒ KHỐI PHẦN CỨNG                                 |
+------------------------------------------------------------------------------------+

  [ Nguồn 220VAC ] ───► [ Adapter 5V-3A DC ] ──┬──► [ Ổn áp AMS1117-3.3V ] ──► ESP32 / RC522
                                               └──► [ Rail 5V DC ] ─────────► Arduino / Servo / TFT

  ┌──────────────────────────────────────────────────────────────────────────────────┐
  │                               ESP32 MASTER NODE                                  │
  │  - Dual-Core Tensilica LX6 @ 240MHz                                              │
  │  - Webserver (Port 80) / SoftAP / Wi-Fi Station                                  │
  │  - SPI Bus 0 ──► RC522 Master (Ghi/Xóa dữ liệu Sector thẻ)                       │
  │  - Hardware UART2 (TX2: GPIO17, RX2: GPIO16) ──────────────────────────────┐     │
  └────────────────────────────────────────────────────────────────────────────┼─────┘
                                                                               │ UART Bus
  ┌────────────────────────────────────────────────────────────────────────────┼─────┐
  │                              ARDUINO UNO R3 SLAVE                          │     │
  │  - ATmega328P @ 16MHz                                                      │     │
  │  - Hardware Serial (Pin 0 RX, Pin 1 TX) ◄──────────────────────────────────┘     │
  │  - SPI Bus (D10: CS1, D9: CS2, D8: CS3) ──► 3x Module RC522 (Phòng 1, 2, 3)      │
  │  - PWM Pins (D3, D5, D6) ────────────────► 3x Servo MG90S (Chốt khóa cửa)       │
  │  - External Interrupt INT0 (Pin D2) ─────► Cảm biến lửa YG1006 (Ngắt mức thấp)  │
  │  - SPI Custom Bus (D8, D9, D10, D11, D13) ─► TFT LCD 3.2" ILI9341 + XPT2046     │
  └──────────────────────────────────────────────────────────────────────────────────┘

Công nghệ và Thư viện sử dụng

+-----------------------------------------------------------------------------+
|                            DANH MỤC CÔNG NGHỆ                               |
+-----------------------------------------------------------------------------+
| Phần cứng:                                                                  |
|   - Vi điều khiển trung tâm: Arduino Uno R3 (ATmega328P, 8-bit, 16MHz)       |
|   - Vi điều khiển truyền thông: ESP32-WROOM-32D (Tensilica LX6, 240MHz)     |
|   - Bộ đọc/ghi RFID: NXP RC522 (13.56 MHz, SPI Interface)                   |
|   - Màn hình hiển thị: 3.2" TFT LCD ILI9341 (320x240, SPI, Touch XPT2046)   |
|   - Động cơ chấp hành: Metal Gear Servo MG90S (Operating 4.8V-6V)           |
|   - Cảm biến phát hiện lửa: YG1006 / LM393 Dual Comparator                  |
+-----------------------------------------------------------------------------+
| Phần mềm & Thư viện:                                                        |
|   - Môi trường phát triển: Arduino IDE v2.2.1 / C/C++ Embedded              |
|   - Core vi điều khiển: ESP32 Arduino Core v2.0.14                          |
|   - Thư viện RFID: MFRC522 by GithubCommunity v1.4.10                       |
|   - Thư viện đồ họa: Adafruit_GFX v1.11.9 & Adafruit_ILI9341 v1.5.12        |
|   - Ngôn ngữ Frontend Webserver: HTML5, CSS3, Vanilla JavaScript (ES6)      |
+-----------------------------------------------------------------------------+

Cơ cấu tổ chức bộ nhớ và bảo mật thẻ Mifare Classic 1K

Thẻ Mifare Classic 1K có 1024 bytes EEPROM chia thành 16 Sectors (Sector 0 đến 15), mỗi Sector gồm 4 Blocks (16 bytes/Block).

  • Sector 0, Block 0: Chứa số chế tạo (Manufacturer Data) và UID 4-byte cố định, chống ghi đè.
  • Sector 1, Block 0-2 (Data Blocks): Dùng để lưu trữ chuỗi mã hóa phòng gồm 6 bytes mã định danh.
  • Sector 1, Block 3 (Sector Trailer): Chứa Key A (Byte 0–5), Access Bits (Byte 6–9), Key B (Byte 10–15).
+-----------------------------------------------------------------------------+
|                   CẤU TRÚC SECTOR TRAILER (SECTOR 1, BLOCK 3)               |
+-----------------------------------------------------------------------------+
|  Byte 0 .. Byte 5  |   Byte 6   |   Byte 7   |   Byte 8   |  Byte 9  | Byte 10 .. Byte 15 |
|     Key A (6B)     |   C1_3 C2_3 C3_3 ... (Access Bits)   | UserByte |     Key B (6B)     |
|   [0xFF 0xAA 0x11] |              [0x7F 0x07 0x88]        |  [0x69]  |   [0xEE 0x55 0x22] |
+-----------------------------------------------------------------------------+

Hệ thống cấu hình Access Bits [0x7F, 0x07, 0x88] nhằm khóa quyền đọc trực tiếp Key A; việc đọc/ghi Data Block bắt buộc phải vượt qua bước xác thực Crypto-1 với Key A hoặc Key B tương ứng.


Implementation và kết quả

Thuật toán xác thực và ghi dữ liệu thẻ RFID trên ESP32 Master

Đoạn mã dưới đây minh chứng quy trình xác thực Sector 1 bằng Key A mặc định, sau đó tiến hành ghi chuỗi mã phòng 6-byte và cập nhật khóa bảo mật Key A/Key B mới:

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN    5
#define RST_PIN   22

MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key keyA;

void setup() {
  Serial.begin(115200);
  SPI.begin();
  mfrc522.PCD_Init();
  // Khởi tạo Key A mặc định (0xFF 0xFF 0xFF 0xFF 0xFF 0xFF)
  for (byte i = 0; i < 6; i++) keyA.keyByte[i] = 0xFF;
}

bool writeRoomCodeToCard(byte sector, byte blockAddr, byte* roomCodeData) {
  // 1. Kiểm tra sự hiện diện của thẻ
  if (!mfrc522.PICC_IsNewCardPresent() || !mfrc522.PICC_ReadCardSerial()) {
    return false;
  }

  // 2. Xác thực Sector với Key A
  MFRC522::StatusCode status;
  status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, blockAddr, &keyA, &(mfrc522.uid));
  if (status != MFRC522::STATUS_OK) {
    Serial.print(F("Authentication failed: "));
    Serial.println(mfrc522.GetStatusCodeName(status));
    mfrc522.PICC_HaltA();
    mfrc522.PCD_StopCrypto1();
    return false;
  }

  // 3. Ghi 16 bytes dữ liệu phòng vào Data Block
  byte buffer[16] = {0};
  memcpy(buffer, roomCodeData, 6); // Ghi 6 byte mã định danh phòng
  
  status = mfrc522.MIFARE_Write(blockAddr, buffer, 16);
  if (status != MFRC522::STATUS_OK) {
    Serial.print(F("MIFARE_Write failed: "));
    Serial.println(mfrc522.GetStatusCodeName(status));
    mfrc522.PICC_HaltA();
    mfrc522.PCD_StopCrypto1();
    return false;
  }

  Serial.println(F("Ghi ma phong thanh cong!"));
  mfrc522.PICC_HaltA();
  mfrc522.PCD_StopCrypto1();
  return true;
}

Xử lý ngắt khẩn cấp an toàn PCCC và điều khiển Servo trên Arduino

Hệ thống sử dụng cơ chế ngắt ngoài (External Interrupt 0 trên chân D2 của ATmega328P) kết nối trực tiếp với ngõ ra Digital (D0) của IC LM393 trên cảm biến lửa YG1006. Khi có ngọn lửa bùng phát, mức điện áp lập tức rơi từ HIGH xuống LOW, kích hoạt trình phục vụ ngắt ISR_FireAlert:

#include <Servo.h>

Servo servoRoom1, servoRoom2, servoRoom3;
const byte FIRE_SENSOR_PIN = 2;
const byte BUZZER_PIN = 4;
volatile bool isEmergency = false;

void IRAM_ATTR ISR_FireAlert() {
  isEmergency = true;
}

void setup() {
  Serial.begin(115200);
  pinMode(FIRE_SENSOR_PIN, INPUT_PULLUP);
  pinMode(BUZZER_PIN, OUTPUT);
  
  servoRoom1.attach(3);
  servoRoom2.attach(5);
  servoRoom3.attach(6);

  // Gán ngắt phần cứng cạnh xuống (FALLING Edge)
  attachInterrupt(digitalPinToInterrupt(FIRE_SENSOR_PIN), ISR_FireAlert, FALLING);
}

void loop() {
  if (isEmergency) {
    // Kích hoạt toàn bộ chốt khóa mở góc 90 độ
    servoRoom1.write(90);
    servoRoom2.write(90);
    servoRoom3.write(90);
    
    // Bật còi báo động liên tục
    digitalWrite(BUZZER_PIN, HIGH);
    
    // Gửi cảnh báo khẩn cấp lên ESP32 Webserver qua UART
    Serial.println(F("ALERT:FIRE_DETECTED"));
    
    while (digitalRead(FIRE_SENSOR_PIN) == LOW) {
      // Duy trì trạng thái mở cửa đến khi dập tắt hoàn toàn
      delay(100);
    }
    
    digitalWrite(BUZZER_PIN, LOW);
    isEmergency = false;
  }
  // Các tác vụ quét thẻ định kỳ khác...
}

Giao thức gói tin truyền thông liên bo mạch UART

Giao tiếp giữa ESP32 và Arduino Uno được chuẩn hóa bằng định dạng khung truyền có kiểm tra mã checksum XOR:

+-----------+---------+-----------+--------------------+----------+----------+
| Header    | Command | Target ID | Payload (Data)     | Checksum | Tail     |
| (0xAA)    | (1 Byte)| (1 Byte)  | (6 Bytes Room Code)| (1 Byte) | (0x55)   |
+-----------+---------+-----------+--------------------+----------+----------+
  • CMD 0x01: Đồng bộ mã phòng mới cho Arduino Slave.
  • CMD 0x02: Yêu cầu mở cửa khẩn cấp toàn bộ phòng từ giao diện TFT LCD.
  • CMD 0x03: Trạng thái báo cháy từ Arduino gửi ngược lên ESP32 Webserver.

Kết quả đo kiểm và đánh giá thực nghiệm

Hệ thống đã trải qua quá trình chạy thử nghiệm liên tục trong 14 ngày (từ 04/12/2023 đến 17/12/2023) với hơn 500 lần chu kỳ đóng mở cửa và thao tác trên Webserver.

+-----------------------------------------------------------------------------+
|                      KẾT QUẢ ĐO KIỂM THỰC NGHIỆM                            |
+-----------------------------------------------------------------------------+
| Chỉ số kiểm thử                   | Tiêu chuẩn đặt ra | Kết quả thực tế     |
+-----------------------------------+-------------------+---------------------+
| Khoảng cách đọc thẻ RC522         | 20 - 50 mm        | 38.5 mm (Ổn định)   |
| Thời gian xác thực & mở Servo     | < 500 ms          | 218 ms              |
| Độ trễ ngắt báo cháy khẩn cấp     | < 200 ms          | 42 ms               |
| Tỷ lệ xác thực thẻ hợp lệ         | > 99.0%           | 99.6% (498/500 lần) |
| Tỷ lệ từ chối thẻ sai/lạ          | 100%              | 100% (200/200 lần)  |
| Thời gian phản hồi Web HTTP       | < 1000 ms         | 310 ms (Mạng LAN)   |
| Dòng tiêu thụ trạng thái chờ (5V) | < 300 mA          | 185 mA              |
| Dòng tiêu thụ đỉnh khi mở 3 servo | < 1500 mA         | 1120 mA             |
+-----------------------------------------------------------------------------+

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

Điểm mới về mặt giải pháp kỹ thuật

  1. Kiến trúc phân quyền lai (Hybrid Multi-MCU Master/Slave): Tách biệt hoàn toàn tầng kết nối mạng (Network Tier trên ESP32) và tầng chấp hành thời gian thực (Real-time Execution Tier trên ATmega328P). Thiết kế này giúp hệ thống không bao giờ bị treo cứng cơ chế khóa cửa hay ngắt báo cháy ngay cả khi ESP32 bị tấn công từ chối dịch vụ (DoS HTTP) hoặc nghẽn mạng Wi-Fi.
  2. Cơ chế cấp quyền thẻ động không cần kết nối Internet: Mật mã phòng được mã hóa trực tiếp vào các Block dữ liệu bảo mật của thẻ Mifare thông qua RC522 Master trên bàn tiếp tân/hộp keybox. Khi khách quét thẻ tại phòng, vi điều khiển Slave tự đối soát độc lập trong EEPROM nội, đảm bảo hệ thống vận hành trơn tru 100% khi mất mạng Internet diện rộng.
  3. Phần cứng tích hợp đa chức năng trên một diện tích nhỏ: Tận dụng màn hình TFT LCD SPI tích hợp chip điều khiển cảm ứng XPT2046 để thay thế hoàn toàn cụm bàn phím cơ ma trận 4x4 và màn hình ký tự LCD 1602 rời, giảm 40% diện tích chiếm dụng vỏ hộp và tăng tính thẩm mỹ.

So sánh định lượng với các giải pháp hiện hành

+-----------------------------------------------------------------------------+
|                     SO SÁNH CÁC CHỈ SỐ ĐỊNH LƯỢNG                           |
+-----------------------------------------------------------------------------+
| Thông số kỹ thuật         | Khóa thẻ từ truyền thống | Hệ thống IoT Smartlock | Đề tài nghiên cứu |
|                           | (Khách sạn T5577)        | (TTLock / Tuya Zigbee) | (ESP32 - Arduino) |
+---------------------------+--------------------------+------------------------+-------------------+
| Tần số hoạt động          | 125 KHz (LF)             | 13.56 MHz / Bluetooth  | 13.56 MHz (HF)    |
| Mã hóa dữ liệu bộ nhớ     | Không có (Dễ sao chép)   | AES-128 Bit (App)      | Crypto-1 Sector   |
| Độc lập mạng ngoài (LAN)  | Có                       | Không (Cần Gateway)    | 100% Độc lập      |
| Báo cháy liên động mở cửa | Không                    | Trễ qua Server Cloud   | Cứng (< 50ms)     |
| Chi phí phần cứng/phòng   | 1.200.000 VNĐ            | 2.800.000 VNĐ          | 320.000 VNĐ       |
| Khả năng tự chủ Firmware  | 0% (Đóng kín)            | 0% (Vendor lock-in)    | 100% Mã nguồn mở  |
+---------------------------+--------------------------+------------------------+-------------------+

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

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

  1. Khách hàng đặt phòng trực tuyến: Khách truy cập vào đường link Webserver của Homestay (được cung cấp qua mạng Wi-Fi hoặc Router 4G), chọn phòng số 1 trong 2 ngày, điền thông tin cá nhân và quét mã QR thanh toán. Hệ thống tự sinh mã bảo mật ngẫu nhiên (VD: 7A3F91) và lưu vào cơ sở dữ liệu RAM/SPIFFS của ESP32.
  2. Nhận phòng tự phục vụ (Self Check-in): Chủ nhà hoặc hộp lấy thẻ tự động chạm thẻ trắng vào module RC522 Master trên ESP32; hệ thống ghi mã 7A3F91 vào Sector 1 của thẻ. Khách nhận thẻ và quẹt vào phòng số 1; Arduino Slave so khớp mã đúng, quay Servo MG90S mở cửa 90 độ trong 5 giây rồi tự động đóng lại.
  3. Giám sát phụ tải & Tính cước: Chủ homestay truy cập giao diện /admin theo dõi trực quan trạng thái bật/tắt của hệ thống đèn chiếu sáng, quạt thông gió và thời gian lưu trú thực tế của từng phòng để xuất hóa đơn chính xác.
  4. Sự cố cháy nổ khẩn cấp: Cảm biến lửa YG1006 phát hiện nhiệt/quang, kích hoạt còi hú 85dB, đồng loạt kéo 3 chốt cửa phòng sang trạng thái mở và gửi cảnh báo đỏ lên màn hình Admin Web.
+-----------------------------------------------------------------------------+
|                      SƠ ĐỒ HẠ TẦNG TRIỂN KHAI THỰC TẾ                       |
+-----------------------------------------------------------------------------+

                                 ┌────────────────┐
                                 │ Khách hàng     │
                                 │ (Smartphone)   │
                                 └───────┬────────┘
                                         │ Wi-Fi / HTTP
                                         ▼
  ┌─────────────────────────────────────────────────────────────────────────┐
  │                   BỘ ĐIỀU KHIỂN TRUNG TÂM TẠI HOMESTAY                  │
  │                                                                         │
  │   [ Wi-Fi Router 4G ] ◄───► [ ESP32 Webserver & RC522 Master ]          │
  │                                      │                                  │
  │                                  UART Bus                               │
  │                                      │                                  │
  │   ┌──────────────────────────────────┴──────────────────────────────┐   │
  │   ▼                                  ▼                              ▼   │
  │ [Phòng 1: RC522 + Servo]   [Phòng 2: RC522 + Servo]   [Phòng 3: ...]    │
  └─────────────────────────────────────────────────────────────────────────┘

Dự toán chi phí và phân tích hiệu quả kinh tế (ROI)

Bảng tổng hợp chi phí linh kiện sản xuất một trạm quản lý cụm 3 phòng:

+-----------------------------------------------------------------------------+
|                         DỰ TOÁN CHI PHÍ PHẦN CỨNG                           |
+-----------------------------------------------------------------------------+
| STT | Tên linh kiện / Thiết bị                    | Số lượng | Thành tiền   |
+-----+---------------------------------------------+----------+--------------+
|  1  | Bo mạch Arduino Uno R3 (DIP ATmega328P)     | 01 cái   | 135.000 VNĐ  |
|  2  | Bo mạch ESP32 NodeMCU 38 chân               | 01 cái   | 115.000 VNĐ  |
|  3  | Màn hình TFT LCD 3.2 inch ILI9341 SPI Touch | 01 cái   | 210.000 VNĐ  |
|  4  | Module RFID-RC522 13.56MHz + Thẻ Mifare S50 | 04 bộ    | 140.000 VNĐ  |
|  5  | Động cơ Servo MG90S bánh răng kim loại      | 03 cái   | 105.000 VNĐ  |
|  6  | Mạch cảm biến lửa YG1006 (LM393)            | 01 cái   |  25.000 VNĐ  |
|  7  | Nguồn Adapter 5V-3A DC + Mạch hạ áp         | 01 bộ    |  65.000 VNĐ  |
|  8  | Bo mạch in PCB, cọc đồng, dây bẹ, Buzzer    | Trọn gói |  80.000 VNĐ  |
+-----+---------------------------------------------+----------+--------------+
|     | TỔNG CHI PHÍ PHẦN CỨNG                      |          | 875.000 VNĐ  |
+-----------------------------------------------------------------------------+
  • Thời gian hoàn vốn (ROI): Với chi phí 875.000 VNĐ cho cụm 3 phòng, so với chi phí thuê nhân sự trực tiếp tân bán thời gian (khoảng 3.000.000 VNĐ/tháng) hoặc lắp khóa thông minh thương mại (khoảng 9.000.000 VNĐ/3 phòng), hệ thống giúp chủ homestay thu hồi vốn đầu tư chỉ trong vòng 10–15 ngày vận hành đầu tiên.

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

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

  • Mật mã Master cố định: Chuỗi mật mã khẩn cấp trên màn hình TFT LCD (159753) hiện đang lưu trực tiếp trong bộ nhớ Flash của Arduino, chưa hỗ trợ đổi mã động qua Web UI.
  • Bảo mật tầng truyền tải: Giao tiếp Webserver cục bộ trên ESP32 hiện chạy giao thức HTTP thuần, chưa tích hợp chứng chỉ mã hóa SSL/TLS (HTTPS) do hạn chế tài nguyên xử lý mã hóa của ESP32 khi tải nặng.
  • Tiêu chuẩn mã hóa RFID: Thuật toán Crypto-1 của thẻ Mifare Classic 1K có lỗ hổng lý thuyết nếu bị hacker chuyên nghiệp sử dụng thiết bị chuyên dụng Proxmark3 tấn công dòng khóa (Nested Attack).

Hướng phát triển mở rộng

  1. Nâng cấp chuẩn thẻ RFID bảo mật cao: Chuyển đổi sang dòng thẻ Mifare DESFire EV2/EV3 hoặc Mifare Plus hỗ trợ mã hóa phần cứng chuẩn AES-128 bit.
  2. Tích hợp giao thức IoT chuẩn công nghiệp: Bổ sung giao thức MQTT kết nối về máy chủ Home Assistant cục bộ hoặc Broker đám mây (AWS IoT Core) để theo dõi dữ liệu đa điểm từ xa qua ứng dụng di động Flutter/React Native.
  3. Cơ chế nạp Firmware không dây (OTA): Tích hợp tính năng ESP32 ArduinoOTA cho phép cập nhật thuật toán và vá lỗi phần mềm từ xa qua Wi-Fi mà không cần can thiệp cáp nạp trực tiếp.
  4. Nâng cấp cảm biến nhiệt độ & khói kết hợp: Bổ sung cảm biến khói MQ-2 và cảm biến nhiệt độ số DHT22/DS18B20 để xây dựng thuật toán lọc nhiễu quang học (Fuzzy Logic), loại bỏ hoàn toàn báo động cháy giả.

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

  • Sinh viên ngành Kỹ thuật Điện tử - Viễn thông / IoT: Nguồn tài liệu tham khảo thực tế về phương pháp phân chia kiến trúc liên vi điều khiển (Master-Slave), giao thức truyền thông nối tiếp UART chống mất gói, và kỹ thuật lập trình giao tiếp chuẩn công nghiệp SPI cho RFID và màn hình đồ họa màu.
  • Kỹ sư nhúng & Nhà phát triển phần mềm: Mẫu thiết kế tham chiếu (Reference Design) hoàn chỉnh từ sơ đồ nguyên lý mạch, layout PCB đến mã nguồn C/C++ xử lý ngắt cứng an toàn và xây dựng máy chủ web tối ưu bộ nhớ SRAM trên vi điều khiển tài nguyên giới hạn.
  • Chủ cơ sở kinh doanh Airbnb, Homestay, Nhà trọ: Giải pháp số hóa vận hành tự động toàn diện với mức chi phí đầu tư giảm hơn 70% so với thị trường, triệt tiêu chi phí duy trì phần mềm hàng tháng, nâng cao độ an toàn phòng cháy chữa cháy và bảo vệ tài sản khách thuê.
  • Nhà nghiên cứu ứng dụng Smart Building: Cơ sở thực nghiệm về việc tối ưu hóa năng lượng tiêu thụ tại biên (Edge Computing) và đánh giá độ tin cậy của mạng cảm biến không dây trong môi trường nhà ở dân dụng.

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

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

Hệ thống yêu cầu nguồn điện lưới 220VAC cấp cho bộ chuyển đổi DC 5V/3A chuẩn ổn áp, 01 bộ phát Wi-Fi băng tần 2.4GHz (chuẩn 802.11b/g/n) hoặc Router 4G cắm SIM tại chỗ, và cửa phòng có kết cấu cơ khí tương thích với chốt gạt xoay của động cơ Servo MG90S hoặc khóa chốt thả từ điện từ (Solenoid Lock 12V qua mạch đệm Relay/MOSFET).

2. Khi mất kết nối mạng Wi-Fi hoặc Internet, khách có thể mở cửa phòng được không?

Khách hàng hoàn toàn mở cửa bình thường 100%. Toàn bộ dữ liệu mã phòng đã được ghi trực tiếp vào bộ nhớ EEPROM của thẻ Mifare và lưu trong bảng tra của vi điều khiển Arduino Slave. Quá trình đọc, giải mã và điều khiển servo diễn ra cục bộ bằng đường truyền SPI nội tuyến độc lập với mạng Internet.

3. Hệ thống xử lý thế nào khi xảy ra mất điện đột ngột?

Khi mất điện nguồn 220VAC, chốt servo giữ nguyên trạng thái cơ học trước đó. Để đảm bảo an toàn tuyệt đối, hệ thống khuyến nghị tích hợp thêm mạch sạc xả pin dự phòng UPS mini 18650 (5V-2A), duy trì hoạt động liên tục của toàn bộ hệ thống điều khiển và mạng Wi-Fi trong thời gian từ 4–6 giờ.

4. Chi phí bảo trì, bảo dưỡng định kỳ của hệ thống như thế nào?

Nhờ thiết kế phần cứng tối giản sử dụng các module công nghiệp phổ biến và động cơ bánh răng kim loại MG90S độ bền cao, hệ thống không tốn phí bản quyền phần mềm định kỳ. Chi phí bảo dưỡng chủ yếu là thay thế thẻ từ Mifare bị mất (khoảng 5.000 VNĐ/thẻ) và tra dầu mỡ cơ khí định kỳ 6 tháng/lần cho bản lề cửa.

5. Làm thế nào để mở rộng hệ thống từ 3 phòng lên 10 hoặc 20 phòng?

Để mở rộng quy mô, kiến trúc có thể chuyển đổi giao tiếp UART điểm-điểm sang mạng công nghiệp RS-485 (giao thức Modbus RTU) sử dụng IC MAX485. Khi đó, một ESP32 Master duy nhất có thể quản lý chuỗi lên đến 32 vi điều khiển Arduino Slave tương ứng với 32 phòng độc lập trên khoảng cách dây truyền tải lên tới 1200 mét.


Kết luận

Đồ án "Thiết kế và thi công hệ thống quản lý mô hình Airbnb, Homestay" của nhóm sinh viên Phan Vĩnh Triều Anh và Hồ Tôn Đạt (Khoa Điện – Điện Tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM) dưới sự hướng dẫn của ThS. Võ Đức Dũng là một công trình nghiên cứu ứng dụng có giá trị thực tiễn cao. Đề tài đã giải quyết trọn vẹn bài toán tự động hóa quy trình quản lý lưu trú thông qua sự kết hợp nhịp nhàng giữa công nghệ RFID Mifare tần số 13.56 MHz, vi điều khiển kép ESP32 - Arduino Uno R3 và nền tảng Webserver giám sát thời gian thực.

Với khả năng mở khóa nhanh (218ms), độ trễ ngắt khẩn cấp PCCC siêu ngắn (42ms) cùng tổng chi phí sản xuất phần cứng dưới 900.000 VNĐ cho 3 phòng, hệ thống mở ra hướng đi đầy tiềm năng cho các giải pháp nhà thông minh và khách sạn tự động hóa chi phí thấp tại Việt Nam.

Tài liệu tham khảo & Mã nguồn: Bạn có thể tham khảo chi tiết toàn bộ sơ đồ nguyên lý mạch Altium/Proteus, bản vẽ mạch in PCB và toàn bộ mã nguồn chương trình nhúng C++ tại phòng tư liệu Khoa Điện - Điện Tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (Mã lưu trữ: SKL012349).