Bối cảnh và vấn đề nghiên cứu

Trong xu hướng phát triển của ngành du lịch và dịch vụ lưu trú hiện đại, nhu cầu nghỉ dưỡng tại các không gian gần gũi, ấm cúng và tiết kiệm chi phí ngày càng gia tăng. Sự kết hợp giữa mô hình homestay (lưu trú tại nhà dân bản địa) và nền tảng kinh tế chia sẻ Airbnb (kết nối trực tuyến giữa chủ nhà và khách thuê) đã mở ra hình thức kinh doanh lưu trú linh hoạt. Tuy nhiên, việc vận hành các cơ sở lưu trú quy mô nhỏ đang đối mặt với những thách thức đáng kể về an toàn an ninh, bảo mật thông tin khách hàng, kiểm soát vào/ra và quản lý tiêu thụ điện năng. Việc sử dụng chìa khóa cơ truyền thống tiềm ẩn nguy cơ sao chép chìa, thất lạc hoặc xâm nhập trái phép, trong khi việc bàn giao và thu hồi chìa trực tiếp làm giảm tính linh hoạt của quy trình tự nhận phòng (self check-in).

Xuất phát từ thực tế đó, khóa luận tốt nghiệp ngành Công nghệ Kỹ thuật Điện tử - Viễn thông tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã lựa chọn đề tài: "Thiết kế và thi công hệ thống quản lý mô hình AIRBNB, HOMESTAY".

Nghiên cứu tập trung giải quyết mục tiêu tổng quát là thiết kế và thi công hoàn chỉnh mô hình hệ thống quản lý và điều khiển thiết bị thông qua kết nối mạng không dây (Wi-Fi), cho phép giám sát trạng thái qua nền tảng web, điều khiển khóa cửa phòng tự động bằng thẻ từ RFID phân quyền (khách và chủ), quản lý thời gian nhận/trả phòng, tính toán chi phí, cảnh báo sự cố hỏa hoạn và trang bị bàn phím cảm ứng để xử lý tình huống khẩn cấp.

Nhiệm vụ nghiên cứu được xác định và thực hiện theo 9 nội dung:

  1. Kết nối vi điều khiển Arduino với các module ngoại vi (đầu đọc RFID, cảm biến báo cháy, màn hình TFT LCD, động cơ servo).
  2. Kết nối module ESP32 với mạng Internet để cập nhật và đồng bộ dữ liệu.
  3. Thiết lập giao tiếp nối tiếp UART giữa bo mạch Arduino và ESP32.
  4. Nghiên cứu và xây dựng Webserver phục vụ công tác giám sát, quản lý hệ thống.
  5. Thiết kế mô hình phần cứng hệ thống (mô hình 3 phòng homestay thu nhỏ).
  6. Nghiên cứu lập trình cập nhật dữ liệu trạng thái liên tục lên Webserver.
  7. Thi công phần cứng mạch in (PCB), lắp ráp linh kiện, chạy thử nghiệm và hiệu chỉnh hệ thống.
  8. Soạn thảo và hoàn thiện báo cáo khóa luận tốt nghiệp.
  9. Bảo vệ khóa luận tốt nghiệp trước hội đồng chuyên môn.
  • Đối tượng nghiên cứu: Hệ thống nhúng và IoT tích hợp vi điều khiển (Arduino Uno R3, ESP32), công nghệ nhận dạng qua sóng vô tuyến (RFID HF 13.56 MHz), cảm biến quang nhiệt phát hiện lửa, màn hình cảm ứng điện trở TFT LCD và hệ thống giao diện Webserver.
  • Phạm vi nghiên cứu:
    • Không gian: Thử nghiệm trên mô hình thu nhỏ gồm 3 phòng lưu trú mô phỏng homestay/Airbnb độc lập.
    • Thời gian: Đề tài được giao ngày 11/09/2023, nộp báo cáo ngày 30/12/2023 và hoàn thành bảo vệ vào tháng 01/2024.

Bảng so sánh đặc điểm giữa hai mô hình lưu trú được tác giả tổng hợp làm cơ sở tiếp cận:

Tiêu chí Mô hình Airbnb Mô hình Homestay truyền thống
Đối tượng chỗ ở Cung cấp phạm vi rộng (căn hộ, nhà riêng, phòng trọ) Phòng trọ hoặc phòng trống trong nhà riêng của người dân
Trải nghiệm lưu trú Tương tự khách sạn, đề cao tính tiện nghi Gần gũi với phong cách sống của người dân bản địa
Mức chi phí Thường cao hơn do bao gồm phí dịch vụ và độ bảo mật Thấp hơn do không qua nhiều khâu trung gian
Phương thức đặt phòng Trực tuyến nhanh chóng qua ứng dụng di động/web Đặt trực tiếp hoặc thông qua liên hệ cá nhân
Hỗ trợ dịch vụ Hỗ trợ hệ thống 24/7 Tùy thuộc vào thỏa thuận với chủ nhà
Độ an toàn, bảo mật Hệ thống định danh người dùng và chủ nhà chặt chẽ Kiểm tra thủ công thông tin cá nhân tại chỗ
Kênh trung gian Nền tảng web/app giao tiếp trung gian Liên lạc trực tiếp giữa khách và chủ nhà
Phạm vi hoạt động Cung cấp địa điểm lưu trú trên toàn thế giới Thường giới hạn trong phạm vi địa phương/nội địa

Cơ sở lý thuyết và phương pháp

Khóa luận được xây dựng dựa trên sự kết hợp giữa lý thuyết vi xử lý, kỹ thuật truyền thông số, công nghệ nhận dạng vô tuyến và công nghệ mạng máy tính.

Hệ thống sử dụng các nền tảng và chuẩn kỹ thuật sau:

  • Cấu trúc bộ nhớ và cơ chế bảo mật thẻ Mifare Classic 1K: Thẻ hoạt động ở tần số HF 13.56 MHz, dung lượng EEPROM 1 KByte phân bổ thành 16 Sector (đánh số từ 0 đến 15). Mỗi Sector gồm 4 Block (từ Block 0 đến Block 3), mỗi Block có độ dài 16 Byte. Sector 0 là vùng đặc biệt chứa Manufacturer Block lưu mã số định danh duy nhất (UID) do nhà sản xuất quy định, không được phép ghi đè. Từ Sector 1 đến Sector 15, Block thứ 4 của mỗi Sector là Trailer Block, chứa hai khóa xác thực có thể lập trình là Key A (Byte 0 đến 5) và Key B (Byte 10 đến 15), cùng các bit quy định quyền truy xuất Access Bits (Byte 6 đến 9). Tác giả khai thác cơ chế xác thực kép qua Key A/Key B kết hợp thay đổi mã phòng (mã hóa 6 byte) ghi vào thẻ nhằm ngăn chặn việc đọc trộm và sao chép trái phép.
  • Chuẩn giao tiếp phần cứng:
    • UART (Universal Asynchronous Receiver/Transmitter): Giao thức truyền thông nối tiếp không đồng bộ 2 dây (TX, RX), truyền dữ liệu song song từ thanh ghi chuyển thành chuỗi bit nối tiếp với tốc độ baud rate định sẵn (9600 đến 115200 bps), đóng vai trò cầu nối dữ liệu hai chiều giữa Arduino và ESP32.
    • SPI (Serial Peripheral Interface): Giao thức truyền thông đồng bộ 4 dây (MOSI, MISO, SCK, SS/CS) ở chế độ Master-Slave, tốc độ truyền dẫn đạt tới 10 Mbit/s, dùng để kết nối vi điều khiển với các module RFID-RC522 và điều khiển màn hình TFT LCD ILI9341.
  • Phương pháp nghiên cứu thực nghiệm và thiết kế kỹ thuật:
    • Phương pháp thiết kế mạch và tích hợp hệ thống: Phân tích yêu cầu chức năng, thiết kế sơ đồ nguyên lý mạch điện tử trên phần mềm Proteus, thiết kế và thi công mạch in (PCB) cho bo mạch chính của hệ thống.
    • Phương pháp thực nghiệm kiểm thử: Lắp ráp mô hình vật lý 3 phòng homestay, nạp mã nguồn viết bằng ngôn ngữ C/C++ trên nền tảng Arduino IDE cho vi điều khiển; xây dựng mã nguồn Webserver lưu trữ trên ESP32 sử dụng HTML và JavaScript; tiến hành đo đạc tín hiệu, kiểm thử các kịch bản quét thẻ, nhập mã số khẩn cấp trên màn hình LCD TFT, kích hoạt cảm biến lửa và đo lường khả năng cập nhật trạng thái trên giao diện web.

Dữ liệu của nghiên cứu là các thông số kỹ thuật thực nghiệm đo từ phần cứng, sơ đồ chân kết nối, kết quả thực thi các thuật toán quản lý khóa thẻ và nhật ký truyền nhận tín hiệu giữa Arduino, ESP32 và Webserver.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo cấu trúc module hóa gồm hai phần chính: phần cứng mô hình nhúng và phần mềm quản lý Webserver.

       [Màn hình TFT LCD] (SPI) <---> [Arduino Uno R3 (TFT)]
                                              | (UART)
                                              v
