1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng rfid trong quản lý thời gian và trạng thái đi học của sinh viên tại trường đại học quảng bình

68 358 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ðể góp phần vào việc quản lý thông tin đó một cách nhanh chóng và hiệu quả em đã chọn đề tài “Ứng dụng RFID trong quản lý thời gian và trạng thái đi học của sinh viên tại Trường Đại học

Trang 1

TRƯỜNG ĐẠI HỌC QUẢNG BÌNH

KHOA KỸ THUẬT – CÔNG NGHỆ THÔNG TIN

- -

TANVÔNGPHĂP PHONMÊLA

ỨNG DỤNG RFID TRONG QUẢN LÝ THỜI GIAN

VÀ TRẠNG THÁI ĐI HỌC CỦA SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC QUẢNG BÌNH

KHÓA LUẬN TỐT NGHIỆP Chuyên ngành: Công nghệ thông tin

Hệ đào tạo: Chính quy Khóa học: 2014 - 2018

GIẢNG VIÊN HƯỚNG DẪN:

TS Hoàng Văn Dũng

QUẢNG BÌNH, 2018

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu và kết quả nghiên cứu nêu trong khoá luận là trung thực Nghiên cứu này chưa từng được công bố trong bất kỳ một công trình nào khác Những tài liệu thu thập của các tác giả khác sử dụng trong khóa luận đều có trích dẫn ở tài liệu tham khảo và chú thích

có nguồn gốc

Sinh viên

Tanvôngphăp Phonmêla

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Xác nhận của giảng viên hướng dẫn

Hoàng Văn Dũng

Trang 4

Em xin chân thành cảm ơn các thầy giáo, cô giáo trong khoa Kỹ thuật - Công nghệ thông tin Trường Đại học Quảng Bình đã tạo mọi điều kiện thuận lợi giúp đỡ

em trong suốt quá trình học tập và rèn luyện tại trường

Em xin bày tỏ lòng biết ơn vô hạn tới gia đình, người thân và bạn bè đã luôn sát cánh bên em trong suốt quá trình học tập và nghiên cứu đề tài

Mặc dù trong quá trình nghiên cứu đề tài, bản thân em có những cố gắng nhất định, song do khả năng và thời gian còn hạn chế nên đề tài không tránh khỏi những thiếu sót Em kính mong nhận được sự góp ý chân thành của các thầy cô giáo và các bạn để đề tài của em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Quảng Bình, ngày tháng năm 2018

Sinh viên

Tanvôngphăp Phonmêla

Trang 5

MỤC LỤC

PHẦN I: MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu nghiên cứu 1

2.1 Mục tiêu chung 1

2.2 Mục tiêu cụ thể 1

3 Đối tượng, phạm vi, phương pháp nghiên cứu 2

3.1 Đối tượng nghiên cứu 2

3.2 Phạm vi nghiên cứu 2

3.3 Phương pháp nghiên cứu 2

4 Nội dung nghiên cứu 2

5 Kết quả đạt được 2

PHẦN II: NỘI DUNG 3

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

1.1 Tổng quan về hệ thống RFID 3

1.1.1 Kỹ thuật RFID 3

1.1.2 Lịch sử hình thành của RFID 3

1.1.3 Các thành phần của một hệ thống RFID 4

1.1.4 Nguyên lý hoạt động của RFID 6

1.1.5 Các dài tần số hoạt động của hệ thống RFID 7

1.2 Các chuẩn kết nối 8

1.3 Các phần mềm liên quan 10

CHƯƠNG II ARDUINO VÀ LẬP TRÌNH ĐIỀU KHIỂN 11

2.1 Giới thiệu chung về Arduino 11

2.2 Lập trình cho Arduino 16

2.3 Thiết bị đọc thẻ RFID-RC522 16

2.3.1 Các tính năng 17

2.3.2 Sơ đồ khối và chức năng thành phần 18

2.3.3 Cách kết nối chuẩn SPI 18

2.4 Thẻ MIFARE S50 19

2.4.1 Cấu tạo 19

2.4.2 Tiêu chuẩn kĩ thuật 20

Trang 6

2.4.3 Sơ đồ khối 20

2.4.4 Tổ chức dữ liệu 20

CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 22

3.1 Các khối chính và chức năng 22

3.2 Mô hình kết nối 23

3.3 Kết nối phần cứng 23

3.4 Giải pháp sử dụng thẻ RFID 24

3.4.1 Mô hình giải pháp nhận dạng thẻ RFID 24

3.4.2 Nguyên tắc hoạt động: 24

3.4.3 Phân tích thiết kế chức năng 24

3.4.3.1 Mô hình chức năng 24

