Ứ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 354 1
Ứ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

Đ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

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 THỜI GIAN 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 Chun 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 Hồng Văn Dũng QUẢNG BÌNH, 2018 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi, số liệu kết nghiên cứu nêu khoá luận trung thực Nghiên cứu chưa công bố cơng trình khác Những tài liệu thu thập tác giả khác sử dụng khóa luận có trích dẫn tài liệu tham khảo thích có nguồn gốc Sinh viên Tanvôngphăp Phonmêla NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Xác nhận giảng viên hướng dẫn Hoàng Văn Dũng LỜI CẢM ƠN Trong trình thực báo cáo khoá luận em nhận quan tâm giúp đỡ tận tình nhiều cá nhân, tập thể trường Trước hết, em xin bày tỏ lòng biết ơn sâu sắc tới giảng viên TS Hoàng Văn Dũng - Người trực tiếp hướng dẫn em suốt trình nghiên cứu thực đề tài Em xin chân thành cảm ơn thầy giáo, cô giáo khoa Kỹ thuật - Công nghệ thơng tin Trường Đại học Quảng Bình tạo điều kiện thuận lợi giúp đỡ em suốt trình học tập rèn luyện trường Em xin bày tỏ lòng biết ơn vơ hạn tới gia đình, người thân bạn bè sát cánh bên em suốt trình học tập nghiên cứu đề tài Mặc dù trình nghiên cứu đề tài, thân em có cố gắng định, song khả thời gian hạn chế nên đề tài khơng tránh khỏi thiếu sót Em kính mong nhận góp ý chân thành thầy cô giáo bạn để đề tài em hoàn thiệ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 MỤC LỤC PHẦN I: MỞ ĐẦU .1 chọn đề tài .1 Mục tiêu nghiên cứu 2.1 Mục tiêu chung .1 2.2 Mục tiêu cụ thể .1 Đối tượng, phạm vi, phương pháp nghiên cứu .2 3.1 Đối tượng nghiên cứu 3.2 Phạm vi nghiên cứu 3.3 Phương pháp nghiên cứu Nội dung nghiên cứu .2 Kết đạt .2 PHẦN II: NỘI DUNG CHƯƠNG I: CƠ SỞ THUYẾT 1.1 Tổng quan hệ thống RFID .3 1.1.1 Kỹ thuật RFID 1.1.2 Lịch sử hình thành RFID 1.1.3 Các thành phần hệ thống RFID 1.1.4 Nguyên hoạt động RFID 1.1.5 Các dài tần số hoạt động hệ thống RFID 1.2 Các chuẩn kết nối 1.3 Các phần mềm liên quan 10 CHƯƠNG II ARDUINO LẬP TRÌNH ĐIỀU KHIỂN .11 2.1 Giới thiệu chung 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 17 2.3.2 Sơ đồ khối chức 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 2.4.3 Sơ đồ khối 20 2.4.4 Tổ chức liệu .20 CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG .22 3.1 Các khối chức .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 24 3.4.3.1 Mơ hình chức .24 3.4.3.2 Chức quản user 25 3.4.4 CSDL hệ thống kiểm soát thời gian trạng thái học sinh viên 27 3.4.4.1 Mơ hình thiết kế sở liệu .27 3.4.4.2 Các bảng CSDL 28 CHƯƠNG IV: CÀI ĐẶT THỰC NGHIỆM .30 4.1 Xây dựng sở liệu quản thông tin, thời gian trạng thái học 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 thêm,sửa thơng tin sinh viên .35 4.3.2.4 Module tìm kiếm xóa thơng tin sinh viên .36 4.3.2.5 Module thời gian trạng thái học sinh viên 37 4.4 Đánh giá kết thử nghiệm hệ thống 38 PHẦN III: KẾT LUẬN KIẾN NGHỊ 40 TÀI LIỆU THAM KHẢO 41 PHỤ LỤC 42 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ở liệu DC Direct Current EEPROM Electrically Erasable Programmable Read-Only Memory GUI Graphical User Interface GND Ground IC Inter-Intergrated Circuit 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 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 DANH MỤC BẢNG BIỂU Bảng 1: Các tần số hoạt động RFID Bảng 2: Thông tin chi tiết Arduino Uno R3 13 Bảng 3: Kịch quản user 25 Bảng 4: Kịch xây dựng sở liệu 26 Bảng 5: Quản User 28 Bảng 6: Thông tin sinh viên 28 Bảng 7: Thời gian trạng thái 29 Bảng 8: Kết trình thử nghiệm hệ thống RFID 39 DANH MỤC HÌNH ẢNH Hình 1: Các thành phần hệ thống RFID Hình 2: Thiết bị TSL’s 1128 Bluetooth UHF RFID[2] Hình 3: Reader SL500[2] Hình 4: Thiết bị đọc RFID-RC522[2] Hình 5: Ví dụ số thẻ RFID[3] Hình 6: Nguyên hoạt động hệ thống RFID Hình 7: Một số chuẩn chân cắm USB[5] Hình 8: Quá trình truyền 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 sơ đồ chân kết nối [2] 14 Hình 12: Các chân vào 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 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 liệu thẻ MIFARE S50 [10] 21 Hình 21: Các khối 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 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 hệ thống 24 Hình 27: Biểu đồ chức quản user 26 Hình 28: Biểu đồ chức xây dựng CSDL 27 Hình 29: Mơ hình sở liệu 27 Hình 30: CSDL thơng tin Quản User 30 Hình 31: CSDL thông tin sinh viên 30 Hình 32: CSDL thơng tin Thời gian Trạng thái sinh viên 31 lb_timestart.Text = "Sinh viên muộn" Try Timer1.Enabled = True Timer1.Start() SerialPort1.PortName = ComboBox_ports.Text SerialPort1.BaudRate = Convert.ToInt32(combox_BaudRate.Text) show_text.Text = "Đã kết nối RFID" show_text.ForeColor = Color.White SerialPort1.Open() bt_open_baudrate.Enabled = False bt_close_rfid.Enabled = True Catch ex As Exception MsgBox("kết giấy ardiuno với máy tính sử dụng được") End End Try ElseIf Rd_dive.Checked = True Then lb_timestart.Text = "Sinh viên về" Try Timer1.Enabled = True Timer1.Start() SerialPort1.PortName = ComboBox_ports.Text SerialPort1.BaudRate = Convert.ToInt32(combox_BaudRate.Text) show_text.Text = "Đã kết nối RFID" show_text.ForeColor = Color.White SerialPort1.Open() bt_open_baudrate.Enabled = False bt_close_rfid.Enabled = True Catch ex As Exception MsgBox("kết giấy ardiuno với máy tính sử dụng được") End End Try 43 ElseIf Rd_didunggio.Checked = False And Rd_dimuon.Checked = False And Rd_dive.Checked = False Then MsgBox("chọn tráng thái kết nối ") End If Dim cameras As VideoCaptureDeviceForm = New VideoCaptureDeviceForm If cameras.ShowDialog() = Windows.Forms.DialogResult.OK Then CAMERA = cameras.VideoDevice AddHandler CAMERA.NewFrame, New NewFrameEventHandler(AddressOf Captured) CAMERA.Start() End If End Sub Private Sub bt_close_rfid_Click(sender As Object, e As EventArgs) Handles bt_close_rfid.Click bt_close_rfid.Enabled = False bt_open_baudrate.Enabled = True lb_timestart.Text = "" Try MsgBox("tắt kết nối RFID") SerialPort1.Close() Timer1.Enabled = False Timer1.Stop() show_text.Text = "chưa kết nối RFID" show_text.ForeColor = Color.Red ComboBox_ports.Enabled = True combox_BaudRate.Enabled = True Catch ex As Exception MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try ' DataGrid_showtime.Enabled = True End Sub 44 Private Sub showtime_sv() connect_all() sql = "select * from timer_sv" cmd = New Data.SqlClient.SqlCommand(sql, cn) DataGrid_showtime.DataSource = cmd_datatable() End Sub Private Sub refresh_all() sql = "select * from tb_sv" DataGridView_tableinsert.DataSource = cmd_datatable() DataGridView_tim_xoa.DataSource = cmd_datatable() End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick lb_time.Text = DateAndTime.Now Try If SerialPort1.BytesToRead Then Dim goiRFID() As String = Split(SerialPort1.ReadLine, ",") txt_openRFID.Text = goiRFID(0) 'เอาค่าที่ Arduino ส่งมาแสดงใน Textbox bt_openRFID_Click(sender, e) txt_id.Text = goiRFID(0) Txt_tim_xoa.Text = goiRFID(0) tb_thoigian_Click(sender, e) End If Catch ex As Exception End Try End Sub Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick lb_timeofday.Text = TimeOfDay Dim TimeStart As DateTime = #5:00:00 AM# Dim Time_7 As DateTime = #7:00:00 AM# Dim Time_7_10 As DateTime = #7:10:00 AM# 45 Dim Time_7_15 As DateTime = #7:15:00 AM# Dim TimeEnd_7 As DateTime = #7:16:00 AM# Dim TimeEnd7_20 As DateTime = #7:20:00 AM# Dim TimeEnd_ve11 As DateTime = #11:30:00 AM# Dim TimeEnd_12_15 As DateTime = #12:15:00 PM# Dim TimeEnd_1 As DateTime = #1:00:00 PM# Dim TimeEnd_1_6 As DateTime = #1:16:00 PM# Dim TimeEnd_4_30 As DateTime = #4:30:00 PM# Dim ttt As DateTime = #3:30:00 PM# Dim wee As DayOfWeek = DayOfWeek.Friday Dim weeknow As DayOfWeek = Now.DayOfWeek Dim time_6 As DateTime = TimeOfDay If time_6.TimeOfDay = TimeStart.TimeOfDay Then lb_timestart.Text = "Đi giờ" ElseIf time_6.TimeOfDay = Time_7.TimeOfDay Then lb_timestart.Text = "Đi giờ" ElseIf time_6.TimeOfDay = Time_7_10.TimeOfDay Then lb_timestart.Text = "Đi giờ" ElseIf time_6.TimeOfDay = Time_7_15.TimeOfDay Then lb_timestart.Text = "Đi giờ" ElseIf time_6.TimeOfDay = TimeEnd_7.TimeOfDay Then lb_timestart.Text = "Sinh viên muộn" ElseIf time_6.TimeOfDay = TimeEnd7_20.TimeOfDay Then lb_timestart.Text = "Sinh viên muộn" ElseIf time_6.TimeOfDay = TimeEnd_ve11.TimeOfDay Then lb_timestart.Text = "Sinh viên về" ElseIf time_6.TimeOfDay = TimeEnd_12_15.TimeOfDay Then lb_timestart.Text = "Đi giờ" ElseIf time_6.TimeOfDay = TimeEnd_1.TimeOfDay Then lb_timestart.Text = "Đi giờ" ElseIf time_6.TimeOfDay = TimeEnd_1_6.TimeOfDay Then lb_timestart.Text = "Sinh viên muộn" 46 ElseIf time_6.TimeOfDay = TimeEnd_4_30.TimeOfDay Then lb_timestart.Text = "Sinh viên về" ElseIf weeknow = wee And time_6 = ttt Then lb_timestart.Text = "Sinh viên " End If End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Try Dim ports() As String = IO.Ports.SerialPort.GetPortNames Dim BaudRate() As String = New String() {"1200", "2400", "4800", "9600", "19200", "38400", "57600", "115200"} combox_BaudRate.Items.AddRange(BaudRate) Timer1.Enabled = True Timer1.Interval = 1000 refresh_all() showtime_sv() lb_time.Text = DateAndTime.Now ComboBox_ports.Items.AddRange(ports) ComboBox_ports.SelectedIndex = combox_BaudRate.SelectedIndex = Catch ex As Exception End Try Me.DataGrid_showtime.Columns("photo").Visible = False Me.DataGridView_tableinsert.Columns("photo").Visible = False Me.DataGridView_tim_xoa.Columns("photo").Visible = False End Sub Private Sub bt_xoa_Click(sender As Object, e As EventArgs) Handles bt_xoa.Click Dim i As Integer = DataGridView_tim_xoa.CurrentRow.Index 47 Dim delete As String = DataGridView_tim_xoa.Item(0, i).Value connect_all() sql = "DELETE FROM tb_sv WHERE TT ='" & delete & "'" cmd = New SqlClient.SqlCommand(sql, cn) If cmd.ExecuteNonQuery = Then Else Select Case MsgBox("Nếu bạn muốn xóa thơng tin bấm nút Yes", MsgBoxStyle.YesNo) Case MsgBoxResult.Yes MessageBox.Show(" bạn xóa thơng tin ") Case MsgBoxResult.No MessageBox.Show("bạn hủy ") End Select End If DataGridView_tim_xoa.DataSource = cmd_datatable() refresh_all() End Sub Private Sub bt_tim_Click(sender As Object, e As EventArgs) Handles bt_tim.Click find_all() End Sub Private Sub find_all() sql = String.Format("select * from tb_sv where RFID like '%{0}%' or hovaten like '%{0}%'", Txt_tim_xoa.Text) DataGridView_tim_xoa.DataSource = cmd_datatable() End Sub Private Sub findthoigian() sql = String.Format("select * from timer_sv where RFID like '%{0}%' or hovaten like '%{0}%' or time like '%{0}%' or trangthaiSV like '%{0}%'", txt_finddatetime.Text) DataGrid_showtime.DataSource = cmd_datatable() End Sub 48 Private Sub bt_uoload_Click(sender As Object, e As EventArgs) Handles bt_uoload.Click If OpenFileDialog1.ShowDialog = vbOK Then pic_photo.Image = Image.FromFile(OpenFileDialog1.FileName) End If End Sub Private Sub bt_save_Click(sender As Object, e As EventArgs) Handles bt_save.Click sql = "select count (*) from tb_sv where RFID ='" & txt_id.Text & "'" If cmd_excutenonscalar() > Then MsgBox("bạn có thơng tin sở dũ liệu ") txt_id.Text = "" txt_id.Select() Return End If sql = "insert into tb_sv values (@0,@1,@2,@3,@4,@5,@6,@7,@8)" cmd = New SqlClient.SqlCommand(sql, cn) cmd.Parameters.Clear() cmd.Parameters.AddWithValue("@0", txt_id.Text) cmd.Parameters.AddWithValue("@1", txt_hovaten.Text) cmd.Parameters.AddWithValue("@2", txt_ngaysinh.Text) cmd.Parameters.AddWithValue("@3", txt_diachi.Text) cmd.Parameters.AddWithValue("@4", txt_sdt.Text) cmd.Parameters.AddWithValue("@5", txt_email.Text) cmd.Parameters.AddWithValue("@6", cmd_convertpicturebox(pic_photo)) cmd.Parameters.AddWithValue("@7", txt_lop.Text) cmd.Parameters.AddWithValue("@8", txt_khoa.Text) If cmd.ExecuteNonQuery = Then MsgBox("bạn thêm thông tin xin bạn kiểm tra lại ") Else MsgBox("bạn thêm thông tin vào sở dũ liệu ") End If 49 refresh_all() End Sub Private Sub Bn_edit_Click(sender As Object, e As EventArgs) Handles Bn_edit.Click Try sql = "update tb_sv set hovaten=@1,ngaysinh=@2,diachi=@3,sdt=@4,email=@5,photo=@6, lop=@7,khoa=@8 where RFID=@0" cmd = New SqlClient.SqlCommand(sql, cn) cmd.Parameters.Clear() cmd.Parameters.AddWithValue("@1", txt_hovaten.Text) cmd.Parameters.AddWithValue("@2", txt_ngaysinh.Text) cmd.Parameters.AddWithValue("@3", txt_diachi.Text) cmd.Parameters.AddWithValue("@4", txt_sdt.Text) cmd.Parameters.AddWithValue("@5", txt_email.Text) cmd.Parameters.AddWithValue("@6", cmd_convertpicturebox(pic_photo)) cmd.Parameters.AddWithValue("@7", txt_lop.Text) cmd.Parameters.AddWithValue("@8", txt_khoa.Text) cmd.Parameters.AddWithValue("@0", txt_id.Text) If cmd.ExecuteNonQuery = Then MsgBox("không thể sửa thông tin xin bạn kiểm tra lại ") Else MsgBox("bạn sửa thông tin") End If refresh_all() Catch ex As Exception End Try End Sub Private Sub DataGridView_tableinsert_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView_tableinsert.CellClick Dim i As Integer = DataGridView_tableinsert.CurrentRow.Index Dim them As String = DataGridView_tableinsert.Item(0, i).Value 50 sql = " select * from tb_sv where TT = '" & them & "'" Dim dts As DataTable = cmd_datatable() txt_maID.Text = dts.Rows(0)("TT") txt_id.Text = dts.Rows(0)("RFID") txt_hovaten.Text = dts.Rows(0)("hovaten") txt_ngaysinh.Text = dts.Rows(0)("ngaysinh") txt_diachi.Text = dts.Rows(0)("diachi") txt_sdt.Text = dts.Rows(0)("sdt") txt_email.Text = dts.Rows(0)("email") Dim anh() As Byte = dts.Rows(0)("photo") pic_photo.Image = Image.FromStream(New IO.MemoryStream(CType(anh, Byte()))) txt_lop.Text = dts.Rows(0)("lop") txt_khoa.Text = dts.Rows(0)("khoa") End Sub Private Sub tb_thoigian_Click(sender As Object, e As EventArgs) Handles tb_thoigian.Click connect_all() sql = "insert into timer_sv values (@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10)" cmd = New SqlClient.SqlCommand(sql, cn) cmd.Parameters.Clear() ' cmd.Parameters.AddWithValue("@ID", lb_IDD.Text) cmd.Parameters.AddWithValue("@0", Lb_RFID.Text) cmd.Parameters.AddWithValue("@1", lb_hovaten.Text) cmd.Parameters.AddWithValue("@2", lb_ngaysinh.Text) cmd.Parameters.AddWithValue("@3", lb_diachi.Text) cmd.Parameters.AddWithValue("@4", lb_sdt.Text) cmd.Parameters.AddWithValue("@5", lb_email.Text) cmd.Parameters.AddWithValue("@6", cmd_convertpicturebox(PictureBox_captrue)) 51 cmd.Parameters.AddWithValue("@7", lb_thoigian.Text) cmd.Parameters.AddWithValue("@8", lb_lop.Text) cmd.Parameters.AddWithValue("@9", lb_khoa.Text) cmd.Parameters.AddWithValue("@10", lb_timestart.Text) If cmd.ExecuteNonQuery = Then ' lb_IDD.Text = "" Lb_RFID.Text = "XX" lb_hovaten.Text = "XX" lb_ngaysinh.Text = "XX" lb_diachi.Text = "XX" lb_sdt.Text = "XX" lb_email.Text = "XX" lb_thoigian.Text = "XX" lb_lop.Text = "XX" lb_khoa.Text = "XX" End If 'Showid() showtime_sv() End Sub Private Sub bt_openRFID_Click(sender As Object, e As EventArgs) Handles bt_openRFID.Click sql = "select * from tb_sv where RFID ='" & txt_openRFID.Text & "'" cmd = New SqlClient.SqlCommand(sql, cn) Dim dts As DataTable = cmd_datatable() If dts.Rows.Count > Then Lb_RFID.Text = dts.Rows(0)("RFID") lb_hovaten.Text = dts.Rows(0)("hovaten") lb_ngaysinh.Text = dts.Rows(0)("ngaysinh") lb_diachi.Text = dts.Rows(0)("diachi") lb_sdt.Text = dts.Rows(0)("sdt") lb_email.Text = dts.Rows(0)("email") lb_thoigian.Text = DateAndTime.Now 52 Dim pp() As Byte = dts.Rows(0)("photo") Picture_anhdaidien.Image = Image.FromStream(New IO.MemoryStream(CType(pp, Byte()))) lb_lop.Text = dts.Rows(0)("lop") lb_khoa.Text = dts.Rows(0)("khoa") ' lb_status.Text = dts.Rows(0)("trangthaiSV") lb_showthongtin.Text = "có thơng tin Cơ sở liệu" lb_showthongtin.ForeColor = Color.Yellow Else lb_showthongtin.Text = "Khơng có thơng tin Cơ sở liệu" lb_showthongtin.ForeColor = Color.Red End If bt_openRFID.Visible = False txt_openRFID.Visible = False End Sub Private Sub bt_didunggio_Click(sender As Object, e As EventArgs) Handles bt_didunggio.Click Select Case MsgBox("Nếu muốn thay đổi trạng thái Sinh viên bấm nút Yes", MsgBoxStyle.YesNo) Case MsgBoxResult.Yes lb_timestart.Text = "Đi giờ" MessageBox.Show(" thay đổi trạng thái Sinh viên ") Case MsgBoxResult.No MessageBox.Show("đã hủy ") End Select End Sub Private Sub bt_dimuon_Click(sender As Object, e As EventArgs) Handles bt_dimuon.Click Select Case MsgBox("Nếu muốn thay đổi trạng thái Sinh viên bấm nút Yes", MsgBoxStyle.YesNo) Case MsgBoxResult.Yes lb_timestart.Text = "Sinh viên muộn" 53 MessageBox.Show(" thay đổi trạng thái Sinh viên ") Case MsgBoxResult.No MessageBox.Show("đã hủy ") End Select End Sub Private Sub bt_svve_Click(sender As Object, e As EventArgs) Handles bt_svve.Click Select Case MsgBox("Nếu muốn thay đổi trạng thái Sinh viên bấm nút Yes", MsgBoxStyle.YesNo) Case MsgBoxResult.Yes lb_timestart.Text = "Sinh viên " MessageBox.Show(" thay đổi trạng thái Sinh viên ") Case MsgBoxResult.No MessageBox.Show("đã hủy ") End Select End Sub Private Sub bt_chontime_Click(sender As Object, e As EventArgs) Handles bt_chontime.Click lb_chonthoigian.Text = txt_chonthoigian.Text bt_chontime.Enabled = False bt_start.Enabled = True End Sub Private Sub bt_start_Click(sender As Object, e As EventArgs) Handles bt_start.Click Timer3.Start() Timer3.Enabled = True bt_start.Enabled = False bt_chontime.Enabled = True End Sub Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick If lb_chonthoigian.Text = lb_timeofday.Text Then 54 lb_timestart.Text = ComboBox_chonsv.Text End If End Sub Private Sub lb_timestart_TextChanged(sender As Object, e As EventArgs) lb_copytrangthai.Text = lb_timestart.Text End Sub Private Sub bt_timethigian_Click(sender As Object, e As EventArgs) Handles bt_timethigian.Click findthoigian() End Sub Private Sub txt_finddatetime_TextChanged(sender As Object, e As EventArgs) Handles txt_finddatetime.TextChanged findthoigian() End Sub Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGrid_showtime.CellClick connect_all() Dim i As Integer = DataGrid_showtime.CurrentRow.Index Dim themk As String = DataGrid_showtime.Item(0, i).Value sql = " select * from timer_sv where TT ='" & themk & "'" cmd = New Data.SqlClient.SqlCommand(sql, cn) Dim dts As DataTable = cmd_datatable() lb_TT.Text = dts.Rows(0)("TT") Lb_RFID.Text = dts.Rows(0)("RFID") lb_hovaten.Text = dts.Rows(0)("hovaten") lb_ngaysinh.Text = dts.Rows(0)("ngaysinh") lb_diachi.Text = dts.Rows(0)("diachi") lb_sdt.Text = dts.Rows(0)("sdt") lb_email.Text = dts.Rows(0)("email") Dim pph() As Byte = dts.Rows(0)("photo") Picture_anhdaidien.Image = Image.FromStream(New IO.MemoryStream(CType(pph, Byte()))) 55 lb_thoigian.Text = dts.Rows(0)("time") lb_lop.Text = dts.Rows(0)("lop") lb_khoa.Text = dts.Rows(0)("khoa") lb_status.Text = dts.Rows(0)("trangthaiSV") End Sub Public Sub Captured(sender As Object, eventArgs As NewFrameEventArgs) bmp = DirectCast(eventArgs.Frame.Clone(), Bitmap) PictureBox_captrue.Image = DirectCast(eventArgs.Frame.Clone(), Bitmap) End Sub Private Sub bt_captrue_Click(sender As Object, e As EventArgs) Handles bt_captrue.Click If SaveFileDialog1.ShowDialog = vbOK Then System.IO.File.WriteAllBytes(SaveFileDialog1.FileName, cmd_convertpicturebox(PictureBox_captrue)) End If End Sub End Class - Code hoạt động để đọc thẻ ardunio [16] #include "SPI.h" #include "MFRC522.h" #define SS_PIN 10 #define RST_PIN #define LED_PIN A0 MFRC522 rfid(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); } void loop() { if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) 56 return; // Serial.print(F("PICC type: ")); MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); // Serial.println(rfid.PICC_GetTypeName(piccType)); // Check is the PICC of Classic MIFARE type if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI && piccType != MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K) { Serial.println(F("Your tag is not of type MIFARE Classic.")); return; } String strID = ""; for (byte i = 0; i < 4; i++) { strID += (rfid.uid.uidByte[i] < 0x10 ? "0" : "") + String(rfid.uid.uidByte[i], HEX) + (i!=3 ? ":" : ""); } strID.toUpperCase(); Serial.print("Tap card key: "); Serial.println(strID); } rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } 57 ... quản lý giảng dạy chất lượng học tập sinh viên Ðể góp phần vào việc quản lý thơng tin cách nhanh chóng hiệu em chọn đề tài Ứng dụng RFID quản lý thời gian trạng thái học sinh viên Trường Đại học. .. đưa thực tiễn - Thử nghiệm ứng dụng cho người quản lý quản lý thời gian trạng thái học sinh viên trường Đại học Quảng Bình cách dễ dàng, khơng phải tốn nhiều thời gian công sức cập nhật phát... nghiên cứu - Phạm vi nghiên cứu 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 trạng thái học sinh viên Trường Đại học Quảng Bình 3.3 Phương pháp nghiên cứu

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

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan