Khóa luận Chế tạo mô hình cửa thông minh bảo mật bằng thẻ từ

pdf 39 trang thiennha21 15/04/2022 4130
Bạn đang xem 20 trang mẫu của tài liệu "Khóa luận Chế tạo mô hình cửa thông minh bảo mật bằng thẻ từ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfkhoa_luan_che_tao_mo_hinh_cua_thong_minh_bao_mat_bang_the_tu.pdf

Nội dung text: Khóa luận Chế tạo mô hình cửa thông minh bảo mật bằng thẻ từ

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP. HỒ CHÍ MINH KHOA VẬT LÝ PHAN NHỰT HUÂN CHẾ TẠO MÔ HÌNH CỬA THÔNG MINH BẢO MẬT BẰNG THẺ TỪ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHUYÊN NGÀNH: VẬT LÝ HỌC MÃ NGÀNH: 105 TP. HỒ CHÍ MINH – 04/2018
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP. HỒ CHÍ MINH KHOA VẬT LÝ PHAN NHỰT HUÂN CHẾ TẠO MÔ HÌNH CỬA THÔNG MINH BẢO MẬT BẰNG THẺ TỪ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHUYÊN NGÀNH: VẬT LÝ HỌC MÃ NGÀNH: 105 NGƯỜI HƯỚNG DẪN KHOA HỌC ThS. NGUYỄN TẤN PHÁT TP. HỒ CHÍ MINH – 04/2018
  3. Lời cảm ơn Trong thực tế không có thành công nào mà không gắn liền với sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian học tập trên giảng đường đại học, tôi đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý thầy cô, gia đình và bạn bè. Tôi xin gửi lời cảm ơn chân thành nhất của mình đến thầy Nguyễn Tấn Phát, người đã rất nhiệt tình, tận tâm, chu đáo cung cấp những kiến thức và hướng dẫn tôi thực hiện khóa luận này. Thầy là người truyền cho tôi niềm đam mê Vật Lý, truyền cho tôi sự đam mê khoa học và khao khát tìm tòi những kiến thức mới. Bên cạnh đó, tôi cũng xin gửi lời cảm ơn đến thầy Nguyễn Lâm Duy, thầy Nguyễn Hoàng Long, thầy Ngô Minh Nhựt, những người đã luôn động viên, hướng dẫn và hỗ trợ những lúc tôi gặp khó khăn khi thực hiện luận văn này. Tôi xin gửi lời cảm ơn đến các thầy, cô giảng viên Khoa Vật Lý, Trường Đại học Sư phạm TP. Hồ Chí Minh – những người đã trang bị cho tôi kiến thức hữu ích giúp tôi hoàn thành luận văn này. Cuối cùng tôi xin gửi lời cảm ơn đến các bạn sinh viên trong phòng thí nghiệm Vật lý đại cương nâng cao – những người đã luôn động viên, chia sẻ, giúp đỡ và đóng góp những ý kiến quý báu trong suốt quá trình tôi thực hiện luận văn. Cảm ơn bạn Trần Dương Anh Tài đã hỗ trợ LATEX giúp luận văn của tôi được hoàn thiện nhất. Tôi xin chân thành cảm ơn! Tp. Hồ Chí Minh, ngày 12 tháng 04 năm 2018 Sinh viên Phan Nhựt Huân
  4. Mục lục Trang Danh sách hình vẽ ii Danh sách bảng biểu iv Mở đầu 1 1 Cơ sở lý thuyết3 1.1 Arduino Mega 2560 R3 4 1.2 Hệ thống RFID 7 1.2.1 Module MFRC522 8 1.2.2 Thẻ từ 9 1.3 Module thẻ nhớ SD 10 1.4 Module thời gian thực DS1307 11 1.5 Module bluetooth HC-05 12 1.6 Màn hình LCD I2C 13 1.7 Động cơ RC Servo 14 2 Kết quả 15 2.1 Sơ đồ nguyên lý 15 2.2 Mô hình cửa tự động 19 2.3 Chương trình giao tiếp trên máy vi tính 24 2.4 Nhận xét và đánh giá 28 3 Kết luận và hướng phát triển 29 Các công trình đã công bố 31 Tài liệu tham khảo 32 i
  5. Danh sách hình vẽ Trang Hình 1.1: Giao diện phần mềm Arduino IDE. 4 Hình 1.2: Arduino Mega 2560 R3 5 Hình 1.3: Sơ đồ chân của Arduino Mega 2560 R3 qua phần mềm mô phỏng Proteus 6 Hình 1.4: Module RFID MFRC522 8 Hình 1.5: Thẻ Mifare Classic 1K. 9 Hình 1.6: Cấu trúc dữ liệu trong thẻ Mifare Classic 1K 9 Hình 1.7: Module thẻ nhớ SD 11 Hình 1.8: Module thời gian thực DS1307 12 Hình 1.9: Module bluetooth HC-05 13 Hình 1.10: Màn hình LCD I2C 13 Hình 1.11: Động cơ Micro Servo 9G 14 Hình 2.1: Sơ đồ nguyên lý cấu trúc hoạt động của hệ thống. . . . . . . . . 15 Hình 2.2: Mô hình cửa tự động 19 Hình 2.3: Cơ sở dữ liệu trong tập tin “Database.txt”. 20 Hình 2.4: Cửa tự động mở khi một thẻ hợp lệ được quét vào. . . . . . . . . 20 Hình 2.5: Hệ thống thông báo khi quét thẻ vào ngày không được phép vào. 21 Hình 2.6: Hệ thống thông báo khi thẻ quét vào không đúng thời gian được phép vào 22 Hình 2.7: Hệ thống thông báo khi thẻ quét vào đã hết hạn sử dụng. . . . . 22 Hình 2.8: Hệ thống thông báo khi mã thẻ quét vào không hợp lệ 23 Hình 2.9: Lịch sử quét thẻ được lưu trong tập tin “History.txt”. . . . . . . . 24 Hình 2.10: Giao diện chính trong chương trình giao tiếp với máy vi tính. . . 25 ii
  6. Hình 2.11: Cửa sổ xác nhận là người quản lí. 25 Hình 2.12: Hệ thống thông báo khi quá trình cập nhật cơ sở dữ liệu hoàn tất. 26 Hình 2.13: Quá trình ghi xóa dữ liệu vào thẻ từ 27 iii
  7. Danh sách bảng biểu Trang Bảng 2.1: Cấu trúc dữ liệu trong thẻ từ ứng với từng mã số sinh viên cụ thể. 16 iv
  8. Mở đầu Hiện nay, nhu cầu tự động hóa các thiết bị đang là một nhu cầu thiết yếu của cuộc sống hiện đại và cửa tự động là một trong số đó. Hệ thống cửa tự động hiện nay sử dụng nhiều công nghệ bảo mật khác nhau, trong đó bảo mật bằng thẻ từ được sử dụng khá phổ biến. Hệ thống cửa tự động bằng thẻ từ có rất nhiều ưu điểm: nhanh chóng, tiện lợi, tiết kiệm được thời gian đóng mở, độ bảo mật cao. Chính vì những ưu điểm trên mà ngày nay hệ thống này được sử dụng rộng rãi ở khắp nơi đặc biệt là tại các khách sạn, văn phòng, công ty. . . Hệ thống cửa tự động đóng mở bằng thẻ từ sử dụng công nghệ Radio Frequency Identification (RFID). RFID là công nghệ nhận dạng đối tượng bằng sóng vô tuyến. Hệ thống RFID hoạt động dựa trên nguyên tắc thu phát sóng điện từ cùng tần số với nhau. Một hệ thống RFID được cấu tạo bởi hai thành phần chính là thiết bị đọc và thiết bị phát mã RFID [1]. Khoảng cách giao tiếp giữa thiết bị đọc và thiết bị phát vào khoảng 60mm [1]. Do khoảng cách giao tiếp ngắn nên hệ thống RFID có độ bảo mật cao, tuyệt đối an toàn, mang lại sự tiện dụng, tính thẩm mỹ cao hơn ổ khóa cơ thông thường. Công nghệ cửa tự động bảo mật bằng thẻ từ đã được ứng dụng ở rất nhiều nơi. Tuy nhiên, tại Trường Đại học Sư phạm TP. Hồ Chí Minh chưa sử dụng công nghệ này. Đối với các phòng thí nghiệm của Khoa Vật Lý, việc bảo vệ dụng cụ thiết bị là rất quan trọng. Vì vậy, nhằm nâng cao khả năng bảo mật của phòng thí nghiệm thì việc xây dựng hệ thống cửa bảo mật bằng công nghệ khóa thẻ từ là rất cần thiết. Luận văn này bước đầu xây dựng một mô hình cửa tự động sử dụng công nghệ thẻ từ, sau đó định hướng áp dụng vào thực tế tại phòng thí nghiệm Vật lý đại cương nâng cao của Khoa Vật Lý – Trường Đại học Sư phạm TP. Hồ Chí Minh. Khi ứng dụng mô hình vào thực tế không những tăng cường độ bảo mật của phòng thí nghiệm thay cho ổ khóa thông thường mà còn thực hiện thêm chức năng điểm danh sinh viên ra vào phòng thí nghiệm. Để thực hiện chức năng này ta cần kiểm soát được các mã ghi trên thẻ từ. Các thẻ từ 1
  9. bán sẵn trên thị trường sử dụng mã do nhà sản xuất quy định. Vì thế ta không thể cá nhân hóa để quản lí hệ thống được. Thẻ từ cần được mã hóa lại để có thể quản lí. Việc kiểm soát được mã thẻ từ không những giúp ta quản lí tốt mà còn có thể cải tiến hệ thống nhằm phục vụ cho chức năng điểm danh sinh viên. Mô hình chế tạo được trong luận văn này có các đặc điểm nổi bật: hệ thống cửa hoạt động ổn định; mã thẻ từ được kiểm soát hoàn toàn và ta có thể mã hóa thẻ tùy theo ý muốn. Ngoài ra, hệ thống còn được tích hợp thêm các module khác nổi bật như module thẻ nhớ, thời gian thực và bluetooth. Đầu tiên, thẻ nhớ giúp lưu trữ cơ sở dữ liệu trong hệ thống. Kế đến, module thời gian thực giúp tăng cường thêm độ bảo mật thông qua việc đọc thời gian thực để so sánh với cơ sở dữ liệu. Ngoài ra, module này còn thực hiện chức năng điểm danh thông qua việc ghi lại lịch sử ra vào cửa. Module bluetooth có vai trò thực hiện giao tiếp không dây giữa hệ thống và máy vi tính thông qua chương trình giao tiếp. Chương trình được xây dựng giúp người quản lí cập nhật cơ sở dữ liệu trong hệ thống đồng thời thực hiện thao tác ghi/xóa dữ liệu trong thẻ từ. 2
  10. Chương 1 Cơ sở lý thuyết Trong mô hình cửa thông minh bảo mật bằng thẻ từ này, tôi sử dụng các linh kiện điện tử bao gồm vi điều khiển, module đọc/ghi thẻ từ, các module khác cùng với màn hình LCD và động cơ để đóng mở cửa. Hệ thống cửa được điều khiển bằng board mạch vi xử lý Arduino Mega 2560 R3. Thẻ từ được đọc thông qua module RFID MFRC522. Các thẻ từ có thể được thay đổi mã bằng cách ghi dữ liệu vào tùy theo ý muốn của người sử dụng. Việc thay đổi mã thẻ từ được thực hiện bởi chức năng ghi của module RFID MFRC522. Cơ sở dữ liệu của người dùng được quản lí lưu trữ trong thẻ nhớ SD. Ngoài ra, hệ thống còn lưu được thông tin lịch sử thời gian ra vào cụ thể của người sử dụng, giúp cho người quản lí có thể dễ dàng kiểm soát, truy xuất dữ liệu khi cần thiết. Thời gian được truy xuất trong hệ thống nhờ module thời gian thực DS1307. Kết nối truyền nhận dữ liệu không dây giữa hệ thống cửa với máy vi tính được thực hiện thông qua module bluetooth HC-05. Qua đó, người dùng có thể cập nhật dữ liệu trong hệ thống trực tiếp thông qua máy vi tính cá nhân. Giao diện trên máy vi tính được viết bởi ngôn ngữ Visual Basic bằng phần mềm Visual Studio 2015. Mô hình sử dụng một màn hình LCD giúp hiển thị trạng thái hoạt động của hệ thống. Động cơ Servo được sử dụng để đóng mở cửa trong mô hình. Chi tiết về từng bộ phận cấu thành nên hệ thống trên cũng như sơ lược về chức năng được đề cập cụ thể trong phần dưới đây. 3
  11. 1.1 Arduino Mega 2560 R3 Arduino là một board mạch được tích hợp vi điều khiển. Arduino hoạt động trên một nền tảng điện tử nguồn mở dựa trên phần cứng và phần mềm dễ sử dụng [2,3]. Arduino có thể đọc thông tin đầu vào từ một cảm biến bất kì hoặc một module khác, sau đó biến thông tin đó trở thành một đầu ra như dùng để kích hoạt động cơ, bật tắt đèn LED. . . Các tập lệnh được viết cho vi điều khiển trong board Arduino bằng ngôn ngữ lập trình C hoặc C++ thông qua phần mềm chuyên biệt được cung cấp bởi nhà sản xuất là Arduino IDE có giao diện như hình 1.1[3]. Hình 1.1: Giao diện phần mềm Arduino IDE. Arduino đầu tiên được chế tạo trong một dự án dành cho sinh viên tại Interaction Design Institute Ivrea (Học viện thiết kế tương tác Ivrea) nằm ở Ivrea, Italy [3]. Cái tên “Arduino” cũng xuất phát từ một quán bar tại Ivrea, nơi mà các nhà sáng lập của dự án này thường xuyên họp mặt [3]. Trong những năm qua, Arduino đã trở thành bộ não của hàng ngàn dự án, từ các vật dụng hằng ngày đến các công cụ khoa học phức tạp, các dự án ứng dụng IoT, chế tạo robot. . . Tất cả các board Arduino đều hoàn toàn là mã nguồn mở, cho phép người sử dụng xây dựng chúng một cách độc lập để tương thích với nhu cầu cụ thể của họ [3]. Phần mềm Arduino IDE cũng có mã nguồn mở và nó đang được phát triển thông qua sự đóng góp của người dùng trên toàn thế giới. Bất cứ ai đam mê về điều khiển, 4
  12. lập trình không chuyên đều có thể sử dụng Arduino một cách dễ dàng nhờ những trải nghiệm thật đơn giản. Đó chính là những ưu điểm nổi bật mà Arduino mang lại cho người dùng trên toàn cầu, thúc đẩy sự phát triển của khoa học kĩ thuật. Arduino bao gồm một vi điều khiển AVR kèm với nhiều linh kiện bổ sung giúp người sử dụng dễ dàng lập trình và có thể mở rộng kết nối với các mạch khác [4]. Mạch Arduino thường sử dụng các dòng chip megaAVR; đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280 và ATmega2560 [2]. Mỗi loại chip riêng biệt sẽ được tích hợp vào từng loại board Arduino khác nhau. Có nhiều loại Arduino hiện có trên thị trường hiện nay như Arduino Uno R3, Arduino Nano. . . Cụ thể hơn, trong mô hình này tôi sử dụng Arduino Mega 2560 R3. Hình ảnh của Arduino Mega 2560 R3 cùng với sơ đồ chân cụ thể được thể hiện như trên hình 1.2 và 1.3. Hình 1.2: Arduino Mega 2560 R3 [5]. 5
  13. Hình 1.3: Sơ đồ chân của Arduino Mega 2560 R3 qua phần mềm mô phỏng Proteus. Hình 1.3 mô tả sơ đồ chân của Arduino Mega 2560 R3 đầy đủ, chi tiết. Board mạch bao gồm các chân làm nhiệm vụ đọc và xuất tín hiệu. Tín hiệu được đọc và xuất có thể là tín hiệu số (digital) hoặc tín hiệu tương tự (analog). Tín hiệu số (digital) hay còn gọi là tín hiệu logic chỉ gồm hai trạng thái là mức thấp (mức logic 0) và mức cao (mức logic 1) [6]. Trong đó, mức thấp tương ứng với tín hiệu điện áp 0V, mức cao tương ứng với tín hiệu điện áp 5V. Tín hiệu tương tự (analog) được hiểu là dạng tín hiệu tuyến tính trong đó tín hiệu nằm trong dãy điện áp liên tục từ 0V đến 5V [6]. Trong mạch Arduino Mega gồm 54 chân digital, trong đó 15 chân có thể được sử dụng như các chân Pulse Width Modulation (PWM) [5]. Chân PWM trong Arduino còn được gọi là chân băm xung [2]. Trong mạch có 16 chân analog, 4 cổng Universal Asynchronous Receiver/Transmitter (UART) hay còn gọi là cổng nối tiếp với phần cứng. Arduino Mega sử dụng vi điều khiển ATmega2560 với bộ nhớ flash 256KB, SRAM 8KB và bộ nhớ EEPROM có dung lượng 4KB [4]. Tần số dao động được tạo ra bởi thạch anh là 16MHz [4]. Ngoài ra, Arduino Mega được trang bị đầy đủ các cổng giao tiếp khác thông dụng như SPI, I2C. . . [5]. So với vi điều khiển PIC thì Arduino mang nhiều ưu điểm hơn. Đầu tiên, Arduino là một board mạch đã được lắp ráp và tích hợp sẵn thạch anh nên khi sử dụng ta không cần phải mắc mạch giống như với PIC. Đối với PIC, để nạp code lập trình vào vi điều khiển cần phải sử dụng một mạch nạp chuyên dụng, rất tốn thời gian lắp ráp và khó sử dụng. Đối với Arduino thì nhược điểm trên được khắc phục hoàn toàn do Arduino được kết nối với máy vi tính đơn giản thông qua cổng USB nên việc nạp code vào thuận 6
  14. lợi, nhanh chóng và dễ dàng hơn. Chính vì những ưu điểm trên mà trong mô hình này tôi sử dụng Arduino và cụ thể là Arduino Mega 2560 R3 do bộ nhớ flash lớn (256KB), gấp 8 lần so với Arduino Uno R3 (32KB), phù hợp cho việc xử lí nhiều dữ liệu [4]. Trong hệ thống cửa tự động mà tôi xây dựng thì Arduino là một bộ phận rất quan trọng. Arduino đóng vai trò trung tâm điều khiển toàn bộ hoạt động của hệ thống, có nhiệm vụ nhận các thông số từ những module khác gửi đến, xử lý phân tích và thực hiện những tác vụ theo đúng yêu cầu. Cụ thể hơn, khi có thẻ từ quét vào hệ thống thì Arduino sẽ đọc dữ liệu mà module đọc thẻ từ MFRC522 gửi đến, sau đó đối chiếu với dữ liệu được rút trích ra từ cơ sở dữ liệu trong thẻ nhớ SD và so sánh, nếu trùng khớp thì Arduino tiến hành đọc dữ liệu từ module thời gian thực để kiểm tra thời gian được phép ra vào. Nếu thỏa điều kiện thì đây là một thẻ hợp lệ. Sau đó, Arduino xử lý và điều khiển module thẻ nhớ ghi lại lịch sử quét thẻ. Đồng thời Arduino cũng điều khiển màn hình LCD hiển thị quá trình làm việc của hệ thống để người dùng theo dõi. Cuối cùng, khi một thẻ hợp lệ được cho phép vào thì Arduino sẽ điều khiển động cơ Servo mở cửa theo đúng yêu cầu. Ngoài ra, Arduino còn điều khiển hoạt động truyền nhận dữ liệu giữa module bluetooth và máy vi tính thông qua chương trình giao tiếp để người quản lí cập nhật cơ sở dữ liệu trong hệ thống đồng thời ghi, xóa mã trong thẻ từ. 1.2 Hệ thống RFID Như đã trình bày ở phần mở đầu, hệ thống cửa tự động sử dụng thẻ từ được bảo mật thông qua công nghệ RFID. RFID là công nghệ nhận dạng đối tượng bằng sóng vô tuyến. Nguyên tắc hoạt động của hệ thống này dựa trên sự thu phát sóng điện từ cùng tần số. Các dãy tần số được sử dụng trong công nghệ RFID bao gồm dãy tần số thấp (LF), dãy tần số cao (HF), dãy tần số siêu cao (UHF) [7]. Trong mô hình cửa này sử dụng dãy tần số cao (HF) với tần số là 13,56MHz [1,8]. Hệ thống sử dụng công nghệ RFID được cấu tạo bởi hai thành phần chính là thiết bị đọc (module MFRC522) và thiết bị phát mã RFID (thẻ từ) [1,8]. Module MFRC522 được gắn anten để thu phát sóng điện từ. Thẻ từ bao gồm một mạch tích hợp gắn liền với một anten được in, khắc hay dán trên bề mặt [8]. Thẻ chứa rất nhiều mã nhận dạng khác nhau, thông thường là 32 bit tương ứng với hơn 4 tỷ mã số khác nhau [8]. Mỗi thẻ từ được nhà sản xuất gán một mã riêng biệt nên khả năng nhận dạng nhầm thẻ đó với một thẻ từ khác là 7
  15. rất thấp. Hơn nữa, khoảng cách giao tiếp giữa thẻ và module MFRC522 là rất ngắn (khoảng 60mm) [1]. Với ưu điểm về mặt công nghệ như vậy nên tính bảo mật và độ an toàn của các thiết bị ứng dụng công nghệ RFID là rất cao. Chính vì thế, công nghệ này có thể được ứng dụng rất nhiều vào trong thực tế điển hình như hệ thống cửa tự động, khóa chống trộm xe máy. . . 1.2.1 Module MFRC522 Module MFRC522 là module dùng để đọc và ghi thẻ từ. Module này hoạt động dựa trên kiểu giao tiếp đồng bộ nối tiếp ngoại vi SPI (Serial Peripheral Interface) với Arduino [1]. Điện áp sử dụng cho module này là 3,3V [1]. Module hoạt động thu sóng điện từ ở tần số 13,56MHz và khoảng cách hoạt động tối đa là 60mm [1]. Nghĩa là khi quét thẻ thì module đọc được dữ liệu của thẻ từ khi thẻ đặt cách bề mặt module tối đa là 60mm. Khoảng cách giao tiếp nhỏ là một trong những ưu điểm của công nghệ này vì với khoảng cách giao tiếp nhỏ, độ bảo mật thông tin sẽ cao hơn. Ngoài chức năng đọc dữ liệu trong thẻ từ, module này còn có thể ghi dữ liệu vào thẻ mà tôi sẽ đề cập ở phần dưới. Hình 1.4: Module RFID MFRC522 [1]. 8
  16. 1.2.2 Thẻ từ Thẻ từ sử dụng trong công nghệ RFID là loại thẻ thông minh không tiếp xúc (thẻ Mifare) được sản xuất bởi NXP Semiconductors [8]. Trong mô hình này, thẻ Mifare được sử dụng là loại Mifare Classic 1K. Thẻ này phát tần số 13,56MHz, phù hợp để module MFRC522 có thể ghi nhận được [8]. Hình 1.5: Thẻ Mifare Classic 1K [8]. Cấu trúc dữ liệu của thẻ Mifare Classic 1K được mô tả theo sơ đồ trong hình sau: Hình 1.6: Cấu trúc dữ liệu trong thẻ Mifare Classic 1K [8]. 9
  17. Loại thẻ Mifare Classic 1K có bộ nhớ EEPROM là 1KB, trong đó cấu trúc dữ liệu được chia thành 16 sector (được đánh số từ 0-15), mỗi sector bao gồm 4 block (được đánh số từ 0-3) [8]. Mỗi một block bao gồm 16 byte cũng được đánh số từ 0-15 như sơ đồ trên [8]. Thời gian lưu trữ dữ liệu trong thẻ tối đa là 10 năm và số lần đọc ghi tối đa của thẻ là 100000 lần [8]. Trong cấu trúc dữ liệu của thẻ, vị trí sector 0, block 0 được gọi là “Manufacturer Block” (block dành cho nhà sản xuất) [8]. Block này lưu tất cả thông tin từ nhà sản xuất quy định và mỗi một thẻ khi được xuất xưởng sẽ mang một mã số (UID) khác nhau được lưu tại vị trí block này [8]. Với mỗi một sector bất kì, vị trí block 3 được gọi là “Sector Trailer” và cũng được nhà sản xuất mã hóa thông tin [8]. Chỉ có những block còn lại trong các sector được gọi là “Data” thì ta mới có thể ghi dữ liệu vào [8]. Điểm khác biệt của hệ thống này so với các hệ thống đã có chính là việc mã hóa dữ liệu trong thẻ từ để phù hợp với mục đích sử dụng. Cụ thể, tôi tiến hành ghi dữ liệu vào block mang số thứ tự 4 (hoặc còn gọi là vị trí block 0 của sector 1) [8]. Dữ liệu được ghi vào dưới dạng mã hex và tôi chỉ ghi dữ liệu vào 4 byte đầu tiên trong một block. Để phù hợp với chức năng chính của hệ thống này là điểm danh sinh viên ra vào phòng thí nghiệm thì 4 byte dữ liệu được lưu trong thẻ chính là 4 phần tử của mã số sinh viên tương ứng. Ví dụ với mã số sinh viên cụ thể là 42.01.102.129 thì 4 byte dữ liệu được ghi trên thẻ từ sẽ tương ứng là 42, 1, 102, 129. Việc ghi dữ liệu vào thẻ được thực hiện thông qua module MFRC522. Nếu ta không thay đổi dữ liệu trong thẻ thì mặc định khi quét thẻ vào module đọc thì module này sẽ đọc UID tức là mã được quy định bởi nhà sản xuất (vị trí block 0 của sector 0) [8]. Vì vậy song hành cùng với việc ghi dữ liệu vào thẻ, ta sẽ tiến hành điều chỉnh module đọc thẻ từ trích xuất dữ liệu từ block mà ta vừa mới ghi dữ liệu vào để thuận lợi cho việc so sánh và đối chiếu. 1.3 Module thẻ nhớ SD Bộ phận tiếp theo trong hệ thống là module thẻ nhớ SD. Module này thực hiện chức năng đọc dữ liệu có trong thẻ nhớ. Cơ sở dữ liệu của từng người được lưu dưới một cấu trúc cụ thể trong thẻ nhớ SD. Ban đầu, cơ sở dữ liệu trong thẻ nhớ được đọc bằng module và sau đó truyền xuống Arduino để xử lý. Ngoài việc đọc dữ liệu trong thẻ nhớ SD thì module này còn hỗ trợ thêm chức năng ghi dữ liệu lên thẻ nhớ [9]. Chức năng đó được sử dụng cụ thể thông qua việc ghi lại lịch sử quét thẻ. Lịch sử sẽ được 10
  18. lưu lại dưới dạng file notepad (.txt) trong thẻ nhớ SD. Module hoạt động dựa trên giao tiếp SPI với Arduino, điện áp sử dụng trong module này là 5V [9]. Hình 1.7: Module thẻ nhớ SD [9]. 1.4 Module thời gian thực DS1307 Thời gian thực là một yếu tố không thể thiếu trong hệ thống này. Trong quá trình quét thẻ, việc kiểm soát thời gian ra vào cũng như ghi lại lịch sử thời gian quét rất quan trọng. Tương tự như trong thực tế, việc ghi lại lịch sử ra vào giúp người quản lí kiểm soát dễ dàng hệ thống và có thể thực hiện việc điểm danh. Thời gian thực được Arduino đọc từ module DS1307. Module này có cấu tạo nhỏ gọn, nổi bật nhất là một pin CMOS được lắp trực tiếp trên bề mặt. Pin CMOS giúp cho module này có thể hoạt động ngay cả khi ta không cấp điện cho nó. Module đọc các thành phần thời gian và lưu nó bằng những biến đặc trưng. Phút và giây được lưu lần lượt vào các biến “minute”, “second” và nhận các giá trị từ 00-59 [10]. Đối với giờ thì người dùng có thể thiết lập module làm việc ở chế độ 12 giờ hay chế độ 24 giờ [10]. Thành phần giờ được ghi lại vào biến “hour” và nhận các giá trị từ 01-12 (đối với chế độ 12 giờ) hay từ 00-23 (đối với chế độ 24 giờ) [10]. Thứ được lưu vào biến “day” và nhận các giá trị từ 1-7 lần lượt tương ứng từ ngày chủ nhật đến ngày thứ bảy trong tuần [10]. Thành phần ngày được lưu vào biến “date”, nhận các giá trị từ 01-31 [10]. Thành phần tháng được lưu vào biến “month”, nhận các giá trị từ 01-12 [10]. Cuối cùng, thành phần năm được lưu vào biến 11
  19. “year” với giá trị nhận được từ 00-99 [10]. Giao tiếp I2C là giao tiếp mà module này sử dụng để kết nối với Arduino [10]. Tương tự như những module khác, module này cũng hoạt động ở điện áp 5V [10]. Hình 1.8: Module thời gian thực DS1307 [10]. 1.5 Module bluetooth HC-05 Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cách ngắn. Chuẩn truyền thông này sử dụng sóng radio ngắn (UHF radio) trong dải tần số ISM (từ 2,4 đến 2,485GHz) [11]. HC-05 là module bluetooth rẻ, thông dụng ở thị trường Việt Nam, khoảng cách truyền của module này lên đến khoảng 10m [11]. HC-05 có thể hoạt động ở hai chế độ là “Command Mode” và “Data Mode” [11]. Ở chế độ Command Mode, ta có thể giao tiếp với module thông qua cổng serial bằng tập lệnh AT [11]. Ở chế độ Data Mode, module có thể truyền nhận dữ liệu tới các module bluetooth khác [11]. Trong hệ thống này, module HC-05 được thiết lập hoạt động ở chế độ Data Mode, có nhiệm vụ truyền nhận dữ liệu giữa Arduino và máy vi tính [11]. Hình 1.9 mô tả module trên và sơ đồ các chân của module này. 12
  20. Hình 1.9: Module bluetooth HC-05 [11]. 1.6 Màn hình LCD I2C Màn hình LCD (Liquid Crystal Display) hay còn gọi là màn hình tinh thể lỏng. Trong mô hình, LCD được sử dụng với chức năng hiển thị, thông báo các trạng thái làm việc của hệ thống đến người sử dụng. Module chuyển giao tiếp I2C được lắp trên LCD giúp LCD kết nối với Arduino thông qua giao tiếp I2C như hình 1.10[12]. Hình 1.10: Màn hình LCD I2C [12]. 13
  21. 1.7 Động cơ RC Servo Bộ phận cuối cùng sử dụng trong hệ thống cửa chính là động cơ Servo. Động cơ được sử dụng là loại Micro Servo 9G. Trong mô hình, động cơ Servo được sử dụng để đóng mở cửa. Động cơ có kích cỡ nhỏ gọn, phù hợp để sử dụng trong mô hình. Arduino điều khiển động cơ thông qua một chân băm xung (PWM), điện áp hoạt động của động cơ là 5V [13]. Hình 1.11: Động cơ Micro Servo 9G [13]. Tất cả các bộ phận trên đều có chức năng cụ thể, góp phần vào hoạt động chung của toàn bộ hệ thống. Ở chương tiếp theo, tôi sẽ trình bày các kết quả thu được trong luận văn này. 14
  22. Chương 2 Kết quả 2.1 Sơ đồ nguyên lý Hoạt động của hệ thống được thể hiện toàn bộ trong sơ đồ nguyên lý sau: Hình 2.1: Sơ đồ nguyên lý cấu trúc hoạt động của hệ thống. Từ sơ đồ này, ta có thể thấy được tầm quan trọng của Arduino. Arduino đóng vai trò là trung tâm điều khiển mọi hoạt động của hệ thống, nhận dữ liệu từ các module và thực hiện các tác vụ thích hợp. Sau đây, tôi sẽ đi vào cụ thể nguyên lý hoạt động chi tiết của từng thành phần trong hệ thống trên. 15
  23. Hoạt động của hệ thống trải qua nhiều giai đoạn. Đầu tiên, một thẻ từ mới mang thông tin của nhà sản xuất (mã UID). Sau đó, tôi tiến hành sử dụng module MFRC522 để ghi thêm dữ liệu vào thẻ. Như đã đề cập thì dữ liệu được ghi vào nằm ở 4 byte đầu tiên trong block 0 của sector 1, tương ứng với 4 phần tử của mã số sinh viên. Với từng sinh viên cụ thể, khi được cấp thẻ từ thì thẻ đó sẽ lưu thông tin mã số sinh viên tương ứng với sinh viên đó tại vị trí trên. Cụ thể hơn, ta xét một vài mã số sinh viên ví dụ như 42.01.102.129, 41.01.102.031, 42.01.102.060, 43.01.105.012, 43.01.102.053 thì cấu trúc dữ liệu trong thẻ của sinh viên đó sẽ có dạng như sau: Bảng 2.1: Cấu trúc dữ liệu trong thẻ từ ứng với từng mã số sinh viên cụ thể [8]. Sector Block Số byte trong một block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 42 1 102 129 00 00 00 00 00 00 00 00 00 00 00 00 1 0 41 1 102 31 00 00 00 00 00 00 00 00 00 00 00 00 1 0 42 1 102 60 00 00 00 00 00 00 00 00 00 00 00 00 1 0 43 1 105 12 00 00 00 00 00 00 00 00 00 00 00 00 1 0 43 1 102 53 00 00 00 00 00 00 00 00 00 00 00 00 Sau khi dữ liệu đã được ghi vào, thẻ này sẽ được cấp cho người sử dụng. Bên cạnh đó, người quản lí hệ thống này cần phải có một cơ sở dữ liệu riêng để quản lí. Trong đó, thông tin về thẻ được cấp sẽ được lưu lại. Cơ sở dữ liệu mà tôi thiết lập trong hệ thống này cho một thẻ bao gồm thông tin về mã số sinh viên, họ và tên của người được cấp thẻ. Ngoài ra còn có thêm thông tin về thời gian được phép ra vào cửa đối với người đó, cụ thể là vào các ngày nào trong tuần và trong khoảng thời gian nào. Nếu như thẻ được quét vào thời gian nằm ngoài khoảng thời gian cho phép thì người đó sẽ không thể vào cửa. Cơ sở dữ liệu được thiết kế cho người quản lí nằm trong thẻ nhớ SD với tên tập tin là “Database.txt”. 16
  24. Cấu trúc cụ thể của cơ sở dữ liệu tương ứng cho một người sẽ có dạng như sau: Cơ sở dữ liệu của một người được lưu dưới dạng một chuỗi như trên. Phân tích chuỗi trên, ta thấy rằng chuỗi trên gồm 9 thành phần được ngăn cách bởi các kí tự đặc biệt như “%”, “@”, “!”. . . Xét 4 thành phần đầu tiên trong chuỗi cụ thể là “42”, “01”, “102”, “129”. Những thành phần đó chính là 4 thành phần tương ứng của mã số sinh viên. Tiếp theo, kí tự “1” trong chuỗi trên được xem như thành phần hoạt động hay không hoạt động của thẻ này. Nếu như trong cơ sở dữ liệu, thành phần này mang giá trị là “1” thì nghĩa là hoạt động, thẻ của người dùng này vẫn còn được phép sử dụng để mở cửa. Ngược lại, nếu thành phần này mang giá trị “0” đồng nghĩa với không hoạt động thì thẻ cấp cho người này đã hết hạn sử dụng. Hai thành phần tiếp theo là “8” và “18” tương ứng với khoảng thời gian được phép ra vào cửa của người đó, cụ thể người này chỉ có thể được phép vào cửa trong khoảng thời gian từ 8 giờ đến 18 giờ. Thành phần tiếp theo là một dãy gồm 7 kí tự “1111111”, mỗi một kí tự tương ứng với một ngày trong tuần. Theo thứ tự từ trái sang phải thì kí tự đầu tiên sẽ tương ứng với ngày chủ nhật, kế đến là ngày thứ hai và cuối cùng kí tự kết thúc sẽ tương ứng với ngày thứ bảy của tuần. Nếu như kí tự tại vị trí ngày nào trong tuần là “1” thì nghĩa là ngày hôm đó, người đó được phép vào cửa. Ngược lại, nếu kí tự đó là “0” thì đồng nghĩa với ngày hôm đó, người đó không được phép vào. Trong ví dụ trên thì dãy “1111111” đồng nghĩa với người đó được phép vào tất cả các ngày trong tuần. Một ví dụ khác cho vấn đề này là dãy kí tự “0101010”. Dãy này tương ứng với ngày được phép vào chính là thứ hai, thứ tư, thứ sáu hằng tuần. Cuối cùng trong chuỗi trên là thành phần “PhanNhutHuan” tương ứng với tên của sinh viên cụ thể ứng với mã số sinh viên như trên. Tóm lại, đối với dữ liệu trên thì người này sẽ được phép ra vào phòng trong khoảng từ 8 giờ đến 18 giờ, với các ngày từ thứ hai đến chủ nhật trong tuần. Với người tiếp theo thì dữ liệu của họ được định dạng tương tự như trên và nối tiếp với dữ liệu của người thứ nhất, tạo thành một chuỗi lớn. Từ đó thấy rằng, bằng việc thay đổi các thành phần trong chuỗi trên, ta có thể quản lí hệ thống một cách chặt chẽ, kể cả thời gian ra vào cụ thể đối với từng người. 17
  25. Sau khi xây dựng xong cơ sở dữ liệu thì hệ thống sẽ hoạt động theo sơ đồ trong hình 2.1. Đầu tiên, khi một thẻ từ được quét vào hệ thống, module MFRC522 sẽ đọc thông tin tại vị trí đã được quy định trước (block 0 của sector 1) và lưu vào Arduino một mảng buffer đặc trưng cho thông tin đọc được. Khi đó, module thẻ nhớ SD sẽ bắt đầu đọc dữ liệu trong tập tin “Database.txt” và truyền xuống Arduino một chuỗi dữ liệu. Arduino sau khi nhận chuỗi dữ liệu đó sẽ tiến hành thao tác phân chia chuỗi lớn ra thành từng chuỗi nhỏ ứng với cơ sở dữ liệu của từng người. Sau đó, Arduino thực hiện cắt 1 chuỗi ra thành nhiều thành phần nhỏ tương ứng để so sánh. Arduino sẽ tiến hành so sánh 4 thành phần đầu tiên trong chuỗi dữ liệu với các phần tử trong mảng buffer. Khi thỏa mãn điều kiện thì hệ thống sẽ tiến hành bước tiếp theo, nếu sai thì sẽ thông báo lên màn hình LCD cho người dùng biết. Ở bước tiếp theo, Arduino sẽ tiến hành so sánh các điều kiện khác còn lại. Khi điều kiện hoạt động hay không hoạt động được thỏa mãn, Arduino sẽ tiến hành đọc thời gian thực từ module DS1307. Sau đó tiến hành so sánh với cơ sở dữ liệu, nếu thỏa điều kiện về thứ ngày và khoảng thời gian ra vào thì thẻ đó sẽ được cấp phép vào. Ngược lại, nếu sai một thành phần nào đó trong chuỗi điều kiện trên thì thẻ đó không hợp lệ. Khi một thẻ hợp lệ được vào cửa, LCD sẽ hiện thông tin tên sinh viên được vào. Kế đến, Arduino sẽ điều khiển module thẻ nhớ ghi lại lịch sử thời gian cụ thể của người đã mở cửa vào trong tập tin “History.txt” và lưu tập tin này ở thẻ nhớ SD. Cuối cùng, cửa ra vào trong mô hình sẽ tự động mở nhờ động cơ Servo. Hệ thống còn một thành phần là module bluetooth HC-05 đóng vai trò thực hiện giao tiếp không dây giữa vi điều khiển và máy vi tính. Chương trình được viết ra giúp người quản lí có thể cập nhật cơ sở dữ liệu đồng thời thực hiện thao tác ghi, xóa dữ liệu trong thẻ trên máy vi tính cá nhân. 18
  26. 2.2 Mô hình cửa tự động Trong luận văn này, tôi tiến hành chế tạo một mô hình cửa tự động bảo mật bằng thẻ từ. Dưới đây là hình ảnh mô hình thực tế. Hình 2.2: Mô hình cửa tự động. Mô hình cửa được thực hiện bằng những vật liệu có sẵn, một cách hoàn toàn thủ công. Bề mặt mô hình được làm bằng mica, phần đế của mô hình được làm bằng một thanh nhôm. Động cơ Servo được đặt bên dưới thanh nhôm và lắp trực tiếp lên cánh cửa. Bề mặt mô hình có gắn module MFRC522 để người dùng quét thẻ cũng như gắn kèm theo màn hình LCD để hiển thị trạng thái của hệ thống. Khi bạn quét vào một thẻ hợp lệ, hệ thống sẽ điều khiển động cơ Servo xoay và kéo cửa mở ra. Cửa được mở ra trong khoảng thời gian 5 giây và sau đó cửa sẽ tự động đóng lại. Cụ thể hơn hoạt động của mô hình, tôi xét ví dụ với cơ sở dữ liệu gồm 4 thẻ tương ứng với 4 sinh viên. Cơ sở dữ liệu được lưu trong thẻ nhớ SD với tên tập tin là “Database.txt” như hình sau: 19
  27. Hình 2.3: Cơ sở dữ liệu trong tập tin “Database.txt”. Với cấu trúc dữ liệu như đã phân tích ở trên, ta thấy rằng hệ thống quản lí ra vào cụ thể đối với từng người kèm theo những điều kiện khác nhau. Ngoài thỏa mãn điều kiện về mã thẻ, một người muốn ra vào cửa cần thỏa các điều kiện khác như giờ ra vào, ngày được phép ra vào. . . Tiến hành xét từng trường hợp khi một thẻ được quét vào hệ thống. Phân tích dữ liệu đầu tiên, sinh viên “PhanNhutHuan” có mã số sinh viên tương ứng với mã số trên thẻ từ là 40.01.105.094, thẻ của sinh viên này vẫn còn được phép hoạt động (thành phần hoạt động hay không hoạt động có giá trị là 1). Sinh viên này được phép ra vào cửa trong khoảng thời gian từ 6 giờ đến 23 giờ đối với tất cả các ngày trong tuần. Khi sinh viên này quét thẻ được cấp vào hệ thống, cửa tự động sẽ được mở ra kèm theo màn hình LCD hiển thị tên sinh viên vừa vào cửa như trên hình 2.4. Hình 2.4: Cửa tự động mở khi một thẻ hợp lệ được quét vào. 20
  28. Với dữ liệu tiếp theo, sinh viên “NguyenTanPhat” với thẻ có mã được cấp tương tự như mã số sinh viên và thẻ này vẫn còn được phép hoạt động. Thẻ này được phép ra vào cửa trong khoảng từ 6 giờ đến 23 giờ đối với các ngày thứ hai, thứ ba, thứ năm, thứ sáu và thứ bảy trong tuần. Khi thẻ này được quét vào ngày thứ tư, hệ thống sẽ thông báo rằng vào hôm nay thẻ này không được vào cửa như hình 2.5. Hình 2.5: Hệ thống thông báo khi quét thẻ vào ngày không được phép vào. Dữ liệu kế tiếp ứng với sinh viên “VoTranKhoaNguyen”. Thẻ được cấp cho sinh viên này vẫn đang còn hoạt động. Sinh viên này được hệ thống cho phép ra vào cửa trong khoảng thời gian từ 12 giờ đến 17 giờ với tất cả các ngày trong tuần. Nếu như thời gian quét thẻ nằm ngoài khoảng thời gian trên (vào lúc 9 giờ) thì hệ thống sẽ hiện thông báo lên màn hình LCD như trên hình 2.6. 21
  29. Hình 2.6: Hệ thống thông báo khi thẻ quét vào không đúng thời gian được phép vào. Dữ liệu cuối cùng trong cơ sở dữ liệu ứng với sinh viên “TranThanhPhuong”. Thẻ từ được cấp cho sinh viên này đã hết hạn sử dụng thông qua thành phần hoạt động hay không hoạt động có giá trị “0”. Vì vậy, khi sinh viên này quét thẻ, hệ thống sẽ thông báo rằng thẻ được cấp cho sinh viên này đã hết hạn sử dụng như trên hình 2.7. Hình 2.7: Hệ thống thông báo khi thẻ quét vào đã hết hạn sử dụng. 22
  30. Ngoài ra, ta xét một thẻ từ bất kì không được cấp nhằm sử dụng trong hệ thống. Khi quét thẻ, mô hình tự động thông báo rằng mã thẻ trên là không hợp lệ như hình 2.8. Hình 2.8: Hệ thống thông báo khi mã thẻ quét vào không hợp lệ. Khi một thẻ hợp lệ được cho phép vào cửa, hệ thống sẽ lưu lại lịch sử thời gian mở cửa của sinh viên đó trong thẻ nhớ SD với tên tập tin là “History.txt” có nội dung cụ thể như trên hình 2.9. 23
  31. Hình 2.9: Lịch sử quét thẻ được lưu trong tập tin “History.txt”. Việc lưu lại lịch sử giúp cho người quản lí có thể dễ dàng kiểm tra thời gian vào cửa đồng thời trích xuất lại thông tin khi cần thiết. Chức năng trên của hệ thống giúp cho giảng viên có thể thực hiện việc điểm danh sinh viên ra vào phòng thí nghiệm. 2.3 Chương trình giao tiếp trên máy vi tính Ngoài mô hình cửa tự động sử dụng công nghệ RFID để bảo mật, hệ thống còn có thêm một chương trình giúp người dùng giao tiếp với máy vi tính. Giao tiếp giữa Arduino và máy vi tính được thực hiện thông qua module bluetooth HC-05. Chương trình giao tiếp được viết trên nền Visual Basic bằng phần mềm Visual Studio 2015 và có giao diện như hình 2.10. 24
  32. Hình 2.10: Giao diện chính trong chương trình giao tiếp với máy vi tính. Thông qua chương trình trên, người quản lí có thể cập nhật thêm cơ sở dữ liệu vào hệ thống. Cơ sở dữ liệu được cập nhật thêm vào tập tin “Database.txt” lưu trong thẻ nhớ SD. Cơ sở dữ liệu cần được cập nhật thêm khi một thẻ mới được cấp phép vào. Tại chương trình này, đầu tiên người dùng chọn cổng kết nối và kết nối với hệ thống cửa bằng các nút ở vùng 1. Tất cả các thao tác của người dùng trên chương trình được ghi nhận và thể hiện lên thanh trạng thái 3. Sau khi đã chọn cổng kết nối, người dùng tiến hành nhập các thông số cần thiết như mã số sinh viên, họ và tên, ngày được phép vào và thời gian vào cửa trong vùng 2. Sau khi đã thiết lập xong các thông tin cần thiết, người quản lí sẽ nhấn nút gửi dữ liệu. Một cửa sổ sẽ hiện lên như hình 2.11. Hình 2.11: Cửa sổ xác nhận là người quản lí. 25
  33. Người quản lí phải nhập đúng ID và Password được cấp thì mới có thể gửi cập nhật dữ liệu vào hệ thống cửa. Dữ liệu khi được gửi thành công thì thanh trạng thái 3 sẽ thông báo để người dùng biết. Khi quá trình cập nhật cơ sở dữ liệu hoàn tất, hệ thống sẽ thông báo lên màn hình LCD như hình 2.12. Hình 2.12: Hệ thống thông báo khi quá trình cập nhật cơ sở dữ liệu hoàn tất. Ngoài mục đích cập nhật cơ sở dữ liệu mới, chương trình giao tiếp còn được dùng để ghi mã dữ liệu vào thẻ từ cấp cho người sử dụng hoặc xóa dữ liệu trong thẻ khi không cần sử dụng nữa. Dữ liệu trong thẻ từ được ghi hoặc xóa bằng module MFRC522. Để thực hiện chức năng ghi hoặc xóa dữ liệu trên thẻ, đầu tiên người dùng chọn cổng kết nối và kết nối với bluetooth HC-05 trong bộ ghi/xóa thẻ từ bằng các nút ở vùng 1. Sau khi kết nối xong, người dùng sẽ tiến hành nhập các thông số cần thiết để gửi dữ liệu. Kế tiếp là thao tác nhập ID và Password tương tự như trên. Sau khi gửi dữ liệu xong, người dùng đặt thẻ vào module MFRC522 của bộ ghi xóa tương tự như trên hình 2.13. 26
  34. Hình 2.13: Quá trình ghi xóa dữ liệu vào thẻ từ. Khi thực hiện xong thao tác thì dữ liệu đã được ghi vào thẻ từ. Dữ liệu được ghi vào thẻ từ ở vị trí block 0 trong sector 1 chính là các thành phần trong mã số sinh viên tương ứng. Khi một thẻ mới được cấp cho sinh viên ra vào, người quản lí cần sử dụng chương trình giao tiếp để cập nhật cơ sở dữ liệu cùng với ghi dữ liệu vào thẻ từ. Khi một thẻ không cần sử dụng nữa thì việc xóa mã trong thẻ từ cũng được thực hiện thông qua chương trình. Người quản lí chỉ nhấn vào nút “Xóa trắng thẻ” kèm theo nhập ID và Password tương ứng. Sau đó đặt thẻ cần xóa dữ liệu vào module MFRC522 thì dữ liệu ghi trong thẻ sẽ được xóa. Lúc này, thanh trạng thái 3 trong chương trình sẽ hiển thị thông báo cho người dùng biết. Thông qua chương trình giao tiếp, người quản lí có thể thực hiện việc cập nhật cơ sở dữ liệu kèm theo ghi xóa dữ liệu trong thẻ tùy vào mục đích sử dụng. Các thao tác trên đều được thực hiện trên máy vi tính thông qua kết nối không dây với vi điều khiển bằng module bluetooth HC-05. 27
  35. 2.4 Nhận xét và đánh giá Kết quả thu được ở luận văn này chính là việc xây dựng được hệ thống sử dụng công nghệ RFID để bảo mật và một mô hình cửa tự động. Hệ thống cửa hoạt động với độ bảo mật cao nhờ ưu điểm của công nghệ RFID. Chương trình giao tiếp giữa hệ thống cửa với máy vi tính giúp cho người quản lí dễ dàng thực hiện các tác vụ ngay trên máy vi tính cá nhân. Tuy nhiên hệ thống trên cũng cần được cải tiến thêm những tính năng khác giúp người dùng có thể sử dụng và quản lí một cách dễ dàng hơn. 28
  36. Chương 3 Kết luận và hướng phát triển Trong luận văn này, kết quả thu được chính là một mô hình cửa tự động sử dụng công nghệ thẻ từ để bảo mật. Hệ thống được xây dựng bao gồm những module khác nhau, mỗi module mang một chức năng riêng đóng góp vào hoạt động chung của toàn bộ hệ thống. Chương trình giao tiếp thực hiện kết nối không dây giữa mô hình và máy vi tính thông qua module bluetooth HC-05. Hệ thống cửa tự động mang nhiều ưu điểm nổi bật. Nhờ sử dụng công nghệ RFID, hệ thống cửa hoạt động với độ bảo mật cao. Khoảng cách giao tiếp truyền dữ liệu ngắn là một trong những yếu tố quan trọng quyết định độ bảo mật của hệ thống. Ở các hệ thống cửa tự động thông thường, việc bảo mật chủ yếu dựa vào mã thẻ từ. Khi thẻ từ quét vào hệ thống đúng với mã được cho phép thì thẻ đó được phép vào cửa. Riêng với hệ thống mà tôi xây dựng thì ngoài thỏa mãn điều kiện về mã, thẻ đó còn phải thỏa các điều kiện khác được người quản lí đặt ra như thời gian vào, ngày được phép vào cửa. . . Những điều kiện kèm theo giúp tăng cường thêm tính bảo mật của hệ thống. Ngoài ra, khi một thẻ hợp lệ vào cửa, hệ thống sẽ tự động ghi lại lịch sử thời gian mở cửa, giúp người quản lí có thể truy xuất thông tin khi cần thiết. Đối với định hướng áp dụng vào phòng thí nghiệm, chức năng ghi lại lịch sử ra vào giúp giảng viên thực hiện việc điểm danh sinh viên ra vào phòng. Việc cập nhật thêm cơ sở dữ liệu, ghi dữ liệu vào thẻ và xóa khi không sử dụng đều được thực hiện trên máy vi tính cá nhân thông qua chương trình giao tiếp. Chương trình có giao diện gần gũi, dễ sử dụng. Vì vậy, ta có thể thấy rằng nếu áp dụng mô hình trên vào thực tế tại phòng thí nghiệm sẽ tăng cường thêm tính an toàn, bảo mật cho các thiết bị dụng cụ thí nghiệm đồng thời giúp giảng viên dễ dàng thực hiện việc điểm danh sinh viên. 29
  37. Tuy nhiên, ngoài những ưu điểm nói trên, hệ thống cửa này vẫn cần được cải tiến. Chương trình giao tiếp có thể được nâng cấp thêm một số tính năng mới giúp quản lí trực tiếp hệ thống trên máy vi tính. Nếu có thể cải tiến, nâng cấp được chương trình giao tiếp, mô hình cửa tự động này có thể được triển khai, ứng dụng vào thực tế tại phòng thí nghiệm Vật lý đại cương nâng cao trong Khoa Vật Lý, Trường Đại học Sư phạm TP. Hồ Chí Minh. Rộng hơn nữa là có thể áp dụng vào tất cả các phòng thí nghiệm của Khoa Vật Lý. Việc áp dụng hệ thống cửa bảo mật bằng công nghệ RFID vào thực tế sẽ đem lại hiệu quả tốt, không những giúp tăng cường độ bảo mật cho các dụng cụ, thiết bị thí nghiệm mà còn giúp cho giảng viên có thể dễ dàng quản lí, điểm danh sinh viên trong các buổi học. 30
  38. Các công trình đã công bố [1] Phan Nhựt Huân, Trần Thanh Phương (2017), Ứng dụng vi điều khiển PIC16F877A để chế tạo bộ thí nghiệm đo đạc tự động đặc tuyến Volt-Ampere của một số linh kiện điện tử, Kỉ yếu hội nghị sinh viên nghiên cứu khoa học năm học 2016 – 2017, Trường Đại học Sư phạm TP. Hồ Chí Minh, tr. 84–95. 31
  39. Tài liệu tham khảo [1] NXP Semiconductors, MFRC522 Contactless Reader IC, pp. 2–20, 2007. [2] Arduino, Ngày truy cập: 30/03/2018. [3] What is Arduino?, Ngày truy cập: 30/03/2018. [4] Atmel, Inspiring Smart and Secure Connected Designs, p. 8, 2015. [5] Arduino Mega 2560 Rev3, mega- 2560-rev3, Ngày truy cập: 04/04/2018. [6] Analog vs. Digital, https : / / learn . sparkfun . com / tutorials / analog - vs - digital, Ngày truy cập: 03/04/2018. [7] Christoph Jechlitschek, A Survey Paper on Radio Frequency Identification (RFID) Trends, pp. 1–13, 2006. [8] NXP Semiconductors, MIFARE Classic EV1 1K - Datasheet, pp. 2–11, 2017. [9] Adafruit Industries, Micro SD Card Breakout Board Tutorial, pp. 1–23, 2016. [10] Dallas Semiconductors, 64 X 8 Serial Real Time Clock, pp. 1–11, 1995. [11] ITead Studio, Hc-05 Bluetooth Module, pp. 1–13, 2010. [12] Cypress Perform, Character LCD with an I2C Interface (I2C LCD) Features Input / Output Connections, pp. 1–5, 2013. [13] Cytron Technologies, TowerPro SG90 Micro Servo, pp. 1–6, 2017. 32