3.4.3.2 Chức năng quản lý user 25

3.4.4 CSDL hệ thống kiểm soát thời gian và trạng thái đi học của sinh viên 27

3.4.4.1 Mô hình thiết kế cơ sở dữ liệu 27

3.4.4.2 Các bảng trong CSDL 28

CHƯƠNG IV: CÀI ĐẶT THỰC NGHIỆM 30

4.1 Xây dựng cơ sở dữ liệu quản lý thông tin, thời gian và trạng thái đi học của sinh viên 30

4.2 Lắp đặt mô hình thực nghiệm 31

4.3 Ngôn ngữ lập trình 32

4.3.1 Ngôn ngữ lập trình Visual Basic 32

4.3.2 Các module hệ thống 32

4.3.2.1 Module đăng nhập 32

4.3.2.2 Module kết nối RFID, CAMERA 33

4.3.2.3 Module chụp hình và thêm,sửa thông tin sinh viên 35

4.3.2.4 Module tìm kiếm và xóa thông tin sinh viên 36

4.3.2.5 Module thời gian và trạng thái đi học của sinh viên 37

4.4 Đánh giá kết quả thử nghiệm hệ thống 38

PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ 40

TÀI LIỆU THAM KHẢO 41

PHỤ LỤC 42

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

ATM Automated Teller Machine

ALU Arithmetic logic unit

AREF Analog Reference

ASM Area Sales Manager

AVR Automatic Voltage Regulator

ADC Analog to Digital Converter

BASIC Beginner's All-purpose Symbolic Instruction Code CSDL Cơ sở dữ liệu

IEC International Electrotechnical Commission

ISO International Organization for Standardization

IDE Intergrated Development Environment

Jtag Join test action group

LED Light Emitting Diode

MISO Master Input Slave Output

MOSI Master Ouput Slave Input

MIPS Microprocessor without Interlocked Pipeline Stages NFC Near-Field Communications

NXP Next eXPerience

FIFO first-in, first-out

PWM Pulse Width Modulation)

RFID Radio Frequency Identification

RISC Reduced Instruction Set Computer

Rx Receiver

RF Radio Frequency Radiation

Trang 8

SCK Serial Clock

SPI Serial Peripheral Interface

SQL Structured Query Language

SS Slave Select

TTL Transistor-transistor logic

USB Universal Serial Bus

USART universal synchronous and asynchronous receiver-transmitter UART Universal Asynchronous Receiver/Transmitter

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 1: Các tần số hoạt động của RFID 7

Bảng 2: Thông tin chi tiết của Arduino Uno R3 13

Bảng 3: Kịch bản quản lý user 25

Bảng 4: Kịch bản xây dựng cơ sở dữ liệu 26

Bảng 5: Quản lý User 28

Bảng 6: Thông tin sinh viên 28

Bảng 7: Thời gian và trạng thái 29

Bảng 8: Kết quả quá trình thử nghiệm hệ thống RFID 39

Trang 10

DANH MỤC HÌNH ẢNH

Hình 1: Các thành phần chính của hệ thống RFID 4

Hình 2: Thiết bị TSL’s 1128 Bluetooth UHF RFID[2] 4

Hình 3: Reader SL500[2] 5

Hình 4: Thiết bị đọc RFID-RC522[2] 5

Hình 5: Ví dụ một số thẻ RFID[3] 6

Hình 6: Nguyên lý hoạt động của một hệ thống RFID 6

Hình 7: Một số chuẩn chân cắm USB[5] 9

Hình 8: Quá trình truyền dữ liệu SPI [6] 10

Hình 9: Các bo mạch Arduino Mạch phát triển Arduino R3 [7] 11

Hình 10: Arduino Uno[8] 12

Hình 11: Hình ảnh Atmega 328 và sơ đồ chân kết nối [2] 14

Hình 12: Các chân vào ra của ArduinoUno [4] 15

Hình 13: Arduino IDE 16

Hình 14: Thiết bị đọc RFID-RC522 17

Hình 15: Sơ đồ khối của RFID-RC522 [9] 18

Hình 17: Thẻ MIFARE S50 19

Hình 19: Sơ đồ khối thẻ MIFARE S50 [10] 20

Hình 20: Tổ chức dữ liệu trong thẻ MIFARE S50 [10] 21

Hình 21: Các khối chính của hệ thống 22

Hình 22: Mô hình kết nối thực tế hệ thống 23

Hình 23: Sơ đồ chân kết nối Arduino và RFID-RC522 23

Hình 24: Kết nối thực tế hệ thống 23

Hình 25: Mô hình kỹ thuật nhận dạng thẻ RFID 24

