Đồ án tốt nghiệp: Hệ thống điểm danh và quản lý học sinh - ĐH SPKT TPHCM

Đồ án tốt nghiệp hệ thống điểm danh và quản lý học sinh ứng dụng công nghệ RFID, vân tay, IoT trên nền tảng Arduino và ngôn ngữ lập trình C#.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2019

70
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Hệ thống Điểm Danh RFID và Vân Tay

Hệ thống điểm danh học sinh bằng RFID và vân tay là một giải pháp công nghệ hiện đại trong lĩnh vực giáo dục. Đây là sự kết hợp giữa công nghệ RFID (Radio Frequency Identification) và sinh trắc học vân tay nhằm tự động hóa quá trình ghi nhận sự có mặt của học sinh. Thay vì sử dụng phương pháp điểm danh truyền thống bằng tay, hệ thống này cho phép quản lý học sinh một cách chính xác, nhanh chóng và hiệu quả. Công nghệ này không chỉ tiết kiệm thời gian mà còn giảm thiểu sai sót trong công tác quản lý. Với sự phát triển của Internet of Things (IoT) và tự động hóa, các trường học hiện nay đang dần chuyển đổi sang hệ thống này để nâng cao chất lượng giáo dục và quản lý.

1.1. Khái niệm Công nghệ RFID

RFID (Radio Frequency Identification) là công nghệ nhận dạng tần số vô tuyến. Hệ thống RFID bao gồm thẻ từ, đầu đọc và phần mềm quản lý. Mỗi học sinh được cấp một thẻ RFID duy nhất chứa thông tin cá nhân. Khi học sinh mang thẻ đi qua đầu đọc RFID, thông tin sẽ được tự động ghi nhận vào hệ thống mà không cần tiếp xúc trực tiếp. Công nghệ này có tốc độ đọc nhanh, độ chính xác cao và có thể hoạt động trong điều kiện khác nhau.

1.2. Ứng dụng Sinh Trắc học Vân Tay

Sinh trắc học vân tay là phương pháp xác thực sinh học sử dụng các đặc điểm độc nhất của vân tay. Hệ thống vân tay đọc và so sánh các dặc điểm riêng biệt của mỗi cá nhân. Phương pháp này cung cấp bảo mật caochống giả mạo hiệu quả. Kết hợp với RFID, nó tạo nên một hệ thống điểm danh an toàn và đáng tin cậy cho các nhà trường, đảm bảo chỉ có học sinh thực sự mới có thể ghi nhận sự có mặt.

II. Kiến Trúc Hệ Thống và Các Thành Phần Chính

Hệ thống điểm danh RFID và vân tay được thiết kế với kiến trúc phân tầng, bao gồm ba lớp chính: phần cứng, phần mềm nhúng và ứng dụng quản lý. Tại mỗi điểm điểm danh (cổng vào lớp học), một thiết bị điều khiển trung tâm như Arduino được lắp đặt cùng với cảm biến RFIDcảm biến vân tay. Dữ liệu điểm danh được thu thập tại các điểm này và truyền tới máy chủ trung tâm thông qua kết nối LoRa hoặc mạng không dây. Cơ sở dữ liệu SQL Server lưu trữ toàn bộ thông tin học sinh và lịch sử điểm danh. Cuối cùng, một ứng dụng quản lý được phát triển trên Microsoft Visual Studio cho phép quản trị viên theo dõi, phân tích và báo cáo tình hình điểm danh.

2.1. Thiết Bị Phần Cứng

Phần cứng hệ thống bao gồm Arduino làm bộ xử lý trung tâm, module RFID để đọc thẻ từ, cảm biến vân tay để xác thực sinh học, và module truyền LoRa cho liên lạc không dây. Chip thời gian thực DS1307 cấp dấu thời gian chính xác cho mỗi bản ghi. Các thiết bị này tích hợp với nhau tạo nên một hệ thống nhúng ổn định, tiết kiệm năng lượng và có khả năng mở rộng cao.

2.2. Phần Mềm Quản Lý Trung Tâm

Ứng dụng quản lý được xây dựng bằng C# trên nền tảng Visual Studio và kết nối với cơ sở dữ liệu SQL Server. Phần mềm cho phép quản lý dữ liệu học sinh, kiểm tra điểm danh theo thời gian thực, xuất báo cáo theo lớp, theo ngày hoặc theo tuần. Giao diện thân thiện giúp giáo viên và quản trị viên dễ dàng sử dụng và trích xuất thông tin cần thiết một cách nhanh chóng.

III. Quy Trình Hoạt Động của Hệ Thống