[Webserver (HTML/JS)] <--- (Wi-Fi) ---> [ESP32 Master] <---> [RFID-RC522 Master]
                                              | (UART)
                                              v
[Báo cháy YG1006] ---> [Arduino Uno R3 (RFID Slave)] ---> [3x Servo MG90s (Cửa)]
                                  | (SPI)
                                  v
                        [3x RFID-RC522 (3 Phòng)]

Kiến trúc phần cứng và lựa chọn linh kiện

Hệ thống phần cứng bao gồm các khối chức năng chính với thông số kỹ thuật được xác định chi tiết:

Khối chức năng Linh kiện sử dụng Thông số kỹ thuật chính Vai trò trong hệ thống
Xử lý trung tâm Bo mạch Arduino Uno R3 Vi điều khiển ATmega328P 8-bit, 16 MHz, 5V DC, 32 KB Flash, 2 KB SRAM, 1 KB EEPROM, 14 chân Digital I/O (6 chân PWM), 6 chân Analog Xử lý tọa độ cảm ứng từ LCD, so khớp mã thẻ RFID, điều khiển góc quay động cơ servo và còi báo
Thu phát Wi-Fi & Xử lý mạng Kit NodeMCU ESP32 Vi xử lý Xtensa Dual-Core LX6 (160 - 240 MHz), RAM 520 KB SRAM, Wi-Fi 802.11 b/g/n, BLE, 34 chân GPIO, hỗ trợ các chế độ AP/STA/AP+STA Khởi tạo Webserver, giao tiếp mạng qua router/4G, đồng bộ dữ liệu giám sát phòng và điều khiển mã thẻ master
Đọc/ghi thẻ RFID Module RFID-RC522 IC MFRC522, tần số 13.56 MHz, nguồn 3.3V DC (13-26 mA), khoảng cách quét 0-60 mm, hỗ trợ thẻ Mifare Classic 1K Gồm 1 đầu đọc Master (nối ESP32) để ghi mã phòng vào thẻ và các đầu đọc Slave (nối Arduino) tại cửa từng phòng
Hiển thị & Nhập liệu Màn hình TFT LCD 3.2 inch Driver ILI9341, giao tiếp SPI, độ phân giải 320 x 240 pixels, 65.536 màu, cảm ứng điện trở Hiển thị giao diện nhập mật mã số, tiếp nhận lệnh phân quyền từ chủ nhà thay thế bàn phím cứng
Cảm biến an toàn Cảm biến lửa Flame Sensor Đầu thu quang YG1006, tích hợp IC so sánh LM393, bước sóng nhận diện 760 - 1100 nm, góc quét 60°, khoảng cách 80 cm Phát hiện bức xạ hồng ngoại từ ngọn lửa, xuất tín hiệu Digital (DO) và Analog (AO) báo sự cố cháy
Cơ cấu chấp hành Động cơ RC Servo MG90s Bánh răng kim loại, điện áp hoạt động 4.8 - 6V DC, lực kéo 1.8 kg.cm (tại 6V), tốc độ 0.08 s/60° Đóng/mở chốt cửa tự động của từng phòng khi có lệnh xác thực thành công hoặc khi xảy ra hỏa hoạn

Kết nối phần cứng và nguyên lý hoạt động

Sơ đồ nối dây giữa các khối được triển khai cụ thể:

  • Màn hình LCD TFT kết nối với bo mạch Arduino TFT qua giao tiếp SPI: chân RST nối chân 8, RS nối chân 9, CS nối chân 10, SDI (MOSI) nối chân 11, SCK nối chân 13. Nguồn cấp cho màn hình sử dụng adapter độc lập.
  • Cảm biến lửa YG1006: chân D0 đưa vào chân IO2 của Arduino Uno để xử lý ngắt mở toàn bộ cửa phòng và kích hoạt còi buzzer; chân A0 đưa về chân D4 của ESP32 để truyền tín hiệu cảnh báo hỏa hoạn lên giao diện giám sát Webserver.
  • Động cơ Servo MG90s điều khiển khóa cửa nhận tín hiệu xung PWM từ chân số 3 của Arduino Uno, sử dụng nguồn nuôi 5V từ bộ chuyển đổi adapter.
  • Bo mạch chính kết nối các đường truyền dữ liệu nối tiếp UART giữa Arduino và ESP32 phục vụ cơ chế truyền nhận dữ liệu định kỳ.