Hình 26: Mô hình chức năng hệ thống 24

Hình 27: Biểu đồ tuần tự của chức năng quản lý user 26

Hình 28: Biểu đồ tuần tự của chức năng xây dựng CSDL 27

Hình 29: Mô hình cơ sở dữ liệu 27

Hình 30: CSDL thông tin Quản lý User 30

Hình 31: CSDL thông tin sinh viên 30

Hình 32: CSDL thông tin Thời gian và Trạng thái của sinh viên 31

Trang 11

Hình 33: Mô hình thực nghiệm 31

Hình 34: Module đăng nhập vào phần mềm 32

Hình 35: Module Kết nối RFID,CAMERA 33

Hình 36: Module chụp hình và thêm,sửa thông tin sinh viên 35

Hình 37: Module xóa và tìm kiếm thông tin sinh viên 36

Hình 38: Module xem thời gian và trạng thái sinh viên 38

Trang 12

Quản lý thông tin dưới dạng thẻ RFID (Radio Frequency Identification) là một trong những phương pháp được nhiều nơi áp dụng và sử dụng hiệu quả Tại trường Đại học Quảng Bình việc quản lý thông tin dưới dạng thẻ sinh viên truyền thống còn nhiều thủ tục và công đoạn, bên cạnh đó tình trạng đi học không đúng giờ, nghỉ học, đi học hộ của một số bạn sinh viên gây khó khăn trong công tác quản lý giảng dạy cũng như chất lượng học tập của sinh viên Ðể góp phần vào việc quản lý thông tin đó một

cách nhanh chóng và hiệu quả em đã chọn đề tài “Ứng dụng RFID trong quản lý

thời gian và trạng thái đi học của sinh viên tại Trường Đại học Quảng Bình” làm

đề tài nghiên cứu nhằm phục vụ cho công tác xác minh, điểm danh cũng như nhanh chóng tìm kiếm và điều chỉnh thông tin sinh viên qua thẻ RFID

2 Mục tiêu nghiên cứu

2.1 Mục tiêu chung

- Nghiên cứu xây dựng một hệ thống quản lý hoàn chỉnh

- Xây dựng hệ thống ứng dụng trong trường Đại học Quảng Bình

2.2 Mục tiêu cụ thể

- Nghiên cứu các bài toán để xây dựng nên hệ thống, cách phân bố dữ liệu, cấu trúc của một hệ thống ứng dụng trong thực tế nhằm đạt hiệu quả cao Tạo ra sự tiện ích, tối ưu và tiết kiệm nhất cho các cơ quan nhằm hướng tới người dùng phổ thông và tránh yếu tố phức tạp khi đưa ra thực tiễn

- Thử nghiệm ứng dụng cho người quản lý về quản lý thời gian và trạng thái đi học của sinh viên ở trường Đại học Quảng Bình một cách dễ dàng, không phải tốn

Trang 13

nhiều thời gian và công sức và có thể cập nhật phát triển hệ thống một cách nhanh chóng, tạo ra một hệ thống quản lý hiệu quả

3 Đối tượng, phạm vi, phương pháp nghiên cứu

3.1 Đối tượng nghiên cứu

- Đối tượng nghiên cứu của đề tài là cách xây dựng hệ thống quản lý, xây dựng cấu trúc dữ liệu, quản trị cơ sở dữ liệu

3.2 Phạm vi nghiên cứu

- Phạm vi nghiên cứu trong trường Đại học Quảng Bình, giới hạn ở mức độ thực nghiệm tạo hệ thống quản lý thời gian và trạng thái đi học của sinh viên tại Trường Đại học Quảng Bình

3.3 Phương pháp nghiên cứu

- Phương pháp tài liệu: Nghiên cứu tài liệu về phân tích và thiết kế hệ thống, liên kết cơ sở dữ liệu các, ngôn ngữ lập trình Visual Basic, thẻ RFID, bảng mạch Arduino

và các tài liệu về xây dựng hệ thống

- Phương pháp thực nghiệm: Xây dựng hệ thống quản thời gian và trạng thái đi học của sinh viên tại Trường Đại học Quảng Bình Xây dựng hệ thống cơ sở dữ liệu thông tin của sinh viên Xây dựng hệ thống dựa trên ngôn ngữ lập trình Visual Basic

và hệ quản trị cơ sở dữ liệu SQL Sever

4 Nội dung nghiên cứu

- Tìm hiểu cơ sở lý thuyết: tổng quan về hệ thống RFID, các chuẩn kết nối và các phần mềm có liên quan

- Nghiên cứu thiết kế hệ thống xây dựng nên một hệ thống quản lý

- Cài đặt thực nghiệm để xây dựng một hệ thống ứng dụng hoàn chỉnh

5 Kết quả đạt được

- Hiểu được RFID là gì?

- Biết được lịch sử hình thành, các thành phần của một hệ thống và nguyên lý hoạt động của RFID

- Nghiên cứu thành công các bài toán để xây dựng nên hệ thống, cách phân bố dữ liệu, cấu trúc của một hệ thống ứng dụng

- Xây dựng được hệ thống ứng dụng cho người quản lý về quản lý thời gian và trạng thái đi học của sinh viên

Trang 14

PHẦN II: NỘI DUNG CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về hệ thống RFID

1.1.1 Kỹ thuật RFID

RFID (Radio Frequency Identification) là công nghệ cho phép một thiết bị đọc thông tin chứa trong chip không cần tiếp xúc trực tiếp ở khoảng cách xa, không thực hiện bất kỳ giao tiếp vật lý nào hoặc giữa hai vật không nhìn thấy nhau Công nghệ này cho ta phương pháp truyền, nhận dữ liệu từ một điểm đến một điểm khác [2]

Kỹ thuật RFID sử dụng truyền thông không dây trong dải tần sóng vô tuyến để truyền dữ liệu từ các thẻ từ (tag) đến các thiết bị đọc (reader) Thẻ từ có thể được đính kèm hoặc gắn vào đối tượng được nhận dạng, chẳng hạn sản phẩm, hộp hoặc giá kê (pallet) Thiết bị đọc quét dữ liệu của thẻ từ và gửi thông tin đến cơ sở dữ liệu có lưu trữ dữ liệu của thẻ từ Ví dụ: các thẻ từ có thể được đặt trên kính chắn gió xe hơi để hệ thống thu phí đường có thể nhanh chóng nhận dạng và thu tiền trên các tuyến đường Dạng đơn giản nhất được sử dụng hiện nay là hệ thống RFID bị động làm việc như sau: thiết bị đọc truyền một tín hiệu tần số vô tuyến điện từ qua anten của nó đến

vi chip Thiết bị đọc nhận thông tin trở lại từ chip và gửi nó đến máy tính điều khiển đầu đọc và xử lý thông tin lấy được từ chip Các chip không tiếp xúc không tích điện, chúng hoạt động bằng cách sử dụng năng lượng nhận từ tín hiệu được gửi bởi thiết bị đọc

1.1.2 Lịch sử hình thành của RFID

Năm 1945, Léon Theremin phát minh ra một công cụ gián điệp cho Liên Xô bằng cách truyền các sóng vô tuyến phụ với tin tức audio Thiết bị này là một thiết bị chuyển đổi âm thanh thụ động chứ không phải là một thẻ nhận dạng và nó được coi như tiền thân của một hệ thống RFID bởi vì nguyên lý hoạt động của nó tương tự với

sự tương tác của bộ đọc vả thẻ bị động hiện nay, đều là thẻ nhận năng lượng từ bộ đọc

và phản hồi lại thông tin[4]

Năm 1948 , Harry Stockman cho ra đời tập tài liệu "Communication by Means of ReflectedPower“ nghiên cứu về RFID

Ngày 23/01/1973, một thiết bị của Mario Cardullo được tạo ra Nó là hình thức

sơ khai đầu tiên của một thiết bị RFID vì nó là một bộ tiếp sóng âm thanh thụ động với

Trang 15

bộ nhớ Các bằng sáng chế cơ bản Cardullo bao gồm việc sử dụng RFID, âm thanh và ánh sáng như là phương tiện truyền dẫn

Một cuộc thí nghiệm đầu của các thẻ RFID, cả thụ động và bán thụ động, được thực hiện bởi Steven Depp, Alfred Koelle, và Robert Frayman tại Phòng thí nghiệm Quốc gia Los Alamos vào năm 1973 Các hệ sử dụng tần số 915 MHz và sử dụng thẻ 12-bit Kỹ thuật này được sử dụng bởi phần lớn các UHFID và lò vi sóng RFID tags ngày nay.[4]

Trang 16

Hình 3: Reader SL500 [4] Hình 4: Thiết bị đọc RFID-RC522[4]

- Thẻ từ (Tag): Là một thẻ có gắn chip và anten, được lập trình điện tử với thông tin duy nhất Chíp là nơi lưu trữ một số thứ tự duy nhất hoặc thông tin khác dựa trên loại thẻ: read-only, read-write,… còn anten được gắn với vi mạch truyền thông từ chip đến reader Anten càng lớn cho biết phạm vi đọc càng lớn

Thẻ từ được chia làm 2 loại là thẻ chủ động và thẻ bị động:

+ Thẻ chủ động (active tag): có pin và có khả năng nhận diện bởi bộ đọc ở khoảng cách xa Tuy nhiên thẻ có kích thước khá lớn do có thêm nguồn pin Tuổi thọ của pin khoảng từ 3-7 năm

+ Thẻ bị động (passive tag): không có pin Bên trong mạch là một mạch cảm ứng nhỏ, nguồn năng lượng cho thẻ khi hoạt động là nhờ thiết bị đọc cung cấp, phạm vi đọc của thẻ ngắn hơn 1m Thẻ có ưu điểm là kích thước nhỏ và nhẹ

Cả 2 loại thẻ trên đều được cấu thành từ chip bán dẫn siêu nhỏ để lưu dữ liệu và ăng ten được thu nhỏ tuỳ theo hình thức đóng gói Mỗi thẻ khi xuất xưởng được thiết lập một nhận dạng duy nhất có độ dài từ 32-512 bit Do vậy khả năng nhận dạng nhầm lẫn gần như khó có thể xảy ra[3]

Trang 17

Hình 5: Ví dụ một số thẻ RFID [3]

- Host Computer-server: là nơi mà máy chủ và hệ thống phần mềm giao diện với

hệ thống được tải

1.1.4 Nguyên lý hoạt động của RFID

Hình 6: Nguyên lý hoạt động của một hệ thống RFID

Thiết bị đọc (reader) sẽ phát ra sóng điện tử ở một tần số nhất định qua ăng ten (đa số các thiết bị hiện nay đều có ăng ten tích hợp sẵn ngay trên thiết bị, chúng ta không cần lắp thêm) và thiết bị RFID tag khi ở trong vùng đó sẽ thu tầng sóng đó và phát lại cho thiết bị Reader biết mã số của mình Từ đó thiết bị đọc (reader) sẽ nhận biết được Tag nào đang trong vùng hoạt động

Hầu hết các hệ thống RFID thường bố trí nhiều thiết bị đọc kết nối với một máy tính trung tâm Máy tính trung tâm có nhiệm vụ nhận dữ liệu từ thiết bị đọc gửi về, phân tích và thực thi các lệnh có liên quan tới dữ liệu được lưu trữ trong thẻ

Trang 18

1.1.5 Các dài tần số hoạt động của hệ thống RFID

Tần số hoạt động là tần số điện từ thẻ để truyền thông hay thu được năng lượng Tần số xác định tốc độ truyền thông và khoảng cách đọc thẻ Tần số cao hơn cho biết phạm vi đọc dài hơn

Bảng 1: Các tần số hoạt động của RFID

13.56 MHz Tối đa

1 m

Trung bình

Thích hợp với việc đọc item theo dõi vật liệu trong thư viện và kiểm soát sách, điều khiển truy cập

2 m

Trung bình

Nhận dạng phần trong của các container vận chuyển tàu biển trong các khu vực công nghiệp và thương mại, ứng dụng trong quốc phòng

3.1 – 10 GHz 200 m Cao Ứng dụng trong các ngành công

nghệ đặc biệt

Trang 19

1.2 Các chuẩn kết nối

- Chuẩn USB:

USB (Universal Serial Bus) là một chuẩn kết nối tuần tự đa dụng trong máy tính USB sử dụng để kết nối các thiết bị ngoại vi với máy tính, chúng thường được thiết kế dưới dạng các đầu cắm cho các thiết bị tuân theo chuẩn cắm và chạy mà với tính năng cắm nóng thiết bị (nối và ngắt các thiết bị không cần phải khởi động lại hệ thống) [1]

Đặc trưng của USB:

+ Với công nghệ hiện nay thì 1 USB cho phép mở rộng 127 thiết bị kết nối cùng vào một máy tính thông qua một cổng USB duy nhất (bao gồm các hub USB);

+ Với USB 2.0 chuẩn tốc độ cao, đường truyền đạt tốc độ tối đa đến 480 Mbps, tức là 60 MB/s Còn với USB 3.0 tốc độ tối đa là 4.8 – 5 Gbps, tức 600 – 625 MB/s + Dây cáp USB gồm hai sợi nguồn (+5V và dây chung GND) cùng một cặp gồm hai sợi dây xoắn để mang dữ liệu

+ Trên sợi nguồn, máy tính có thể cấp nguồn lên tới 500mA ở điện áp 5V một chiều (DC)

+ Những thiết bị tiêu thụ công suất thấp (ví dụ: chuột, bàn phím, loa máy tính ) với công suất thấp bằng với nguồn cấp thì sẽ được máy tính cấp nguồn trực tiếp