Quy trình hoạt động hệ thống điểm danh bắt đầu khi học sinh đến trường. Học sinh sử dụng thẻ RFID để quét tại đầu đọc RFID được lắp đặt ở cổng vào. Đồng thời, học sinh cũng cần quét vân tay vào cảm biến vân tay để xác thực danh tính. Sau khi xác thực thành công, dữ liệu điểm danh (mã học sinh, thời gian, lớp) được ghi nhận và mã hóa bằng Arduino. Thông tin này được truyền tới máy chủ trung tâm thông qua kết nối LoRa hoặc mạng Internet. Cơ sở dữ liệu lưu trữ và cập nhật thông tin theo thời gian thực. Giáo viên và quản trị viên có thể xem báo cáo điểm danh tức thì trên ứng dụng quản lý, giúp nâng cao hiệu quả quản lýhỗ trợ quyết định kịp thời.

3.1. Ghi Nhận Dữ Liệu

Khi thẻ RFID được quét, đầu đọc phát hiện và trích xuất thông tin từ thẻ. Cảm biến vân tay đồng thời quét và xác thực vân tay của học sinh. Arduino xử lý dữ liệu từ cả hai cảm biến, kết hợp với dấu thời gian chính xác từ DS1307, tạo thành một bản ghi điểm danh hoàn chỉnh. Quá trình này diễn ra trong vài giây, đảm bảo hiệu suất caokhông làm gián đoạn hoạt động của trường.

3.2. Truyền Tải và Lưu Trữ

Dữ liệu đã xác thực được module LoRa truyền tới máy chủ trung tâm. Kết nối LoRa cho phép truyền thông không dây với khoảng cách xatiêu thụ năng lượng thấp. Tại máy chủ, SQL Server tiếp nhận và lưu trữ dữ liệu vào cơ sở dữ liệu. Dữ liệu được tổ chức theo cấu trúc, cho phép truy vấn nhanhphân tích dễ dàng.

IV. Lợi Ích và Tương Lai Ứng Dụng

Hệ thống điểm danh RFID và vân tay mang lại nhiều lợi ích thiực tiễn cho các nhà trường. Thứ nhất, nó tự động hóa quá trình điểm danh, giảm thời gian và công sức của giáo viên. Thứ hai, độ chính xác caochống gian lận nhờ sinh trắc học vân tay đảm bảo tính minh bạch và công bằng. Thứ ba, báo cáo tự động giúp quản lý học sinh hiệu quả hơn, hỗ trợ phát hiện vắng mặt sớm. Thứ tư, dữ liệu tập trung dễ truy xuất và phân tích, cung cấp cơ sở dữ liệu quý báu cho quản lý giáo dục. Trong tương lai, hệ thống này có thể được mở rộng để tích hợp thêm các tính năng quản lý khác như kiểm tra sức khỏe, quản lý bữa ăn, hoặc theo dõi an toàn học sinh, đóng góp vào nền giáo dục số của nước ta.

4.1. Lợi Ích Về Hiệu Quả và Tiết Kiệm

Hệ thống tự động hóa loại bỏ hoàn toàn phương pháp điểm danh thủ công, tiết kiệm hàng giờ mỗi tuần cho nhân viên giáo dục. Chi phí vận hành thấp nhờ công nghệ LoRa tiết kiệm năng lượngbảo trì đơn giản. Báo cáo tự động được tạo trong vài cú nhấp chuột, hỗ trợ ra quyết định nhanh chóng. Hiệu suất làm việc tăng lên đáng kể, giải phóng tài nguyên nhân lực cho những công việc quan trọng hơn.

4.2. Triển Vọng Phát Triển Trong Tương Lai

Hệ thống này có tiềm năng mở rộng sang các lĩnh vực khác như quản lý ra vào, kiểm soát truy cập, quản lý tài sản học tập. Kết hợp với Artificial IntelligenceBig Data, nó có thể dự đoán hành vi học sinh, tối ưu hóa quản lý lớp. Ứng dụng di động có thể cho phép phụ huynh theo dõi điểm danh con em mình. Đây là bước tiến quan trọng hướng tới giáo dục thông minh (Smart Education) ở Việt Nam.

28/12/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan. 2 Trong chương này trình bày về định nghĩa, khái niệm và lịch sử phát triển của các thiết bị liên quan. Bên cạnh đó, trình bày về công nghệ RFID và công nghệ mạng LoRa. Chương 2: Cơ sở lý thuyết.