Cơ chế hoạt động của thuật toán quản lý khóa

Quy trình quản lý phòng và cấp quyền thẻ được tổ chức theo mô hình Master - Slave:

  1. Cấp thẻ phòng mới (Trạng thái "0"): Chủ nhà nhập số 0 trên bàn phím màn hình TFT LCD và nhấn phím # để xác nhận. Lệnh được truyền sang ESP32. ESP32 điều khiển module RC522 Master thực hiện ghi chuỗi mã phòng 6 byte vào bộ nhớ EEPROM của thẻ Mifare. Đồng thời, mã này được lưu vào bộ nhớ của Arduino phụ trách cửa phòng tương ứng.
  2. Cấp thẻ quản lý tổng (Trạng thái "1"): Chủ nhà nhập số 1 và nhấn #. Hệ thống ghi mã định danh đặc biệt vào thẻ Mifare, cho phép thẻ này mở được đồng thời cả 3 phòng.
  3. Xóa quyền thẻ (Trạng thái "2"): Chủ nhà nhập số 2 và nhấn #. Hệ thống sẽ ghi đè chuỗi dữ liệu rác hoặc xóa khóa định danh tương ứng của phòng 1, phòng 2 hoặc phòng 3 trên bộ nhớ.
  4. Mở cửa khẩn cấp (Mã "159753"): Trong trường hợp xảy ra sự cố cần mở toàn bộ cửa mà không dùng thẻ, chủ nhà nhập trực tiếp mã số 159753 trên màn hình cảm ứng TFT LCD. Hệ thống lập tức kích hoạt cả 3 động cơ servo quay góc mở cửa.

Thiết kế Webserver

Webserver lưu trữ trong bộ nhớ Flash của ESP32, cung cấp hai giao diện người dùng chính:

  • Giao diện đặt phòng (Dành cho khách hàng): Khách truy cập địa chỉ IP của hệ thống qua trình duyệt; hiển thị danh sách phòng và bảng giá niêm yết; cung cấp form nhập thông tin cá nhân (họ tên, số điện thoại, email, thời gian nhận/trả phòng); hỗ trợ phương thức tạo mã QR thanh toán tiền phòng. Dữ liệu đăng ký được chuyển tiếp về cơ sở dữ liệu của hệ thống quản lý.
  • Giao diện giám sát thiết bị và Admin (Dành cho chủ nhà): Hiển thị trực quan trạng thái vận hành của từng phòng (phòng đang có khách thuê hay phòng trống); trạng thái thiết bị điện tiêu thụ (theo dõi bật/tắt đèn, quạt của 3 phòng thông qua công tắc mô phỏng); trạng thái đóng/mở của cửa; thông báo pop-up cảnh báo nguy hiểm khi cảm biến lửa phát hiện có đám cháy; bảng tính toán tổng tiền thanh toán theo thời gian lưu trú.

Nội dung chính theo từng chương

CHƯƠNG 1: TỔNG QUAN

Chương 1 trình bày tính cấp thiết của đề tài xuất phát từ sự bùng nổ của mô hình lưu trú du lịch homestay và Airbnb. Tác giả phân tích các hạn chế của phương thức quản lý truyền thống, từ đó xác lập mục tiêu thiết kế một hệ thống tích hợp công nghệ IoT và thẻ từ RFID.

Chương này công bố bảng đối chiếu chi tiết giữa Airbnb và Homestay trên 8 khía cạnh hoạt động; tổng quan các công trình nghiên cứu trong nước liên quan như hệ thống điều khiển nhà thông minh của Trần Minh Luân, Lâm Thành Đạt (2018), thiết bị khóa cửa bảo mật RFID của Bùi Đình Cường và cộng sự (2017), cùng phần mềm quản lý khách sạn của Xaipanya Phoutsady (2019). Tác giả xác định 9 nội dung nghiên cứu cần hoàn thành và công bố 4 giới hạn kỹ thuật của hệ thống thực nghiệm.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Chương 2 cung cấp cơ sở kỹ thuật chi tiết của các công nghệ phần cứng và ngôn ngữ lập trình được ứng dụng. Tác giả phân tích đặc tính của ngôn ngữ C/C++ dùng cho vi điều khiển, ngôn ngữ đánh dấu siêu văn bản HTML và ngôn ngữ kịch bản JavaScript dùng cho Webserver.

