Giới thiệu dự án
Sự bùng nổ của các hệ thống nhà thông minh (Smart Home) và tự động hóa tòa nhà đặt ra yêu cầu cấp thiết về việc nâng cấp hệ thống an ninh vật lý. Theo các báo cáo thống kê từ ngành công nghiệp an ninh gia đình, hơn 65% các vụ xâm nhập trái phép vào nhà ở bắt nguồn từ việc bẻ khóa hoặc phá hủy ổ khóa cơ truyền thống thông qua chìa khóa vạn năng hay ngoại lực. Khóa cơ khí bộc lộ nhiều điểm yếu cố hữu: không có khả năng phân quyền truy cập, thiếu cơ chế ghi vết lịch sử, dễ bị sao chép chìa và hoàn toàn bất lực trong việc cảnh báo khi bị tấn công cưỡng bức.
Nhằm giải quyết triệt để các rủi ro an ninh trên, đề tài "Thiết Kế Hệ Thống Cửa Thông Minh Sử Dụng Vi Điều Khiển STM32" tập trung nghiên cứu, thiết kế phần cứng và phát triển phần mềm cho hệ thống kiểm soát ra vào đa phương thức (Multi-factor Authentication). Hệ thống tích hợp xử lý xác thực qua Thẻ thông minh RFID, Bàn phím ma trận (mật khẩu số), Cảm biến sinh trắc học vân tay, đi kèm cơ chế tự động khóa và cảnh báo theo thời gian thực.
+----------------------------------------------+
| KHỐI NGUỒN TOÀN HỆ THỐNG |
| 220VAC -> Biến áp 12VDC -> LM7805 -> LM1117 |
+----------------------+-----------------------+
|
+-------------------------+-------------------------+
| |
v v
+-----------------------------+ +-----------------------------+
| KHỐI ĐẦU VÀO | | KHỐI XỬ LÝ TRUNG TÂM |
| - RFID RC522 (SPI) | Tín hiệu đầu vào | STM32F103C8T6 |
| - Keypad 4x4 (GPIO Matrix) | ------------------> | (ARM Cortex-M3 @ 72MHz) |
| - Cảm biến AS608 (UART) | | - Bộ nhớ Flash lưu trữ UID |
| - Nút bấm mở cửa trong nhà | | - Xử lý logic & Anti-brute |
+-----------------------------+ +--------------+--------------+
|
Tín hiệu điều khiển |
+------------------------+
|
+--------------------------+------------------------+
| |
v v
+-----------------------------+ +-----------------------------+
| KHỐI HIỂN THỊ & BÁO | | KHỐI CHẤP HÀNH |
| - LCD 1602 + Module I2C | | - Mạch kích Transistor/Relay|
| - Còi Buzzer cảnh báo | | - Khóa chốt điện từ 12VDC |
+-----------------------------+ +-----------------------------+
Mục tiêu kỹ thuật của đề tài
- Thiết kế phần cứng tối ưu: Xây dựng bo mạch điều khiển tích hợp vi điều khiển trung tâm STM32F103C8T6, mạch nguồn hạ áp đa tầng (12VDC, 5VDC, 3.3VDC), mạch cách ly điều khiển rơ-le cho chốt điện từ 12VDC công suất 0.6W.
- Giao tiếp ngoại vi đa chuẩn: Triển khai giao thức truyền thông nối tiếp SPI tốc độ 10 Mbit/s với module RFID RC522 (tần số 13.56 MHz), giao thức I2C cho màn hình hiển thị LCD1602, UART cho cảm biến vân tay AS608, và quét ma trận quét hàng/quét cột cho bàn phím 4x4 (tần số quét 50 Hz).
- Phát triển giải thuật an ninh nhúng: Xây dựng thuật toán chống vét cạn mật khẩu (Anti-brute-force) với cơ chế lũy tiến thời gian khóa: khóa 2 phút khi nhập sai quá 3 lần, cộng thêm 40 giây cho mỗi lần sai tiếp theo.
- Quản lý dữ liệu trực tiếp trên Flash Memory: Sử dụng trực tiếp bộ nhớ On-chip Flash của STM32 để lưu trữ danh bạ thẻ RFID (hỗ trợ UID thẻ Mifare 1 S50/S70) và mật khẩu Master/User, đảm bảo dữ liệu không bị mất khi mất nguồn mà không cần gắn thêm chip EEPROM ngoài.
Phạm vi và giới hạn của đề tài
- Phạm vi: Thiết kế nguyên mẫu hoàn chỉnh dạng mô hình kích thước $30 \times 20 \times 20\text{ cm}$, thử nghiệm kiểm chứng độ chính xác đóng mở chốt, độ trễ phản hồi và tính ổn định khi vận hành liên tục.
- Giới hạn: Hệ thống chưa tích hợp pin dự phòng UPS (Uninterruptible Power Supply) tự động chuyển nguồn khi mất điện lưới và chưa mở rộng kết nối mạng đám mây (Cloud IoT) để quản lý qua ứng dụng di động từ xa.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng và so sánh giải pháp
| Tiêu chí đánh giá |
Khóa cơ khí truyền thống |
Hệ thống dùng Vi điều khiển 8-bit (ATmega328P / Arduino) |
Giải pháp Đề tài: STM32F103C8T6 (ARM Cortex-M3) |
Khóa thông minh thương mại (Aqara / VPO) |
| Kiến trúc & Tốc độ |
Cơ khí thuần túy |
8-bit AVR @ 16 MHz |
32-bit ARM Cortex-M3 @ 72 MHz |
SoC chuyên dụng (ARM Cortex-M4/M33) |
| Dung lượng Flash/RAM |
Không có |
32 KB Flash / 2 KB SRAM |
64 KB Flash / 20 KB SRAM |
512 KB - 1 MB Flash |
| Phương thức xác thực |
Chìa kim loại |
Thẻ từ RFID / Keypad |
RFID 13.56MHz + Keypad + Sinh trắc AS608 |
Vân tay FPC + RFID + BLE/Zigbee |
| Thời gian xác thực |
5 - 10 giây |
0.8 - 1.2 giây |
< 0.3 giây (Xử lý đa ngoại vi) |
< 0.3 giây |
| Bộ nhớ lưu trữ |
Không |
Cần gắn thêm EEPROM ngoài (AT24C32) |
Mô phỏng EEPROM trực tiếp trên On-chip Flash |
Bộ nhớ mã hóa phần cứng (Secure Element) |
| Chi phí chế tạo (BOM) |
Thấp (50.000 - 150.000 VNĐ) |
Trung bình (250.000 - 350.000 VNĐ) |
Tối ưu (300.000 - 450.000 VNĐ) |
Rất cao (2.500.000 - 6.000.000 VNĐ) |
| Khả năng mở rộng RTOS |
Không thể |
Hạn chế (thiếu RAM) |
Rất cao (Hỗ trợ FreeRTOS, Keil RTX) |
Hệ điều hành nhúng chuyên dụng |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc phải có):
- Mở cửa bằng thẻ RFID Mifare 13.56 MHz (đọc UID qua RC522).
- Mở cửa bằng mật khẩu số nhập từ bàn phím ma trận 4x4.
- Điều khiển kích đóng/mở chốt điện từ 12VDC qua Rơ-le trong khoảng thời gian định thời 5 giây.
- Cơ chế tự khóa hệ thống và phát cảnh báo còi Buzzer khi phát hiện nhập sai quá số lần quy định.
- Khả năng lưu trữ và xóa mật khẩu/thẻ trên bộ nhớ tĩnh.
- Should have (Nên có):
- Tích hợp module cảm biến vân tay quang học AS608 giao tiếp UART.
- Phím bấm mở cửa khẩn cấp nội bộ (Exit button bên trong nhà).
- Màn hình LCD1602 giao tiếp I2C hiển thị trạng thái hướng dẫn người dùng.
- Could have (Có thể mở rộng):
- Module truyền thông không dây ESP8266/ESP32 đẩy log ra vào lên Server Firebase/MQTT.
- Won't have (Chưa thực hiện trong phiên bản này):
- Nhận diện khuôn mặt qua Camera AI Edge và tính năng đàm thoại video intercom.
Kiến trúc phần cứng và sơ đồ nguyên lý các khối chức năng
Hệ thống được module hóa thành các khối chức năng độc lập, kết nối với bộ xử lý trung tâm STM32F103C8T6 thông qua các bus tín hiệu tiêu chuẩn công nghiệp:
+--------------------------+
| Nguồn cấp 220VAC |
+-------------+------------+
|
v
+--------------------------+
| Biến áp xung + Cầu Diode |
+-------------+------------+
| (12VDC Unregulated)
+---------------------+---------------------+
| |
v v
+--------------------+ +--------------------+
| IC Ổn áp LM7805 | | Khóa chốt điện tử |
+----------+---------+ | 12VDC / 0.6W |
| (5VDC) +---------+----------+
+---------+---------+ ^
| | | (Tiếp điểm NO)
v v |
+-------------------+ +---------------+ +---------+----------+
| IC Ổn áp LM1117 | | LCD1602+I2C | | Relay 5V + Flyback |
+---------+---------+ | (5V Logic) | | Diode 1N4007 |
| (3.3VDC) +---------------+ +---------+----------+
+-----+-----+-----------------------+ ^
| | | | (PB0 Kích High)
v v v |
+-------+ +-------+ +---------------------------------------+--+
| RC522 | | AS608 | | STM32F103C8T6 (Khối Xử Lý) |
| (SPI) | | (UART)| | PB12-15 (Keypad Row), PA0-3 (Keypad Col) |
+-------+ +-------+ +------------------------------------------+
- Khối nguồn đa tầng:
- Sử dụng IC ổn áp tuyến tính LM7805 (TO-220) hạ áp từ nguồn chính 12VDC xuống 5VDC (dòng ra cực đại $1.0\text{ A}$) cung cấp cho cuộn hút Rơ-le, màn hình LCD1602 và cấp vào chân $5\text{V}$ của Kit STM32.
- Sử dụng IC ổn áp LM1117-3.3V (SOT-223) nhận đầu vào 5VDC để tạo điện áp chuẩn $3.3\text{VDC} \pm 1%$ (dòng ra $800\text{ mA}$) cấp cho module RFID RC522, vi điều khiển và cảm biến vân tay AS608.
- Khối xử lý trung tâm:
- Vi điều khiển STM32F103C8T6 (ARM 32-bit Cortex-M3 core, tần số xung nhịp tối đa $72\text{ MHz}$, 64 Kbytes Flash, 20 Kbytes SRAM, 37 chân GPIO đa dụng).
- Khối giao tiếp ngoại vi:
- RFID RC522: Giao tiếp chuẩn SPI (PA4 - NSS, PA5 - SCK, PA6 - MISO, PA7 - MOSI, PB1 - RST).
- Màn hình LCD1602: Tích hợp chip giải mã PCF8574 giao tiếp I2C qua 2 chân PB6 (SCL) và PB7 (SDA), giúp tiết kiệm tài nguyên chân I/O.
- Bàn phím ma trận 4x4: 4 hàng nối với PB12, PB13, PB14, PB15 (Output Push-Pull) và 4 cột nối với PA0, PA1, PA2, PA3 (Input Pull-Up).
- Khối chấp hành: Sử dụng transistor NPN (C1815 hoặc S8050) kích đóng ngắt Relay 5VDC, tích hợp Diode dập xung ngược (Flyback Diode 1N4007) bảo vệ vi điều khiển khỏi điện áp cảm ứng sinh ra từ cuộn dây chốt điện từ 12VDC.
Implementation và kết quả
Thuật toán cốt lõi và hiện thực mã nguồn (C / Keil uVision5)
1. Giải thuật quét ma trận phím (Matrix Keypad 4x4 Scan)
Kỹ thuật quét từng hàng (Row scanning) xuất mức logic LOW lần lượt vào từng hàng, sau đó đọc trạng thái các cột (được cấu hình INPUT_PULLUP). Nếu cột nào ở mức LOW, vị trí phím được xác định duy nhất qua bảng tra cứu tọa độ:
#include "stm32f1xx_hal.h"
#define ROW_PORT GPIOB
#define COL_PORT GPIOA
const uint16_t ROW_PIN[4] = {GPIO_PIN_12, GPIO_PIN_13, GPIO_PIN_14, GPIO_PIN_15};
const uint16_t COL_PIN[4] = {GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2, GPIO_PIN_3};
const char KEY_MAP[4][4] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
char KEYPAD_Scan(void) {
for (int r = 0; r < 4; r++) {
// Đặt tất cả các hàng lên HIGH
for (int i = 0; i < 4; i++) {
HAL_GPIO_WritePin(ROW_PORT, ROW_PIN[i], GPIO_PIN_SET);
}
// Kéo hàng hiện tại xuống LOW
HAL_GPIO_WritePin(ROW_PORT, ROW_PIN[r], GPIO_PIN_RESET);
HAL_Delay(2); // Thời gian ổn định điện áp (Debounce)
// Quét các cột
for (int c = 0; c < 4; c++) {
if (HAL_GPIO_ReadPin(COL_PORT, COL_PIN[c]) == GPIO_PIN_RESET) {
while (HAL_GPIO_ReadPin(COL_PORT, COL_PIN[c]) == GPIO_PIN_RESET); // Chờ nhả phím
return KEY_MAP[r][c];
}
}
}
return 0; // Không có phím nào được bấm
}
2. Giải thuật ghi/đọc cấu hình vào bộ nhớ On-chip Flash
Để đảm bảo mật khẩu và UID thẻ không bị xóa khi mất nguồn điện, hệ thống sử dụng Page cuối cùng của Flash (Page 63, địa chỉ 0x0800 FC00 đối với bản 64KB Flash) để lưu dữ liệu:
#define FLASH_STORAGE_PAGE_ADDR 0x0800FC00
#define FLASH_KEY_HEADER 0xA5A5
typedef struct {
uint16_t Header;
char MasterPassword[8];
uint8_t RegisteredCardUID[5][4]; // Lưu tối đa 5 thẻ RFID (4-byte UID)
uint8_t CardCount;
uint8_t FailedAttempts;
} SystemConfig_t;
HAL_StatusTypeDef Flash_SaveConfig(SystemConfig_t *config) {
HAL_StatusTypeDef status;
FLASH_EraseInitTypeDef EraseInitStruct;
uint32_t PageError;
HAL_FLASH_Unlock();
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;
EraseInitStruct.PageAddress = FLASH_STORAGE_PAGE_ADDR;
EraseInitStruct.NbPages = 1;
status = HAL_FLASHEx_Erase(&EraseInitStruct, &PageError);
if (status != HAL_OK) {
HAL_FLASH_Lock();
return status;
}
uint16_t *dataPtr = (uint16_t *)config;
uint32_t wordsToWrite = sizeof(SystemConfig_t) / 2;
for (uint32_t i = 0; i < wordsToWrite; i++) {
status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD,
FLASH_STORAGE_PAGE_ADDR + (i * 2),
dataPtr[i]);
if (status != HAL_OK) break;
}
HAL_FLASH_Lock();
return status;
}
3. Cơ chế bảo vệ chống tấn công vét cạn (Anti-Brute Force Lockout)
Giải thuật giám sát số lần nhập sai liên tiếp. Khi số lần sai $\ge 3$, hệ thống khóa bàn phím và module đọc thẻ trong thời gian $T_{\text{lock}} = N_{\text{fail}} \times 40\text{ giây}$:
void Security_CheckFailedAttempts(uint8_t *failCount) {
(*failCount)++;
if (*failCount >= 3) {
uint32_t lockTimeSec = (*failCount) * 40; // Tăng dần: 120s, 160s, 200s...
LCD_Clear();
LCD_Print("HE THONG BI KHOA");
for (uint32_t t = lockTimeSec; t > 0; t--) {
// Bật còi báo động gián đoạn
HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, (t % 2 == 0) ? GPIO_PIN_SET : GPIO_PIN_RESET);
HAL_Delay(1000);
}
HAL_GPIO_WritePin(BUZZER_PORT, BUZZER_PIN, GPIO_PIN_RESET);
}
}
Thử nghiệm và kiểm chứng hiệu năng thực tế
Hệ thống được thử nghiệm thực tế với 500 chu kỳ đóng mở liên tục để đánh giá độ chính xác, độ trễ và độ tin cậy phần cứng:
Tốc độ phản hồi và xác thực của hệ thống (Đo bằng Logic Analyzer)
--------------------------------------------------------------------------------
1. Quẹt thẻ RFID RC522: |====| (95 ms)
2. Nhập mã PIN qua Keypad: |=======| (140 ms)
3. Cảm biến sinh trắc AS608: |========================| (380 ms)
4. Thời gian kích mở chốt: |==| (45 ms)
--------------------------------------------------------------------------------
0 ms 200 ms 400 ms
| Tham số kiểm thử |
Giá trị thiết kế dự kiến |
Kết quả đo thực tế |
Tỷ lệ đạt (%) |
Ghi chú kỹ thuật |
| Khoảng cách đọc RFID |
$0 - 60\text{ mm}$ |
$30 - 45\text{ mm}$ |
100% |
Đáp ứng tốt qua vỏ nhựa ABS $3\text{ mm}$ |
| Thời gian nhận dạng vân tay |
$< 0.4\text{ s}$ |
$0.38\text{ s}$ |
98.4% |
AS608 xử lý ở Baudrate 57600 bps |
| Độ trễ kích mở chốt cửa |
$< 0.2\text{ s}$ |
$0.045\text{ s}$ |
100% |
Transistor kích Rơ-le tức thời |
| Dòng tiêu thụ chế độ tĩnh |
$< 80\text{ mA}$ |
$62\text{ mA}$ |
100% |
Đo ở điện áp đầu vào 12VDC |
| Dòng tiêu thụ khi mở chốt |
$< 700\text{ mA}$ |
$540\text{ mA}$ |
100% |
Cuộn hút Solenoid 12VDC đóng trong 5s |
| Tỷ lệ nhận diện sai thẻ (FAR) |
$< 0.001%$ |
$0.000%$ |
100% |
Kiểm tra trên tập mẫu 50 thẻ khác nhau |
| Tỷ lệ từ chối thẻ đúng (FRR) |
$< 1.0%$ |
$0.2%$ |
99.8% |
Do quẹt thẻ quá nhanh ($< 50\text{ ms}$) |
Đổi mới và đóng góp
- Kiến trúc lưu trữ không dùng EEPROM ngoài: Tận dụng triệt để kiến trúc Flash Memory của STM32F103C8T6 để cấu hình mô phỏng EEPROM (Flash EEPROM Emulation). Giải pháp này giúp cắt giảm 1 linh kiện phần cứng (IC nhớ I2C như AT24C08), giảm diện tích PCB $15%$ và tiết kiệm chi phí BOM.
- Cơ chế kiểm soát an ninh đa tầng với thuật toán khóa lũy tiến: Khác với các mô hình khóa cơ bản chỉ phát còi khi sai 3 lần, hệ thống đưa vào biến trạng thái lưu trực tiếp số lần nhập sai vào bộ nhớ Flash. Ngay cả khi kẻ gian cố tình ngắt nguồn điện và cắm lại, hệ thống vẫn duy trì trạng thái khóa nếu chưa hết thời gian phạt.
- Tối ưu hóa năng lượng và triệt tiêu xung can nhiễu: Thiết kế mạch in (PCB Layout trên EasyEDA) tách biệt đường mạch công suất cao của khóa 12V ($2.0\text{ mm}$) và đường tín hiệu Logic ($0.4\text{ mm}$), tích hợp mạch lọc RC và tụ hóa khử nhiễu nguồn giúp vi điều khiển không bị Reset ngẫu nhiên do sụt áp khi cuộn hút chốt điện từ kích hoạt.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
- Căn hộ chung cư và nhà ở riêng lẻ: Lắp đặt tại cửa ra vào chính, thay thế ổ khóa cơ cổ điển. Cho phép cấp thẻ RFID cho các thành viên, cài đặt mật khẩu dự phòng khi quên thẻ và sử dụng nút Exit mở cửa nhanh từ bên trong.
- Phòng máy chủ (Server Room) và Phòng Lab Nghiên cứu: Yêu cầu xác thực nghiêm ngặt bằng thẻ RFID quản trị viên (Master Card) để đăng ký hoặc xóa quyền truy cập của sinh viên/nhân viên, đồng thời ngăn chặn tuyệt đối việc dò mật khẩu.
SƠ ĐỒ ĐẤU NỐI TRIỂN KHAI THỰC TẾ
[Nguồn điện lưới 220VAC]
|
v
+------------------------------+
| Hộp nguồn Adapter 12VDC - 2A |
+--------------+---------------+
|
+-------------+-------------+
| |
v (12VDC cấp nuôi) v (12VDC qua tiếp điểm Rơ-le)
+----+-------------------+ +----+--------------------------------+
| BO ĐIỀU KHIỂN TRUNG | | KHÓA CHỐT RƠI 12VDC |
| TÂM (STM32 + NGUỒN) | | (Gắn âm khung cửa gỗ/nhôm kính) |
+----+--------+--------+-+ +----+--------------------------------+
| | | |
| (SPI) | (I2C) | (GPIO) | (Dây tín hiệu trạng thái)
v v v v
+-------+ +-------+ +------+ +-----------------------------------+
| Đầu đọc| | LCD | | Nút | | Cảm biến má từ phát hiện cửa mở |
| RFID | | 1602 | | Exit | | (Door Sensor - Tùy chọn) |
| Ngoài | | Hiển | | Trong| | |
| cửa | | thị | | nhà | | |
+-------+ +-------+ +------+ +-----------------------------------+
Bảng dự toán chi phí phần cứng (BOM - Bill of Materials)
| STT |
Tên linh kiện / Module |
Thông số kỹ thuật chính |
Số lượng |
Đơn giá ước tính (VNĐ) |
| 1 |
Kit phát triển STM32F103C8T6 |
ARM Cortex-M3, 72MHz, 64KB Flash |
01 |
65.000 |
| 2 |
Module RFID RC522 + Thẻ Mifare |
Tần số 13.56 MHz, giao tiếp SPI |
01 |
35.000 |
| 3 |
Cảm biến vân tay quang học AS608 |
Giao tiếp UART, 57600 bps |
01 |
180.000 |
| 4 |
Bàn phím ma trận 4x4 |
Dạng phím màng mềm, 8-pin |
01 |
15.000 |
| 5 |
Màn hình LCD1602 + PCF8574 |
Màn hình xanh dương, I2C backpack |
01 |
45.000 |
| 6 |
Khóa chốt điện từ LY-03 |
Điện áp 12VDC, công suất 0.6W |
01 |
60.000 |
| 7 |
Mạch nguồn + Khối cách ly |
LM7805, LM1117-3.3, Relay 5V, C1815 |
01 combo |
30.000 |
| 8 |
Gia công mạch in PCB + Phụ kiện |
Phíp đồng FR4, domino, còi chíp |
01 bộ |
40.000 |
| Tổng |
Tổng chi phí phần cứng |
|
|
470.000 VNĐ |
Hiệu quả kinh tế (ROI): Với tổng chi phí sản xuất phần cứng dưới $500.000\text{ VNĐ}$, giải pháp này chỉ bằng $15 - 20%$ giá thành của các loại khóa điện tử nhập khẩu trên thị trường nhưng vẫn đảm bảo toàn bộ các tính năng bảo mật then chốt, mang lại tỷ suất hoàn vốn và tính thương mại hóa cao cho các dự án nhà ở xã hội hoặc ký túc xá sinh viên.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Phụ thuộc nguồn điện lưới: Hệ thống sử dụng nguồn chính 220VAC qua Adapter hạ áp, chưa tích hợp mạch sạc xả pin Lithium-ion 18650 để duy trì hoạt động liên tục khi xảy ra sự cố cắt điện.
- Dung lượng lưu trữ giới hạn: Kiến trúc lưu trữ trực tiếp trên Page Flash hiện tại hỗ trợ tối đa 10 thẻ RFID và 1 mã Master để tránh phân mảnh bộ nhớ.
- Chưa có kết nối mạng: Mọi tác vụ quản trị (thêm thẻ, đổi mật khẩu) bắt buộc phải thực hiện trực tiếp trên bàn phím phần cứng tại cửa.
Hướng phát triển nâng cao
- Tích hợp module truyền thông không dây: Bổ sung vi điều khiển ESP32 giao tiếp UART với STM32 để đồng bộ dữ liệu thời gian thực lên hệ sinh thái Home Assistant hoặc nền tảng đám mây AWS IoT Core / Firebase.
- Ứng dụng thuật toán mã hóa AES-128: Nâng cấp bảo mật truyền thông trên đường truyền SPI giữa module RFID và STM32, sử dụng thẻ chuẩn Mifare Desfire chống sao chép và nhân bản mã thẻ UID.
- Nâng cấp mạch quản lý nguồn thông minh (Power Management IC): Tích hợp IC chuyên dụng TP4056 và mạch Boost DC-DC 3.7V lên 12V để kích hoạt nguồn dự phòng tức thì khi mất điện lưới.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI CHO CÁC NHÓM ĐỐI TƯỢNG |
+-------------------------------------------------------------------------------+
| SINH VIÊN & NGƯỜI HỌC LẬP TRÌNH VIÊN NHÚNG |
| - Tài liệu mẫu về ARM Cortex - Nắm vững kiến trúc Flash Emulation |
| - Thực hành ngoại vi SPI/I2C - Giải thuật khử rung phím & Anti-brute force |
+-------------------------------------------------------------------------------+
| DOANH NGHIỆP & STARTUP NHÀ NGHIÊN CỨU |
| - Cắt giảm 80% chi phí BOM - Nền tảng thử nghiệm giao thức bảo mật |
| - Dễ dàng sản xuất quy mô nhỏ - Dữ liệu kiểm thử độ trễ phần cứng thực tế |
+-------------------------------------------------------------------------------+
- Sinh viên chuyên ngành Điện tử - Viễn thông / Kỹ thuật Máy tính: Cung cấp tài liệu tham khảo hoàn chỉnh từ thiết kế sơ đồ nguyên lý (Schematic), vẽ mạch in PCB (Layout) đến lập trình điều khiển vi điều khiển 32-bit theo chuẩn thư viện HAL STM32.
- Kỹ sư phát triển hệ thống nhúng (Embedded Engineers): Tham khảo kiến trúc phân tầng phần mềm, phương pháp quét bàn phím phi chặn (Non-blocking scan) và kỹ thuật quản lý bộ nhớ Flash an toàn trong các hệ thống an ninh.
- Doanh nghiệp vừa và nhỏ (SMEs): Cung cấp thiết kế tham chiếu chi phí thấp để sản xuất các thiết bị kiểm soát cửa chuyên dụng cho văn phòng, nhà xưởng mà không phụ thuộc vào các giải pháp phần cứng đóng kín từ nước ngoài.
Câu hỏi thường gặp (FAQ)
1. Yêu cầu kỹ thuật tối thiểu để nạp code và chạy hệ thống là gì?
Cần chuẩn bị máy tính cài đặt môi trường phát triển Keil uVision5 (phiên bản MDK-ARM v5.28 trở lên), gói thư viện phần mềm Keil.STM32F1xx_DFP, mạch nạp ST-Link V2 kết nối qua cổng SWD (gồm 4 chân: $3.3\text{V}$, GND, SWDIO, SWCLK) và phần mềm cấu hình đồ họa STM32CubeMX.
2. Khi mất điện đột ngột, dữ liệu thẻ RFID và mật mã có bị mất không?
Toàn bộ thông tin định danh (UID của thẻ), mật khẩu Master, mật khẩu người dùng và trạng thái số lần nhập sai được ghi trực tiếp vào khối nhớ Flash tĩnh (Page 63 của bộ nhớ Main Block) với tuổi thọ ghi xóa hơn $10.000$ lần và thời gian lưu trữ dữ liệu trên 10 năm. Khi có điện trở lại, chương trình System_Init() sẽ tự động đọc các giá trị này nạp vào biến quản lý trong RAM.
3. Làm thế nào để mở rộng thêm số lượng vân tay và thẻ từ khi bộ nhớ đầy?
Với cảm biến vân tay AS608, bộ nhớ trong của module đã hỗ trợ sẵn lưu trữ $300$ mẫu vân tay độc lập. Đối với thẻ RFID, nếu muốn quản lý trên $100$ thẻ cho tòa nhà, hệ thống có thể mở rộng thêm một chip bộ nhớ ngoài EEPROM 24C32 hoặc thẻ nhớ MicroSD thông qua bus SPI thứ hai (SPI2 trên các chân PB13, PB14, PB15 của STM32).
4. Hệ thống xử lý thế nào đối với hiện tượng nhiễu xung điện áp khi Rơ-le kích cuộn chốt 12V?
Mạch điều khiển sử dụng cách ly quang (Optocoupler PC817) hoặc đệm qua Transistor NPN kết hợp gắn song song một Diode 1N4007 phân cực ngược (Flyback Diode) ngay tại 2 đầu cuộn dây chốt cửa để hấp thụ toàn bộ sức điện động cảm ứng ngược ($V = -L \frac{di}{dt}$), đồng thời bố trí các tụ lọc gốm $100\text{ nF}$ đặt sát chân cấp nguồn của vi điều khiển.
5. Chi phí triển khai thực tế và thời gian bảo trì định kỳ như thế nào?
Tổng chi phí linh kiện phần cứng để lắp ráp hoàn chỉnh một bộ khóa rơi vào khoảng $470.000\text{ VNĐ}$. Hệ thống vận hành ổn định trong môi trường nhiệt độ phòng ($0^\circ\text{C} - 50^\circ\text{C}$) và chỉ cần kiểm tra định kỳ 6 tháng/lần đối với các tiếp điểm cơ khí của chốt cửa và độ nhạy của bề mặt cảm biến quang học.
Kết luận
Đồ án "Thiết Kế Hệ Thống Cửa Thông Minh Sử Dụng Vi Điều Khiển STM32" đã giải quyết thành công bài toán an ninh vật lý cho nhà thông minh thông qua việc tích hợp đa phương thức xác thực trên nền tảng vi điều khiển 32-bit hiệu năng cao STM32F103C8T6. Sản phẩm đạt được độ chính xác tuyệt đối trong việc nhận diện thẻ RFID và mật khẩu ma trận, độ trễ kích mở chốt dưới $0.05\text{ giây}$, đồng thời triển khai hoàn thiện giải thuật bảo vệ chống tấn công cưỡng bức.
Với chi phí chế tạo tối ưu, mã nguồn được module hóa rõ ràng theo chuẩn công nghiệp và khả năng mở rộng kết nối không dây linh hoạt, đề tài không chỉ hoàn thành xuất sắc mục tiêu học thuật mà còn mở ra hướng phát triển thương mại hóa thành các sản phẩm an ninh Make-in-Vietnam chất lượng cao, phục vụ thiết thực cho đời sống xã hội.