thông qua cổng USB mà không cần nguồn cấp riêng cho các thiết bị ngoại vi đó (thậm

chí các thiết bị giải trí số như SmartPhone, PocketPC ngày nay sử dụng các cổng USB

để sạc pin) Với các thiết bị cần sử dụng nguồn công suất lớn (như máy in, máy quét, ) không sử dụng nguồn điện từ đường truyền USB như nguồn chính của chúng, lúc này đường truyền nguồn chỉ có tác dụng như một sự so sánh mức điện thế của tín hiệu

+ Đặc điểm thuận lợi của USB chính là cắm nóng, tức là thiết bị có thể cắm vào

sử dụng sau đó rút ra rồi lại cắm vào sử dụng được mà không phải mất công khởi động lại hệ thống

+ Nhiều thiết bị USB có thể được chuyển về trạng thái tạm ngừng hoạt động khi máy tính chuyển sang chế độ tiết kiệm điện [7]

Trang 20

Hình 7: Một số chuẩn chân cắm USB [7]

- Chuẩn SPI:

SPI (Serial Peripheral Interface – Giao diện ngoại vi nối tiếp) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất nhằm đảm bảo sự liên hợp giữa các vi điều khiển và thiết bị ngoại vi một cách đơn giản Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select)

+ SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần

1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao Xung nhịp chỉ được tạo ra bởi chip Master

+ MISO– Master Input / Slave Output: Chân MISO dùng để truyền dữ liệu ra khỏi Modun SPI khi đặt cấu hình là Slave và nhận dữ liệu khi đặt cấu hình là Master MISO của Master và các Slaves được nối trực tiếp với nhau

+ MOSI – Master Output / Slave Input: Chân MOSI dùng để truyền dữ liệu ra khỏi Mođun SPI khi đặt cấu hình là Master và nhận dữ liệu khi đặt cấu hình là Slave MOSI của Master và các Slaves được nối trực tiếp với nhau

Trang 21

+ SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó Chỉ

có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng

Nguyên lý hoạt động: để bắt đầu hoạt động thì kéo chân SS xuống thấp và kích hoạt clock ở cả Maser và Slave Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO

Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công” [6]

1.3 Các phần mềm liên quan

- Phần mềm lập trình phần mềm hệ thống: Visual Studio 2013

- Phần mềm quản trị cơ sở dữ liệu: SQL Server 2008

- Phần mềm lập trình mạch phát triển Arduino: Arduino IDE

- Driver USB Arduino

Trang 22

CHƯƠNG II ARDUINO VÀ LẬP TRÌNH ĐIỀU KHIỂN

2.1 Giới thiệu chung về Arduino

Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên Ý thiết

kế và đưa ra đầu tiên vào năm 2005[1]

Arduino là một nền tảng mà mọi thiết bị phần cứng đã được làm sẵn và chuẩn hoá, người dùng chỉ cần lựa chọn những thứ mình cần và lắp ghép lại

Chính vì thế, Arduino rất thích hợp cho những ai không có chuyên môn về điện

tử nhưng lại yêu thích phần cứng – tự động hoá

Để Arduino có thể hoạt động được thì chúng ta cần lập trình cho nó Phần mềm

để lập trình cho mạch ardunio là phần mềm IDE, ngôn ngữ lập trình được sử dụng là C hoặc C++ nhưng được đơn giản hoá đi nhiều, các phần cứng kết nối được với nó đều có các đoạn lệnh viết sẵn từ nhà sản xuất hoặc các nhà phát triển để có thể tự do sử dụng theo các mục đích khác nhau[8]

Hiện nay, phiên bản Arduino Uno đã được phát triển đến thế hệ thứ 3 (R3)

Trang 23

Sơ đồ chân của Arduino:

- Cáp USB (1): Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USB chúng ta có thể nạp chương trình cho Arduino hoạt động, ngoài ra USB còn

là nguồn cho Arduino

- Nguồn (2): cân bằng điện áp cho đúng với điện áp yêu cầu, cung cấp nguồn điện cho toàn hệ thống Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 –20 volt, tuy nhiên nếu sử dụng nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng bo mạch Vì vậy nên dùng nguồn ổn định là 5 đến dưới 12 volt

- Các cổng điện áp (Chân 5V và chân 3.3V) (3): cung cấp điện áp đầu ra cho các thiết bị

- Các cổng Analog in (4): cổng logic 0-1 vào với mức điện 0-5V tương ứng

- Các cổng Digital in-out (5,6): Arduino Uno có 14 chân digital với chức năng input và output, có thể nhận điện áp vào hoặc xuất điện áp ra

- Reset (7): dùng đểreset Arduino

- Vi xử lý ATmega 328 (8): thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra,…

Trang 24

Thông tin:

Các thông tin chi tiết của Arduino Uno R3 được tóm tắt qua bàng sau:

Bảng 2: Thông tin chi tiết của Arduino Uno R3

Dòng tối đa mỗi chân I/O 30 mA

Dòng ra tối đa chân 5V 500 mA

Dòng ra tối đa chân 3.3V 50 mA

của 3 vi điều khiển này là dung lượng bộ nhớ Flash

Mạch Arduino UNO R3 với thiết kế tiêu chuẩn sử dụng vi điều khiển ATmega328 Đây là bộ xử lý chính trên board, trung tâm của toàn bộ board Arduino Uno[4]

Trang 25

Hình 11: Hình ảnh Atmega 328 và sơ đồ chân kết nối [4]

Đặc điểm của Atmega 328:

- Cấu trúc RISC với khoảng 133 lệnh ASM, hầu hết thực hiện trong một chu kỳ máy

- 32 thanh ghi đa năng làm việc như các vùng nhớ tốc độ cao

- Tốc độ thực hiện lệnh tối đa 16 MIPS (với thạch anh 16MHz, không chia tần)

- Bộ nhớ chương trình (FLASH): 32KB, cho phép nạp xoá

- Bộ nhớ EEPROM: 1 KBytes, dùng để lưu các biến ngay cả khi không được cấp điện

- Bộ nhớ RAM: 2KB, dùng để lưu kết quả trung gian, làm bộ nhớ vào ra và dùng cho stack

- Giao diện JTAG, cho phép nạp xoá Flash 10.000 lần, EEPROM 100.000 lần, Fulse Bits, Lock Bits

- Các chức năng ngoại vi tích hợp sẵn: 3 timer gồm 2 timer 8-bit và 1 timer bit 2 bộ Timer 8 bits với nhiều chế độ hoạt động, 1 bộ Timer 16 bits có bộ chia tần riêng, các chế độ đếm, định thời, so sánh (compare mode) và bắt giữ (capture mode)

16 Bộ đồng hồ thời gian thực

- Số kênh xung PWM: 6 kênh (1timer 2 kênh), trong đó 2 kênh điều chế độ rộng xung PWM có độ phân giải 8 bit và 4 kênh điều chế độ rộng xung PWM có độ phân giải 2 đến 16 bits

- Bộ ADC 10bit

- Chuẩn giao tiếp TWI (I2C)

- Chuẩn truyền thông USART

- Giao diện SPI master/slave

Trang 26

Các cổng vào ra:

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

- 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 thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết

- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác

- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các 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

- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng

Trang 27

- Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn 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 vẫn là 10bit

2.2 Lập trình cho Arduino

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE (Intergrated Development Environment) Arduino IDE là nơi

để soạn thảo code, kiểm tra lỗi và upload code cho arduino

Hình 13: Arduino IDE 2.3 Thiết bị đọc thẻ RFID-RC522

Thiết bị đọc MFRC522 có thể đọc được các loại thẻ có kết nối không dây như NFC, thẻ từ (loại dùng làm thẻ giảm giá, thẻ xe bus, tàu điện ngầm,…), hoạt động ở tần số

13.56 MHz

Trang 28

Hình 14: Thiết bị đọc RFID-RC522 2.3.1 Các tính năng

- RFID RC522 sử dụng IC MFRC522 của philip, dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 12,56Mhz

- Mạch Analog tích hợp điều chế và giải mã với tốc độ cao

- Bộ đệm của thiết bị đầu ra để kết nối ăng ten với các thành phần được giảm thiểu

- Hỗ trợ giao tiếp tốc độ cao ISO/IEC 14443A lên tới 848 kBaud

- Giao diện máy chủ hỗ trợ: SPI lên tới 10Mbps, I2C 400kBaud ở Fast Mode và

3400 kBaud ở High-speed Mode, RS232 UART 1228.8 kBaud

- Bộ đệm FIFO xử lý 64byte gửi và nhận

- Điện áp hoạt động: 2.5 - 3.3V

Trang 29

2.3.2 Sơ đồ khối và chức năng thành phần

So đồ khối gồm 3 thành phần chính [9]

­ Analog Interface: xử lý điều chế và giải điều chế tín hiệu analog

- Contactless UART: quản lý các giao thức liên kết với với Host

­ FIFO Buffer: đảm bảo dữ liệu khi gửi và nhận được nhanh chóng và thuận tiện

2.3.3 Cách kết nối chuẩn SPI

SPI là một chuẩn truyền thông nối tiếp tốc độ cao, được hỗ trợ để cho phép truyền tin tốc độ cao với máy chủ, tốc độ có thể lên tới 10Mbps Khi truyền tin, MFRC522 hoạt động như một thiết bị thứ cấp, tiếp nhận dữ liệu từ bên ngoài cho sự thiết lập các thanh ghi.Việc gửi và nhận dữ liệu liên quan đến việc truyền tin bằng sóng RF[9]

Trang 30

Trong SPI, RFID-RC522 hoạt động như một thiết bị thứ cấp Các tín hiệu SCK được tạo ra từ thiết bị chính Dữ liệu được truyền từ thiết bị chính tới thiết bị phụ bằng đường MOSI Đường MISO gửi dữ liệu từ RFID-RC522 tới thiết bị chính

Thẻ MIFARE gồm 3 thành phần chính: Chip nhúng S50, cuộn dây, vỏ ngoài[2]

Trang 31

2.4.2 Tiêu chuẩn kĩ thuật

- Tần số: 13.56 MHz (theo chuẩn ISO/IEC 14443A), thẻ ISO 15693

- Dung lượng nhớ: 512 bit (Mifare Ultraligh), 1K (Mifare S50), 4 K (Mifare S70)

- Khoảng cách thẻ với đầu đọc thẻ: 2.5 – 10 cm

- Thời gian đọc/ghi: 1-2 ms

- Số lần ghi xóa: > 100,000 lần

- Thời gian lưu dữ liệu trên thẻ: 10 năm

- Kích thước: 85.6 x 54 x 0.81 mm

2.4.3 Sơ đồ khối

- RF Interface: điều chế giải điều chế, chỉnh lưu, tạo xung đồng hồ, điều chỉnh điện áp

- Anticollision: chọn và thực hiện field

- Authentication: xác thực hoạt động truy cập

- Control & ALU: tăng, giảm các giá trị đặc biệt

- EEPROM Interface: quản lý các hoạt động liên quan tới EEPROM

- Crypto: xác thực và mã hoá dữ liệu

- EEPROM: lưu trữ dữ liệu

2.4.4 Tổ chức dữ liệu

1024 x 8 bit dữ liệu được tổ chức trong 16 sector với 4 khối,mỗi khối 16 byte Ở trạng thái bị xoá, các cell EEPROM nhận giá trị logic 0, ở trạng thái được ghi, cell nhận giá chị logic 1[10]

Trang 32

Hình 20: Tổ chức dữ liệu trong thẻ MIFARE S50 [10]

Trang 33

CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Các khối chính và chức năng

Hình 21: Các khối chính của hệ thống

- Khối thiết bị đọc: có nhiệm vụ đọc thông tin từ thẻ

- Khối vi xử lý: nhận dữ liệu từ thiết bị đọc, đóng gói và gửi chuỗi ID lên khối server, nhận lệnh từ server và thực thi những lệnh liên quan tới đầu ra

- Khối server: tiếp nhận và xử lý thông tin từ khối vi xử lý gửi lên, thực hiện các truy vấn CSDL

Lựa chọn thiết bị:

- Khối thiết bị đọc: sử dụng module RFID-RC522

- Khối vi xử lý: sử dụng mạch phát triển Arduino Uno R3

- Khối server: sử dụng máy tính cá nhân

Ưu điểm của các thiết bị:

- Module RFID-RC522: nhỏ gọn, dễ kết nối, không cần sử dụng đến ăng ten ngoài, thư viện được nhà sản xuất viết sẵn nên rất tiện dụng

- Arduino Uno: phổ biến và dễ sử dụng nhất trong các dòng Arduino hiện nay, nhỏ gọn, mạch được làm với hệ thống máy hiện đại để đảm bảo các mối hàn luôn được bảo vệ Có sẵn khối chuyển đổi Serial – USB giao tiếp trực tiếp với máy tính không cần thêm bộ chuyển đổi RS232 Sử dụng trực tiếp nguồn điện từ cổng USB vì thế không cần lắp bổ sung thêm nguồn phụ Dễ dàng tháo lắp, thay đổi chip xử lý (AVR

họ 8 bit) Nạp chương trình trực tiếp thông qua chip ATmega16U2 gẵn trên mạch được nạp sẵn firmware Ngôn ngữ lập trình dựa theo C/C++ đơn giản, dễ hiểu; chương trình lập trình tiện dụng, tích hợp sẵn Serial Monitor

Trang 34

3.2 Mô hình kết nối

Hình 22: Mô hình kết nối thực tế hệ thống 3.3 Kết nối phần cứng

Hình 23: Sơ đồ chân kết nối Arduino và RFID-RC522

Hình 24: Kết nối thực tế hệ thống

Ngày đăng: 06/06/2018, 10:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w