Về phần cứng, chương này cung cấp 11 bảng thông số kỹ thuật và sơ đồ chân chi tiết của:

  • Bo mạch Arduino Uno R3 (vi điều khiển ATmega328 họ 8-bit, 16 MHz, 14 chân Digital, 6 chân Analog).
  • Kit vi điều khiển ESP32 (chip Xtensa LX6 hai nhân, SRAM 520 KB).
  • Module RFID-RC522 (tần số 13.56 MHz, giao tiếp SPI, tốc độ 10 Mbit/s, khoảng cách nhận diện 0 - 60 mm).
  • Cấu trúc bộ nhớ EEPROM thẻ Mifare Classic 1K (16 Sector, 4 Block/Sector, cấu trúc Sector Trailer chứa Key A, Key B và Access Bits).
  • Màn hình cảm ứng TFT LCD 3.2 inch (độ phân giải 320 x 240, driver điều khiển ILI9341).
  • Cảm biến phát hiện lửa YG1006 (bước sóng 760 - 1100 nm, góc nhận 60 độ).
  • Động cơ Servo MG90s (nhông kim loại, góc quay điều khiển qua xung PWM).

Chương 2 kết thúc bằng việc phân tích nguyên lý, ưu nhược điểm của hai chuẩn truyền thông nối tiếp UART và SPI.

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

Chương 3 chi tiết hóa sơ đồ khối tổng thể của hệ thống, bao gồm 6 khối chức năng: Khối xử lý trung tâm (phân tách thành hai bộ xử lý Arduino TFT LCD và Arduino RFID), Khối hiển thị (LCD TFT), Khối cảm biến (LM393 và quang trở hồng ngoại), Khối RFID (RC522 Master và các RC522 Slave), Khối động cơ Servo và Khối thu phát Wi-Fi (ESP32).

Tác giả thuyết minh nguyên lý tương tác giữa các khối, sơ đồ nối dây chi tiết giữa vi điều khiển với các chân tín hiệu của màn hình TFT, cảm biến lửa, servo và đầu đọc RFID. Đồng thời, chương này xác định yêu cầu thiết kế giao diện Webserver, kịch bản tạo mã ngẫu nhiên cho thẻ phòng và cơ chế phản hồi tín hiệu khi phát hiện hỏa hoạn.

CHƯƠNG 4: THI CÔNG HỆ THỐNG

Chương 4 mô tả quy trình hiện thực hóa mô hình từ sơ đồ nguyên lý đến phần cứng thực tế. Tác giả trình bày sơ đồ thiết kế bo mạch in (PCB) được xuất từ phần mềm Proteus, danh mục chuẩn bị linh kiện, quá trình gia công hàn lắp các khối Arduino, ESP32, module RFID, màn hình và cảm biến lên mô hình nhà 3 phòng.

Về mặt phần mềm, chương này xây dựng 10 lưu đồ giải thuật điều khiển hệ thống, bao gồm:

  • Lưu đồ quét thẻ mở cửa phòng.
  • Lưu đồ xử lý giao diện chạm trên Arduino TFT LCD.
  • Lưu đồ xử lý chuỗi mật mã khẩn cấp "159753".
  • Lưu đồ trạng thái thêm thẻ số "0".
  • Lưu đồ trạng thái thẻ mở 3 phòng số "1".
  • Lưu đồ trạng thái xóa thẻ số "2".
  • Lưu đồ truyền nhận dữ liệu giữa ESP32 và Webserver.
  • Lưu đồ giám sát trạng thái thiết bị điện.
  • Lưu đồ giải thuật tính toán tiền phòng.
  • Bản vẽ giao diện hiển thị trên TFT LCD và các trang giao diện Webserver.

CHƯƠNG 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

Chương 5 công bố kết quả thử nghiệm thực tế của toàn bộ hệ thống qua 29 hình ảnh minh chứng chụp từ mô hình hoạt động.

  • Khối Arduino TFT LCD: Tiếp nhận chính xác tọa độ cảm ứng khi người dùng nhập mật khẩu số trên màn hình; nhận diện chuẩn xác phím xác nhận #.
  • Khối RFID và ESP32: Ghi thành công mã phòng vào thẻ Mifare thông qua đầu đọc RC522 Master; các đầu đọc RC522 Slave tại 3 cửa phòng đọc đúng dữ liệu, điều khiển servo gạt chốt mở cửa tương ứng; thẻ chủ (mã "1") mở được cả 3 phòng; thực hiện xóa bỏ mã thành công khi kích hoạt trạng thái "2".
  • Khối cảm biến cháy: Khi có ngọn lửa xuất hiện trong phạm vi quét của cảm biến YG1006, còi buzzer phát âm thanh cảnh báo, servo tự động mở toàn bộ 3 cửa phòng và giao diện web hiển thị thông báo nguy hiểm hỏa hoạn.
  • Khối giám sát và Webserver: Giao diện web vận hành ổn định trên mạng nội bộ, hiển thị chính xác trạng thái tắt/bật đèn và quạt của từng phòng, tính tiền chính xác theo biểu phí và cung cấp biểu mẫu đặt phòng trực quan kèm mã QR.