Trong chương trình, sinh viên thực hiện đề tài giới thiệu sơ lược về kit Arduino Mega và Arduino UNO, mạng LoRa, các chuẩn giao tiếp, truyền thông Web Server,… Chương 3: Thiết kế và thi công. Trong chương này trình bày về việc phân tích ý tưởng, thiết kế hệ thống và thi công hệ thống. Chương 4: Kết quả thực hiện. Trong chương này, sinh viên thực hiện trình bày kết quả đạt được, video, số liệu, hình ảnh hệ thống sau thi công.

Chương 5: Kết luận và hướng phát triển. Trong chương này, sinh viên thực hiện đưa ra kết luận, những hạn chế và hướng phát triển dự án. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 2. Giới thiệu chung Hình 2.1: Logo Arduino Arduino là một board mạch vi xử lý được sinh tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc môi trường được thuận lợi hơn.

Phần cứng được thiết kế trên nền tảng vi xử lý AVR Atmel 8-bit hoặc ARM Atmel 32-bit. Nhưng model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân vào đọc tín hiệu tương tự, 14 chân vào/ra đọc tín hiệu số tương thích với nhiều board mở rộng khác nhau. Nhà thiết kế Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên hoặc giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác thông qua cảm biến và các cơ cấu chấp hành. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và sử dụng ngôn ngữ C hoặc C++ cho lập trình Arduino.

Lịch sử phát triển Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea). Cái tên “Arduino” đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt. Phần cứng Arduino Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp nó dễ dàng lập trình và có thể mở rộng với các mạch khác. Đồng thời, cho phép người dung kết nối với CPU của board với các module thêm vào có thể chuyển đổi dễ dàng, được gọi là shield.

Arduino chính thức sử dụng các dòng chip megaAVR, đặc biết là Atmega8, Atmega168, Atmega328, Atmega1280 và Atmega2560. Hầu hết các dòng vi xử lý này gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16MHz. Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một bootloader cho phép đơn giản nạp chương trình vào bộ nhớ flash trên vi điều khiển. Khi sử dụng ngắn xếp phần mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức hiện lại tùy thuộc và đời phần cứng.

Các 4 board Serial Arduino có chưa một mạch chuyển đổi giữa RS232 sang TTL. Các board Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông quá chip chuyển đổi USB sang Serial. Board Arduino đúa hầu hết cac chân I/O của vi điều khiển để sử dụng những mạch ngoài. Các model board Diecimila, Duemilanove và UNO đứa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân vào đọc tín hiệu tương tự (có thể sử dụng như 6 chân đọc tín hiệu số) 2.

Môi trường phát triển tích hợp (IDE) IDE của Arduino là một ứng dụng đa nền tảng (cross-platform) được viết bằng Java và từ IDE nãy sẽ được sử dụng cho ngôn ngữ lập trình xử lý (Processing Programming Language). Bao gồm một chương trình soạn thảo chương trình với các chức năng như đánh dấu cú pháp, tự động brace matching (được hiểu tự động thêm dấu ngoặc) và tự động canh lề, hỗ trợ biên dịch (complie) và nạp chương trình vào board. Một chương trình viết cho Arduino được gọi là một sketch. Các chương trình Arduino được viết bằng C hoặc C++.

Arduino IDE đi kèm với một thư viện phần mềm được gọi là Wiring, giúp tạo các thao tác vào/ra được dễ dàng hon. Người dùng chỉ cần định nghĩa 2 hầm để tạo ra một chương trình vong thực thi (cyclic executive) có thể chạy được: - Setup(): hàm này được thực hiện mỗi khởi động một chương trình, dùng để thiết lập cadi đặt. - Loop(): cho phép lặp lại cho đến khi tắt nguồn board mạch. #define LED_PIN 13 void setup () { pinMode (LED_PIN, OUTPUT); // Đặt chân 13 làm đầu ra digital } void loop () { digitalWrite (LED_PIN, HIGH); // Bật LED on delay (1000); // chờ trong 1 giây digitalWrite (LED_PIN, LOW); // Tắt LED off delay (1000); // chờ trong 1s } Hầu hết các board Arduino có tích hợp một đèn LED và điện trở nối giữa chân 13 với đất, thuận lợi cho nhiều ứng dụng đơn giản.

Đoạn code ở trên không thể đọc được bởi một trình biên dịch C++ chuẩn như là một chương trình đúng, vì vậy khi ta click vào nút “Upload to I/O board” trong IDE này, một bản sao của chương trình sẽ đượcg ghi vào một file tạm với một extra include header ở phía trên cùng và một hàm main() đơn giản nằm ở phía đáy, để tạo thành một chương trình C++ khả dụng. Các board mạch Arduino 2. Arduino UNO R3 Hình 2.2: Board mạch Arduino UNO R3 Arduino UNO có thể sử dụng 3 vi điều khiển họ 8-bit AVR là Atmega8, Atmega168, Atmega168 và Atmega328. Bộ não này có thể xử lý những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu từ xa, đọc giá trị cảm biến,… Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển Arduino Atmega328 với giá khoảng 90.

Tuy nhiên, người dùng có thể sử dụng các loại vi điều khiển khác có chức năng tương tự nhưng rẻ hơn Atmega8 (bộ nhớ flash 8KB) hoặc Atmega168 (bộ nhớ flash 16KB).  Thông số kỹ thuật: Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Điện áp vào (đề nghị) 7V-15V Điện áp vào (giới hạn) 6V-20V Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA 32 KB (ATmega328) với 0.5KB dùng Bộ nhớ flash bởi bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Xung nhịp 16MHz Bảng 2.1: Thông số kỹ thuật board Arduino UNO R3  Năng lượng: Arduino UNO sử dụng nguồn điện 5VDC thông qua cổng USB hoặc cấp nguồn 7-12VDC qua cổng Adapter (giới hạn điện áp: 6-20VDC). Nhà sản xuất khuyến nghị 6 nguồn cấp đạt 9VDC là lý tưởng. Nếu người dùng cáp nguồn vượt quá ngưỡng cho phép sẽ làm hỏng Arduino UNO.

 Các chân năng lượng: GND (Ground): Cực âm của nguồn điện cấp cho Arduino UNO. Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thì GND phải được nối chung với nhau. 5VDC: Điện áp đầu ra 5VDC. Dòng điện tối đa cho phép 500mA.3VDC: Điện áp đầu ra 5VDC.

Dòng điện tối đa cho phép 50mA. IOREF: Điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này. Luôn đạt mức điện áp 5VDC. Lưu ý: Không được lấy nguôn 5VDC từ chân này để sử dụng bởi chức năng không phải là chân cấp nguồn.

Reset: Tích cực mức thấp (điện trở 10KΩ).  Lưu ý: Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó cần cẩn thận khi sử dụng. Việc làm chập mạch nguồn vào của Arduino UNO sẽ làm hỏng mạch.3VDC và 5VDC trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào.

Việc cấp nguồn sai vị trị có thể làm hỏng board. Điều này không được nhà sản xuất khuyến khích. Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6VDC có thể làm hỏng board. Cấp điện áp trên 13V vào chân Reset trên board có thể làm hỏng vi điều khiên Atmega328.

Cường độ dòng điện vào/ra ở các chân Digital và Analog nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.  Bộ nhớ: 32KB bộ nhớ Flash: những đoạn lệnh dùng để lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. 2KB cho SRAM: Giá trị của các biến khai báo khi lập trình sẽ được lưu tại đây. Khi khai báo nhiều biến thì càng cần nhiều bộ nhớ RAM.

Khi mất điện, dữ liệu trên SRAM sẽ bị mất. 1KB cho EEPROM: Dùng để lưu trữ chương trình.  Các cổng vào/ra: Arduino UNO có 14 chân tín hiệu số (digital) dùng để đọc hoặc xuất tín hiệu. Có 2 mức điện áp 0V và 5V với dòng vào/ra tối đa 40mA.

Một số chân tín hiệu số có chức năng riêng biệt như sau: 7 - 2 chân Serial: 0 (Rx) và 1 (Tx) dùng để gửi (transmit - Tx) và nhận (receive – Rx) dữ liệu TTL Serial. Arduino UNO có thể giao tiếp với các thiết bị khác thông qua 2 chân này. - Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK). Ngoài chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.

- LED13: Tích hợp 1 đèn LED màu cam (kí hiệu chữ L). Khi bấm nút Reset sẽ thấy đèn này nhấp nháy để báo hiệu. LED được nối với chân số 13 của board. - Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10- bit (0 → 2 10 – 1) để đọc giá trị điện áp trong khoảng 0V → 5V.

Với chân AREF trên board, người dùng có thể đưa điện áp tham chiếu khi sử dụng các chân analog. Tức là cung cấp mức điện áp 2.5V vào chân này thì người dùng có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải 8-bit. - Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Arduino Mega Hình 2.3: Board mạch Arduino Mega Arduino Mega 2560 R3 là phiên bản năng cấp của Arduino UNO R3 với có chân giao tiếp, ngoại vi và bộ nhớ nhiều hơn.

Phổ biến trên thị trường là phiên bản Mega 2560 là Revision 3 (R3).  Thông số kỹ thuật: Bảng 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