Giới thiệu dự án
Hệ thống giao thông công cộng khối lượng lớn (Mass Rapid Transit - MRT), đặc biệt là đường sắt đô thị (Metro), đóng vai trò xương sống trong quy hoạch hạ tầng giao thông tại các đô thị hiện đại. Tại Việt Nam, sự hình thành của các tuyến Metro như Tuyến số 1 Bến Thành - Suối Tiên (TP. Hồ Chí Minh) và Tuyến Cát Linh - Hà Đông (Hà Nội) đòi hỏi các giải pháp tự động hóa quản trị vận hành đồng bộ. Trong đó, hệ thống thu phí tự động (Automated Fare Collection - AFC) là thành phần cốt lõi quyết định lưu lượng thông quan và hiệu quả tài chính.
Phương thức phát hành vé giấy truyền thống bộc lộ nhiều điểm nghẽn nghiêm trọng: thời gian xử lý thủ công kéo dài (trung bình 5–10 giây/hành khách), chi phí in ấn và tiêu hủy vé một lần tốn kém, nguy cơ gian lận doanh thu và hoàn toàn thiếu khả năng đối soát dòng tiền theo thời gian thực (real-time auditing).
Nhằm giải quyết triệt để các tồn đọng trên, đồ án "Hệ thống tính cước phí đường sắt Metro sử dụng RFID" được nghiên cứu và phát triển bởi sinh viên Trần Quốc Hưng dưới sự hướng dẫn của ThS. Nguyễn Việt Hùng tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. Dự án ứng dụng công nghệ nhận dạng qua tần số vô tuyến (Radio Frequency Identification - RFID) kết hợp nền tảng vi điều khiển nhúng và hệ quản trị cơ sở dữ liệu để tự động hóa toàn diện quy trình kiểm soát vào/ra và tính cước hành trình.
Mục tiêu cụ thể của dự án:
- Nghiên cứu nguyên lý giao tiếp trường gần không tiếp xúc chuẩn ISO/IEC 14443A và kiến trúc hệ thống tính cước đường sắt đô thị.
- Thiết kế và chế tạo mô hình phần cứng kiểm soát 2 nhà ga (4 cổng kiểm soát vào/ra) sử dụng vi điều khiển ATmega2560 và các module đọc RFID RC522.
- Xây dựng giao diện phần mềm điều khiển, quản lý hành khách và hạch toán số dư tài khoản trên nền tảng C# (.NET Framework).
- Thiết kế cơ sở dữ liệu quan hệ trên Microsoft SQL Server để đồng bộ và lưu trữ giao dịch theo thời gian thực.
- Kiểm thử, đánh giá độ ổn định và tối ưu hóa thời gian xử lý giao dịch tại cổng soát vé.
Giải pháp lựa chọn thẻ thông minh không tiếp xúc (Contactless Smart Card) thụ động chuẩn MIFARE 13.56 MHz, giúp tối ưu hóa chi phí đầu tư thẻ, triệt tiêu thời gian chờ tại cổng kiểm soát và đảm bảo tính toán cước phí chính xác theo cự ly di chuyển thực tế.
Phạm vi nghiên cứu tập trung vào mô hình thực nghiệm gồm 2 nhà ga với 4 cổng quét thẻ (mỗi ga gồm 1 cổng vào và 1 cổng ra), 1 bộ điều khiển trung tâm Arduino Mega 2560 kết nối trực tiếp máy tính quản lý qua giao tiếp nối tiếp RS-232/UART, hiển thị trạng thái qua màn hình LCD 16x2 giao tiếp I2C.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các giải pháp kiểm soát vé hiện nay cho thấy sự chuyển dịch tất yếu từ cơ học sang số hóa:
| Tiêu chí |
Vé giấy truyền thống |
Mã vạch / QR Code |
Thẻ từ / Thẻ RFID không tiếp xúc |
| Thời gian quét |
5 – 10 giây (soát vé thủ công) |
1.5 – 3 giây (cần căn chỉnh góc quang học) |
< 300 ms (quét đa hướng không tiếp xúc) |
| Độ bền môi trường |
Rất thấp (dễ rách, ướt, mờ mực) |
Trung bình (màn hình chói, camera mờ) |
Rất cao (chống ẩm, bụi, độ bền > 100.000 chu kỳ) |
| Tái sử dụng |
Không thể |
Có thể (mã động) |
Có thể nạp tiền và ghi đè dữ liệu nhiều lần |
| Chi phí vận hành |
Cao (chi phí in ấn liên tục) |
Thấp (phát hành qua ứng dụng di động) |
Rất thấp sau khấu hao thiết bị ban đầu |
| Độ chính xác trừ tiền |
Thủ công, dễ sai sót |
Tự động qua máy chủ |
Tự động hóa thời gian thực chính xác 100% |
Phân tích yêu cầu chức năng theo mô hình MoSCoW:
- Must-have (Bắt buộc): Đọc chính xác mã định danh (UID) của thẻ RFID; kiểm tra số dư khả dụng khi vào ga; trừ tiền chính xác tương ứng với chặng di chuyển khi ra ga; khóa thẻ hoặc từ chối hành trình khi số dư không đủ.
- Should-have (Cần có): Giao diện quản lý thông tin hành khách (thêm, sửa, xóa, nạp tiền); hiển thị thông báo trực quan qua LCD và âm thanh buzzer.
- Could-have (Có thể mở rộng): Báo cáo thống kê lưu lượng hành khách theo khung giờ; đồng bộ mạng giữa nhiều máy trạm phân tán.
- Won't-have (Chưa thực hiện): Tích hợp cổng thanh toán trực tuyến qua ngân hàng (Banking Gateway); tích hợp cảm biến cơ khí đóng mở cửa xoay tự động (Turnstile Barrier).
Thách thức kỹ thuật lớn nhất nằm ở việc ghép nối nhiều module RFID RC522 giao tiếp chuẩn SPI trên cùng một bus vi điều khiển mà không gây xung đột tín hiệu (bus contention), đồng thời duy trì luồng truyền dữ liệu UART hai chiều liên tục với máy tính quản trị.
Thiết kế hệ thống
Kiến trúc hệ thống được phân lớp rõ ràng: Tầng thu thập vật lý (Hardware Perception Layer) $\rightarrow$ Tầng điều khiển trung gian (Embedded Controller Layer) $\rightarrow$ Tầng ứng dụng & Cơ sở dữ liệu (Application & Database Layer).
graph TD
A1[Thẻ RFID MIFARE 13.56MHz] -->|Sóng RF| B1[Module RFID RC522 - Ga 1 Vào]
A2[Thẻ RFID MIFARE 13.56MHz] -->|Sóng RF| B2[Module RFID RC522 - Ga 1 Ra]
A3[Thẻ RFID MIFARE 13.56MHz] -->|Sóng RF| B3[Module RFID RC522 - Ga 2 Vào]
A4[Thẻ RFID MIFARE 13.56MHz] -->|Sóng RF| B4[Module RFID RC522 - Ga 2 Ra]
B1 -->|Bus SPI chung SCK/MOSI/MISO + SS1| C[Arduino Mega 2560 Central MCU]
B2 -->|Bus SPI + SS2| C
B3 -->|Bus SPI + SS3| C
B4 -->|Bus SPI + SS4| C
C -->|Giao tiếp I2C| D[LCD 16x2 + Module PCF8574]
C -->|Digital Output| E[Buzzer & LED Indicator]
C <-->|USB Serial UART COM Port| F[Phần mềm Quản lý C# WinForms]
F <-->|ADO.NET / T-SQL| G[(Hệ quản trị CSDL SQL Server 2008)]
Danh mục công nghệ và phiên bản phần cứng/phần mềm:
- Vi điều khiển: Arduino Mega 2560 Rev3 (Microchip ATmega2560 8-bit AVR, xung nhịp 16 MHz, 256 KB Flash, 8 KB SRAM, 4 KB EEPROM).
- Module RF: NXP MFRC522 (tần số 13.56 MHz, giao tiếp SPI tốc độ lên tới 10 Mbit/s, cự ly đọc 0–60 mm, điện áp 3.3V).
- Hiển thị: Màn hình LCD 1602 kết hợp mạch chuyển đổi I2C chip PCF8574T (địa chỉ mặc định
0x27).
- Môi trường phát triển: Arduino IDE v1.8.5, Microsoft Visual Studio 2015/2017 (C# .NET Framework 4.5), Microsoft SQL Server 2008 R2 Express.
Thiết kế Cơ sở dữ liệu gồm 2 bảng quan hệ cốt lõi:
- Bảng
DangNhap: Lưu trữ thông tin tài khoản nhân viên kiểm soát.
TaiKhoan (NVARCHAR(50), Primary Key)
MatKhau (NVARCHAR(50))
QuyenHan (NVARCHAR(20))
- Bảng
DataHanhKhach: Quản trị hồ sơ và số dư tài khoản hành khách.
MaThe (NVARCHAR(50), Primary Key): Lưu UID thẻ RFID.
HoTen (NVARCHAR(50)): Tên hành khách.
CMND (NVARCHAR(20)): Số căn cước/chứng minh nhân dân.
SoDienThoai (NVARCHAR(15)): Số điện thoại liên lạc.
SoDu (FLOAT / DECIMAL(18,2)): Số dư tài khoản khả dụng.
TrangThai (NVARCHAR(20)): Trạng thái (ChuaLenTau, DaLenTau).
GaVao (INT): Lưu mã định danh ga xuất phát để tính toán cước khi ra ga.
Methodology
Dự án áp dụng phương pháp luận phát triển dạng thác nước có chu kỳ lặp tích hợp phần cứng (Iterative V-Model for Embedded Systems), kéo dài trong 14 tuần (26/03/2018 – 15/07/2018):
- Tuần 1–2: Nghiên cứu giao tiếp phần cứng, thư viện
MFRC522.h và cấu hình thanh ghi ATmega2560.
- Tuần 3–4: Lập trình nhúng vi điều khiển đọc đa module RFID qua bus SPI và xuất tín hiệu LCD I2C.
- Tuần 5–7: Thiết kế giao diện đồ họa người dùng (GUI) trên C# WinForms và giao thức Serial Buffer.
- Tuần 8–9: Xây dựng schema CSDL SQL Server 2008, lập trình các Stored Procedures và câu truy vấn CRUD.
- Tuần 10–11: Ghép nối toàn diện hệ thống phần cứng - phần mềm - CSDL (Hardware-in-the-Loop Integration).
- Tuần 12–14: Hiệu chỉnh độ trễ, thử nghiệm tải liên tục và hoàn thiện tài liệu kỹ thuật.
Implementation và kết quả
Development process
Quá trình lập trình tập trung vào việc xử lý đồng thời 4 module RFID RC522 trên Arduino Mega 2560 thông qua việc dùng chung các đường tín hiệu bus SPI (SCK chân 52, MOSI chân 51, MISO chân 50) và phân tách các chân lựa chọn chip (SDA/SS riêng biệt).
// Trích xuất cấu hình khởi tạo đa đầu đọc RFID trên Arduino Mega 2560
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define RST_PIN 5 // Chân Reset dùng chung
#define SS_1_PIN 53 // Ga 1 - Cổng Vào
#define SS_2_PIN 49 // Ga 1 - Cổng Ra
#define SS_3_PIN 48 // Ga 2 - Cổng Vào
#define SS_4_PIN 47 // Ga 2 - Cổng Ra
const byte nrReaders = 4;
MFRC522 mfrc522[nrReaders] = {
MFRC522(SS_1_PIN, RST_PIN),
MFRC522(SS_2_PIN, RST_PIN),
MFRC522(SS_3_PIN, RST_PIN),
MFRC522(SS_4_PIN, RST_PIN)
};
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
while (!Serial);
SPI.begin();
lcd.init();
lcd.backlight();
for (uint8_t reader = 0; reader < nrReaders; reader++) {
mfrc522[reader].PCD_Init(mfrc522[reader]._chipSelectPin, RST_PIN);
}
lcd.setCursor(0, 0);
lcd.print("HE THONG METRO");
lcd.setCursor(0, 1);
lcd.print("SAN SANG...");
}
void loop() {
for (uint8_t reader = 0; reader < nrReaders; reader++) {
// Kiểm tra sự xuất hiện của thẻ mới tại từng đầu đọc
if (mfrc522[reader].PICC_IsNewCardPresent() && mfrc522[reader].PICC_ReadCardSerial()) {
String tagUID = "";
for (byte i = 0; i < mfrc522[reader].uid.size; i++) {
tagUID += String(mfrc522[reader].uid.uidByte[i] < 0x10 ? "0" : "");
tagUID += String(mfrc522[reader].uid.uidByte[i], HEX);
}
tagUID.toUpperCase();
// Định dạng gói tin gửi lên PC: [Reader_ID]:[UID]
// Ví dụ: R1:A1B2C3D4 (R1=Ga1_Vao, R2=Ga1_Ra, R3=Ga2_Vao, R4=Ga2_Ra)
Serial.println("R" + String(reader + 1) + ":" + tagUID);
mfrc522[reader].PICC_HaltA();
mfrc522[reader].PCD_StopCrypto1();
}
}
}
Phía máy tính, ứng dụng C# lắng nghe sự kiện ngắt cổng nối tiếp SerialPort.DataReceived để bóc tách gói tin và xử lý logic nghiệp vụ tài chính:
// Xử lý sự kiện nhận chuỗi Serial và giao tiếp Database trong C#
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string rawData = serialPort1.ReadLine().Trim();
this.Invoke(new MethodInvoker(delegate ()
{
ProcessMetroTransaction(rawData);
}));
}
private void ProcessMetroTransaction(string packet)
{
// Cú pháp: R[ID]:[UID] (Ví dụ: R1:3681B275)
string[] parts = packet.Split(':');
if (parts.Length != 2) return;
string readerId = parts[0];
string cardUID = parts[1];
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM DataHanhKhach WHERE MaThe = @MaThe", conn);
cmd.Parameters.AddWithValue("@MaThe", cardUID);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
double currentBalance = Convert.ToDouble(reader["SoDu"]);
string status = reader["TrangThai"].ToString();
reader.Close();
// Xử lý vào ga (R1 hoặc R3)
if (readerId == "R1" || readerId == "R3")
{
if (currentBalance < 5000) // Cước phí tối thiểu chặng
{
txtThongBao.Text = "SO DU KHONG DU (" + currentBalance + " VND)";
serialPort1.WriteLine("ERR_BALANCE");
return;
}
int stationIn = (readerId == "R1") ? 1 : 2;
SqlCommand updateIn = new SqlCommand("UPDATE DataHanhKhach SET TrangThai = 'DaLenTau', GaVao = @GaVao WHERE MaThe = @MaThe", conn);
updateIn.Parameters.AddWithValue("@GaVao", stationIn);
updateIn.Parameters.AddWithValue("@MaThe", cardUID);
updateIn.ExecuteNonQuery();
txtThongBao.Text = "MOI VAO GA " + stationIn;
serialPort1.WriteLine("OK_IN");
}
// Xử lý ra ga và trừ tiền (R2 hoặc R4)
else if (readerId == "R2" || readerId == "R4")
{
int stationOut = (readerId == "R2") ? 1 : 2;
double fare = 10000; // Giá cước mẫu giữa 2 trạm
double newBalance = currentBalance - fare;
SqlCommand updateOut = new SqlCommand("UPDATE DataHanhKhach SET SoDu = @NewBalance, TrangThai = 'ChuaLenTau' WHERE MaThe = @MaThe", conn);
updateOut.Parameters.AddWithValue("@NewBalance", newBalance);
updateOut.Parameters.AddWithValue("@MaThe", cardUID);
updateOut.ExecuteNonQuery();
txtThongBao.Text = "XUAT GA " + stationOut + ". DA TRU: " + fare + " VND. CON: " + newBalance + " VND";
serialPort1.WriteLine("OK_OUT");
}
}
else
{
txtThongBao.Text = "THE CHUA DANG KY!";
serialPort1.WriteLine("ERR_UNREGISTERED");
}
}
}
Testing và validation
Hệ thống trải qua 4 kịch bản kiểm thử chức năng và hiệu năng:
| Kịch bản kiểm thử |
Dữ liệu đầu vào |
Kết quả kỳ vọng |
Kết quả thực nghiệm |
Tỷ lệ thành công |
| TC-01: Đăng ký & Nạp tiền |
Thẻ mới UID 3681B275, nạp 100.000 VNĐ |
Tạo bản ghi mới trên SQL Server |
Bản ghi được tạo chính xác, hiển thị ngay trên DataGridView |
100% (50/50 lần) |
| TC-02: Vào Ga 1 (Số dư đủ) |
Quét thẻ 3681B275 tại Ga 1 Vào (R1), số dư 100.000 VNĐ |
Xác thực hợp lệ, chuyển TrangThai thành DaLenTau, GaVao = 1 |
Cổng cho phép, LCD báo "MOI VAO GA 1", còi kêu 1 tiếng bíp |
100% (50/50 lần) |
| TC-03: Ra Ga 2 (Trừ tiền) |
Quét thẻ 3681B275 tại Ga 2 Ra (R4) |
Khấu trừ 10.000 VNĐ, số dư còn 90.000 VNĐ, TrangThai = ChuaLenTau |
CSDL cập nhật số dư 90.000 VNĐ, LCD báo số tiền trừ và số dư mới |
100% (50/50 lần) |
| TC-04: Vào Ga khi thiếu số dư |
Thẻ UID 45A2F109 có số dư 2.000 VNĐ quét tại R1 |
Từ chối mở cổng, thông báo số dư không đủ |
Hệ thống chặn, LCD báo lỗi, không cập nhật trạng thái |
100% (30/30 lần) |
Benchmark hiệu năng:
- Thời gian đáp ứng cảm biến RFID (PCD $\rightarrow$ PICC): 45 – 65 ms.
- Thời gian xử lý truyền thông UART 9600 bps: 15 – 25 ms.
- Thời gian thực thi truy vấn SQL Server: 40 – 80 ms.
- Tổng độ trễ toàn trình (End-to-End Latency): 110 – 170 ms (đạt tiêu chuẩn vận hành giao thông đô thị yêu cầu < 500 ms).
Đổi mới và đóng góp
- Giải pháp kiến trúc phân tách chức năng (Modular Hardware-Software Decoupling): Hệ thống phân tách mạch lạc giữa tầng điều khiển phần cứng biên (Arduino Mega đóng vai trò trạm thu thập tín hiệu ngoại vi) và tầng xử lý nghiệp vụ trung tâm (C# .NET & SQL Server). Thiết kế này giúp bảo vệ cơ sở dữ liệu khỏi rủi ro treo cứng vi điều khiển, đồng thời cho phép dễ dàng nâng cấp phần mềm quản trị mà không cần nạp lại firmware phần cứng.
- Kỹ thuật quản lý đa module SPI không xung đột: Tối ưu hóa chu trình quét 4 module RFID RC522 thông qua giải thuật quản lý thời gian kích hoạt chân Slave Select (
SS), ngăn chặn hiện tượng trôi dữ liệu (data corruption) và suy hao bus khi hoạt động liên tục.
- So sánh với các giải pháp hiện hành:
| Tiêu chí so sánh |
Hệ thống vé từ tính Tokyo Metro (1990s) |
Mô hình đề xuất (Arduino Mega + RC522) |
Hệ thống Metro hiện đại (Singapore EZ-Link) |
| Công nghệ thẻ |
Băng từ tiếp xúc (Magnetic Stripe) |
RFID không tiếp xúc (13.56 MHz) |
Thẻ thông minh không tiếp xúc / NFC / EMV |
| Hao mòn cơ học |
Cao (đầu đọc kéo nhả thẻ) |
Không hao mòn |
Không hao mòn |
| Chi phí triển khai node |
Rất cao (> $5,000/cổng) |
Rất thấp (~ $50/mô hình mô phỏng) |
Cao (> $3,000/cổng) |
| Khả năng mở rộng CSDL |
CSDL độc quyền phức tạp |
CSDL quan hệ chuẩn SQL Server |
CSDL đám mây phân tán đa cụm |
- Hiệu quả tối ưu hóa: Giảm thời gian thông quan từ 6–8 giây/người của phương thức vé giấy xuống còn dưới 1 giây/người (cải thiện hơn 85% năng suất thông quan tại nhà ga).
Ứng dụng thực tế và triển khai
Hệ thống có thể chuyển giao và ứng dụng trực tiếp vào nhiều lĩnh vực quản lý giao thông và kiểm soát an ninh:
- Tuyến đường sắt đô thị (Metro) & Xe buýt nhanh (BRT): Làm mô hình mẫu (PoC - Proof of Concept) cho các trạm soát vé tự động với lưu lượng khách vừa và nhỏ.
- Bãi giữ xe thông minh nhiều tầng: Quản lý vé tháng và vé ngày tự động, tính cước theo thời gian đỗ.
- Kiểm soát ra vào tòa nhà doanh nghiệp/khu công nghiệp: Điểm danh nhân viên tích hợp chấm công và phân quyền ra vào cửa điện tử.
Phương án triển khai thực tế quy mô mở rộng:
- Hạ tầng trạm: Thay thế cổng mô phỏng bằng cửa xoay bán tự động Tripod Turnstile hoặc Flap Barrier kiểm soát bằng rơ-le cách ly quang (Optocoupler Relay).
- Mạng truyền thông: Chuyển đổi từ cổng Serial USB sang giao tiếp Ethernet công nghiệp (Modbus TCP/IP) hoặc Wi-Fi (sử dụng SoC ESP32) để truyền dữ liệu về máy chủ trung tâm (Central Server) qua giao thức RESTful API.
- Ước tính hiệu quả kinh tế (ROI): Thẻ RFID thụ động có tuổi thọ trên 10 năm với hơn 100.000 lần ghi đọc. Với một nhà ga phục vụ 20.000 lượt khách/ngày, việc loại bỏ hoàn toàn vé giấy giúp tiết kiệm hàng trăm triệu đồng chi phí in ấn mỗi năm và cắt giảm 60% nhân sự trực tiếp tại các quầy bán vé.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Nhiễu điện từ: Sóng vô tuyến 13.56 MHz của module RC522 bị suy giảm biên độ tín hiệu khi đặt gần vật thể kim loại dày hoặc môi trường độ ẩm cao.
- Cơ sở dữ liệu cục bộ: Hệ thống hiện hoạt động trên kiến trúc CSDL đơn điểm (Single-node SQL Server), chưa có cơ chế đồng bộ đa máy trạm phân tán (Distributed Master-Slave Replication).
- Thiếu cơ chế chống quay vòng vé (Anti-passback): Chưa có thuật toán khóa thẻ tạm thời nếu hành khách quẹt thẻ 2 lần liên tiếp tại cùng một cổng vào mà chưa thực hiện lượt ra.
Hướng phát triển
- Nâng cấp phần cứng vi xử lý: Chuyển sang vi điều khiển 32-bit (STM32F4 hoặc ESP32) hỗ trợ FreeRTOS để xử lý đa luồng thời gian thực và tích hợp sẵn chuẩn bảo mật phần cứng Cryptographic Acceleration.
- Số hóa qua ứng dụng di động (NFC / QR Dynamic): Cho phép hành khách sử dụng smartphone có tính năng NFC hoặc mã QR động để thay thế thẻ vật lý.
- Triển khai kiến trúc Microservices & Cloud: Đưa toàn bộ nghiệp vụ thanh toán lên dịch vụ đám mây (AWS / Azure), tích hợp cổng thanh toán trực tuyến (MoMo, VNPay, Napas) để người dùng chủ động nạp tiền 24/7.
Đối tượng hưởng lợi
- Sinh viên khối ngành Kỹ thuật Điện - Điện tử / Tự động hóa / CNTT: Nguồn tài liệu thực chứng toàn diện về cách thức kết nối vi điều khiển nhúng với hệ quản trị cơ sở dữ liệu doanh nghiệp qua giao thức Serial.
- Kỹ sư và Lập trình viên hệ thống: Nắm bắt kỹ thuật thiết kế kiến trúc phần mềm điều khiển phần cứng đa luồng, xử lý ngắt và lập trình SQL Server Transactions cho các bài toán thanh toán thời gian thực.
- Doanh nghiệp vận tải công cộng: Bản thiết kế tham chiếu (Reference Architecture) chi phí thấp để thử nghiệm các giải pháp kiểm soát tự động trước khi triển khai hệ thống công nghiệp quy mô lớn.
- Nhà nghiên cứu Giao thông thông minh (ITS): Dữ liệu thực nghiệm về thời gian xử lý và lưu lượng thông quan phục vụ các mô hình mô phỏng dòng người tại các nhà ga đầu mối.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu 01 board vi điều khiển có tối thiểu 4 cổng Slave Select độc lập và hỗ trợ chuẩn giao tiếp SPI phần cứng (như Arduino Mega 2560 hoặc tương đương), 04 module RFID RC522 chuẩn MIFARE 13.56 MHz, 01 nguồn cấp DC 9V-2A ổn định, 01 màn hình hiển thị LCD 1602 kèm mạch I2C, và 01 máy tính cấu hình tối thiểu RAM 4GB chạy Windows 7/10 cài đặt .NET Framework 4.5 cùng SQL Server 2008 trở lên.
2. Hệ thống xử lý thế nào khi xảy ra mất kết nối giữa máy tính và vi điều khiển?
Trong phiên bản hiện tại, vi điều khiển sẽ lưu mã UID tạm thời trong bộ đệm vòng (Ring Buffer). Để đảm bảo an toàn giao dịch công nghiệp, hệ thống cần được bổ sung bộ nhớ ngoài EEPROM/SD Card trên bo mạch để ghi log ngoại tuyến (Offline Logging) và tự động đồng bộ ngược lên cơ sở dữ liệu ngay khi đường truyền UART/Ethernet được khôi phục.
3. Có thể thay thế module RC522 bằng các chuẩn đầu đọc tầm xa UHF không?
Hoàn toàn khả thi. Giao thức bóc tách dữ liệu trên phần mềm C# chỉ phụ thuộc vào chuỗi định danh UID nhận được qua cổng Serial. Do đó, có thể thay thế module RC522 (tầm gần 0–60 mm) bằng đầu đọc RFID UHF 860–960 MHz (tầm đọc 1–5 mét) để ứng dụng cho mô hình thu phí tự động không dừng (ETC) mà không cần thay đổi cấu trúc bảng cơ sở dữ liệu.
4. Cơ chế bảo mật dữ liệu trên thẻ RFID được thực hiện như thế nào?
Thẻ MIFARE 1K cung cấp bộ nhớ 1024 bytes chia thành 16 sector, mỗi sector được bảo vệ bởi 2 khóa bí mật (Key A và Key B) với thuật toán mã hóa Crypto-1. Hệ thống có thể mở rộng tính năng ghi trực tiếp số dư đã mã hóa vào các block dữ liệu của thẻ thay vì chỉ đọc UID, tăng cường mức độ bảo mật chống sao chép thẻ trái phép.
5. Chi phí chế tạo mô hình thử nghiệm là bao nhiêu và thời gian hoàn vốn thực tế?
Tổng chi phí linh kiện phần cứng cho mô hình thử nghiệm 2 nhà ga ước tính dưới 1.500.000 VNĐ. Khi chuyển đổi sang môi trường thực tế quy mô trạm vé, chi phí phần cứng đầu đọc RFID thấp hơn từ 5–10 lần so với các máy nuốt/nhả vé từ tính cơ học, giúp các đơn vị vận hành rút ngắn thời gian thu hồi vốn đầu tư (ROI) xuống dưới 12 tháng.
Kết luận
Đồ án tốt nghiệp "Hệ thống tính cước phí đường sắt Metro sử dụng RFID" của tác giả Trần Quốc Hưng đã hoàn thành toàn diện các mục tiêu đề ra: từ việc thiết kế, chế tạo mạch phần cứng kiểm soát 2 nhà ga đa cổng, đến xây dựng ứng dụng điều khiển trung tâm trên C# và hệ cơ sở dữ liệu quan hệ SQL Server 2008. Kết quả thực nghiệm cho thấy hệ thống hoạt động chính xác 100% trong các kịch bản kiểm soát vào/ra, tự động hóa khấu trừ số dư theo chặng di chuyển với thời gian phản hồi toàn trình dưới 200 ms.
Công trình chứng minh tính khả thi, độ tin cậy và tiềm năng to lớn của việc ứng dụng công nghệ RFID trong việc hiện đại hóa cơ sở hạ tầng giao thông thông minh tại Việt Nam. Đây là nền tảng kỹ thuật vững chắc để tiếp tục mở rộng phát triển thành các giải pháp AFC thương mại hoàn chỉnh, đóng góp tích cực vào tiến trình chuyển đổi số của ngành vận tải đô thị.