Chương này cũng đính kèm bảng dự toán chi phí thực hiện toàn bộ đề tài, đồng thời rút ra các kết luận kỹ thuật và đề xuất hướng phát triển tiếp theo.

Kết quả và đóng góp

Kết quả kỹ thuật đạt được

Nghiên cứu đã chế tạo thành công một mô hình phần cứng hoàn chỉnh mô phỏng 3 phòng homestay/Airbnb có khả năng kết nối mạng không dây và điều khiển phân quyền:

  • Tích hợp thành công cơ chế Master - Slave trên nền tảng RFID 13.56 MHz, cho phép ghi và thay đổi trực tiếp mã phòng 6 byte vào Trailer Block của thẻ Mifare Classic 1K, vô hiệu hóa nguy cơ trùng lặp UID hoặc sao chép mã trái phép.
  • Triển khai thành công 4 chế độ vận hành qua màn hình cảm ứng TFT LCD 3.2 inch dùng driver ILI9341: chế độ nạp thẻ phòng mới (nhập "0#"), chế độ nạp thẻ vạn năng mở 3 phòng (nhập "1#"), chế độ xóa thẻ phòng (nhập "2#") và chế độ mở cửa thoát hiểm khẩn cấp (nhập "159753#").
  • Cảm biến lửa YG1006 với mạch so sánh LM393 nhận diện chính xác ngọn lửa trong góc quét 60 độ và cự ly hoạt động tới 80 cm, kích hoạt cơ chế mở cửa tự động và phát cảnh báo đồng thời qua còi buzzer và giao diện Webserver.
  • Xây dựng Webserver nhúng trên ESP32 hỗ trợ khách hàng đặt phòng trực tuyến, tự động tính toán chi phí lưu trú, tạo mã QR thanh toán và cho phép chủ cơ sở giám sát trạng thái thiết bị điện (đèn, quạt) cùng trạng thái khóa cửa theo thời gian thực.

Bảng tổng hợp chi phí thi công mô hình phần cứng được trích xuất từ bảng dự toán của đề tài:

STT Tên thiết bị / Linh kiện Số lượng Đơn vị Ghi chú
1 Bo mạch Arduino Uno R3 2 Bo Khối TFT LCD và Khối RFID Slave
2 Kit thu phát Wi-Fi ESP32 NodeMCU 1 Bo Khối trung tâm Webserver & RFID Master
3 Màn hình cảm ứng TFT LCD 3.2 inch ILI9341 1 Bộ Kèm bút cảm ứng điện trở
4 Module đọc/ghi RFID-RC522 (13.56 MHz) 4 Module 1 Master và 3 Slave cho 3 phòng
5 Thẻ từ Mifare Classic 1K (S50) 5 Thẻ Thẻ phòng và thẻ quản lý Master
6 Động cơ Servo MG90s (nhông kim loại) 3 Con Cơ cấu đóng mở cửa 3 phòng
7 Mạch cảm biến lửa YG1006 tích hợp LM393 1 Module Khối cảm biến an toàn
8 Còi chíp báo động (Buzzer 5V) 1 Cái Báo động cháy và phản hồi quẹt thẻ
9 Công tắc gạt, đèn LED, quạt mô phỏng 1 Gói Mô phỏng thiết bị điện tiêu thụ 3 phòng
10 Bo mạch in PCB, dây bus nối, nguồn adapter 5V 1 Hệ Khung mô hình và cấp nguồn hệ thống

Đóng góp kỹ thuật của đề tài

So với các đề tài khóa cửa thẻ từ đơn lập trước đây (chỉ đọc UID cố định của thẻ để so sánh), đề tài đã cải tiến quy trình bảo mật bằng giải pháp lập trình can thiệp vào các Block nhớ của thẻ Mifare, thay đổi Key A/Key B định kỳ để mã phòng được cập nhật linh hoạt theo từng lượt khách. Hệ thống giải quyết được bài toán liên kết giữa việc đặt phòng trên Webserver với quá trình phân quyền phần cứng vật lý tại chỗ, cung cấp giải pháp giám sát trạng thái phụ tải điện nhằm hỗ trợ chủ nhà kiểm soát an toàn năng lượng từ xa mà không xâm phạm quyền riêng tư của khách lưu trú.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế kỹ thuật

Trong phần giới hạn đề tài (mục 1.4) và phần đánh giá kết quả, nhóm tác giả chỉ ra các điểm hạn chế tồn tại trên hệ thống thực nghiệm:

  • Webserver lưu trữ cục bộ trên ESP32 chỉ cho phép truy cập và đặt phòng thông qua đường link IP mạng nội bộ, chưa đưa lên tên miền hoặc máy chủ đám mây công cộng (Internet toàn cầu).
  • Mật khẩu các phòng vẫn mang tính chất cố định cấu hình sẵn trong phần mềm, việc thay đổi mật mã hệ thống phải can thiệp trực tiếp vào mã nguồn lập trình.
  • Hệ thống chưa hỗ trợ tính năng điều khiển và tương tác với các thiết bị phụ tải trong phòng bằng giọng nói.
  • Thời gian đáp ứng của toàn hệ thống khi truyền nhận dữ liệu qua UART và đồng bộ Wi-Fi giữa Arduino, ESP32 với Webserver chưa được tối ưu hóa, vẫn tồn tại độ trễ nhất định.
  • Cảm biến lửa quang học YG1006 dễ bị nhiễu tín hiệu bởi các nguồn sáng hồng ngoại mạnh từ môi trường xung quanh khác ngoài ngọn lửa.

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

Từ những thiếu sót thực tế, tác giả đề xuất các hướng nâng cấp trong tương lai:

  • Mở rộng phạm vi điều khiển bằng cách tích hợp module xử lý giọng nói giúp khách hàng điều khiển đèn, quạt tiện lợi.
  • Kết nối hệ thống với máy chủ điện toán đám mây (Cloud Server) hoặc nền tảng Blynk chuyên sâu để quản lý nhiều cụm homestay từ xa ở bất kỳ đâu có Internet.
  • Nâng cấp cảm biến nhiệt độ - khói kết hợp để tăng độ chính xác của hệ thống báo cháy, giảm thiểu tình trạng báo động giả do ánh sáng môi trường.
  • Tối ưu hóa thuật toán truyền thông nối tiếp để giảm thời gian phản hồi của chốt cửa servo khi quét thẻ.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo thực nghiệm giá trị đối với sinh viên và cán bộ kỹ thuật thuộc các chuyên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Máy tính, Điện tử Công nghiệp và Công nghệ Thông tin (chuyên ngành IoT).

Các nội dung có giá trị ứng dụng cao bao gồm:

  • Phương pháp phối hợp truyền thông giữa vi điều khiển họ AVR (Arduino Uno R3) và vi điều khiển kiến trúc 32-bit (ESP32) qua giao thức UART có kiểm tra khung dữ liệu.
  • Kỹ thuật lập trình đọc, xác thực và ghi đè dữ liệu lên các Sector/Trailer Block của thẻ Mifare Classic 1K thông qua thư viện MFRC522 trên môi trường Arduino IDE.
  • Thiết kế mạch in kết nối màn hình cảm ứng điện trở SPI ILI9341 để tạo giao diện nhập liệu số thay cho bàn phím ma trận truyền thống.
  • Cấu trúc xây dựng trang Webserver điều khiển và giám sát nhúng gọn nhẹ bằng HTML và JavaScript chạy trực tiếp trên vi điều khiển không cần hệ điều hành.

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

1. Thẻ Mifare Classic 1K được sử dụng trong hệ thống có cấu trúc bộ nhớ như thế nào và tác giả bảo mật thẻ bằng cách nào?
Thẻ Mifare Classic 1K có dung lượng EEPROM 1024 Byte (1 KByte), phân chia thành 16 Sector độc lập (đánh số từ 0 đến 15). Mỗi Sector gồm 4 Block (mỗi Block chứa 16 Byte dữ liệu). Sector 0 chứa thông tin nhà sản xuất và mã UID cố định không thể sửa. Block thứ 4 của các Sector còn lại là Trailer Block, chứa hai khóa bảo mật Key A (Byte 0-5), Key B (Byte 10-15) và các bit quyền truy xuất Access Bits (Byte 6-9). Tác giả bảo mật bằng cách thay đổi giá trị Key A, Key B và dùng thuật toán vòng lặp để ghi trực tiếp mã phòng 6 byte vào bộ nhớ thẻ thay vì chỉ sử dụng mã UID mặc định.

2. Hệ thống xử lý kịch bản mở cửa khẩn cấp khi xảy ra sự cố hỏa hoạn bằng cách nào?
Khi cảm biến lửa YG1006 phát hiện bức xạ hồng ngoại từ đám cháy, chân Digital D0 sẽ kích hoạt mức tín hiệu gửi về chân IO2 của Arduino Uno. Arduino lập tức phát xung điều khiển đồng loạt cả 3 động cơ servo MG90s mở toang chốt cửa 3 phòng, đồng thời kích hoạt còi buzzer phát âm thanh cảnh báo. Song song đó, chân Analog A0 truyền tín hiệu đến chân D4 của ESP32 để kích hoạt hiển thị thông báo nguy hiểm cháy nổ trên giao diện giám sát Webserver của chủ nhà.

3. Màn hình TFT LCD ILI9341 đảm nhận các chức năng gì và các mã số điều khiển đặc biệt được quy định ra sao?
Màn hình cảm ứng TFT LCD 3.2 inch kết nối với Arduino qua chuẩn SPI, vừa đóng vai trò hiển thị trạng thái vừa là bàn phím cảm ứng nhập lệnh. Chủ nhà có thể nhập 4 mã số chức năng kết thúc bằng phím #:

  • Nhập 0#: Kích hoạt chế độ nạp mật khẩu phòng mới vào thẻ Mifare qua đầu đọc Master.
  • Nhập 1#: Kích hoạt chế độ tạo thẻ quản lý có quyền mở được cả 3 phòng.
  • Nhập 2#: Kích hoạt chế độ xóa quyền truy cập của thẻ phòng tương ứng.
  • Nhập 159753#: Mật khẩu khẩn cấp mở toàn bộ 3 phòng mà không cần quẹt thẻ.

4. Khối xử lý trung tâm được phân chia nhiệm vụ giữa Arduino Uno và ESP32 như thế nào?
Hệ thống sử dụng hai bo mạch Arduino Uno R3 và một bo ESP32:

  • Arduino TFT LCD: Đọc tọa độ cảm ứng từ màn hình TFT LCD ILI9341, xuất giao diện phím số và truyền lệnh điều khiển sang ESP32 qua UART.
  • Arduino RFID: Giao tiếp với cảm biến lửa YG1006, điều khiển 3 động cơ servo MG90s và tiếp nhận tín hiệu từ 3 đầu đọc RC522 Slave đặt tại 3 phòng để so khớp mã phòng, kích hoạt mở cửa.
  • ESP32: Điều khiển module RC522 Master để ghi mã vào thẻ Mifare, kết nối mạng Wi-Fi, khởi tạo Webserver giám sát trạng thái thiết bị điện, hiển thị giao diện đặt phòng và nhận cảnh báo cháy để đẩy lên web.

5. Những hạn chế kỹ thuật nào được chính tác giả xác nhận trong văn bản khóa luận?
Tác giả đã chỉ rõ 4 hạn chế kỹ thuật: Webserver chỉ hoạt động qua đường link IP nội bộ chứ chưa có tên miền trực tuyến; mật khẩu phòng được gán cố định và phải chỉnh sửa trực tiếp trong mã nguồn nếu muốn đổi; hệ thống chưa tích hợp tính năng nhận dạng giọng nói để điều khiển thiết bị phòng; thời gian đáp ứng khi truyền dữ liệu qua lại giữa các khối còn có độ trễ nhất định.

Kết luận

Khóa luận tốt nghiệp của sinh viên Phan Vĩnh Triều Anh và Hồ Tôn Đạt đã thiết kế và thi công hoàn chỉnh mô hình quản lý homestay/Airbnb 3 phòng tích hợp vi điều khiển Arduino Uno, ESP32 và công nghệ RFID HF 13.56 MHz. Đề tài giải quyết thành công bài toán bảo mật phòng bằng phương thức ghi mã động vào bộ nhớ thẻ Mifare, kết hợp bàn phím cảm ứng TFT LCD, cảm biến báo cháy tự động mở cửa và Webserver giám sát thiết bị điện theo thời gian thực. Dù còn một số hạn chế về phạm vi mạng nội bộ và tốc độ đáp ứng, công trình đã thể hiện tính thực tiễn cao trong ứng dụng công nghệ IoT vào tự động hóa cơ sở lưu trú du lịch.