RFID Reader - VB.net Source code

RFID Reader - VB.net Source code




















Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class frm_main
    Inherits System.Windows.Forms.Form
  
    Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
        Dim port, i, baud As Integer
        Dim j As Short
        Dim buf1(200) As Byte
        Dim b1 As Byte
        Dim s1 As String
        port = cb_ckh.SelectedIndex + 1
        If (port = 0) Then
            lb_info.Text = "Please select COM Port!"
        End If
        baud = CInt(cb_btl.Text)
        If (baud = 0) Then
            lb_info.Text = "Please select Baud rate!"
        End If
        'Open Port
        i = rf_init_com(port, baud)
        If (i <> 0) Then
            lb_info.Text = "Open Port Fail!"
            Exit Sub
        End If
        'Request
        i = rf_request(0, &H52s, j)
        If (i <> 0) Then
            lb_info.Text = "Request Fail!"
            Exit Sub
        End If
        'Anticollision
        i = rf_anticoll(0, 4, buf1(0), b1)
        If (i <> 0) Then
            lb_info.Text = "Anticollision Fail!"
            Exit Sub
        End If
        s1 = ""
        For i = 0 To b1 - 1
            s1 = s1 & VB.Right("00" & Hex(buf1(i)), 2)
        Next i
        tx_kh.Text = s1
        'Select card
        i = rf_select(0, buf1(0), 4, b1)
        If (i <> 0) Then
            lb_info.Text = "Select card fail!"
            Exit Sub
        End If
        lb_info.Text = "Select card succeed!"
    End Sub
  
    Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
        Dim i, m As Integer
        Dim buf1(200) As Byte
        Dim buf2(200) As Byte
        Dim s1 As String
        Dim b2, b1, b3 As Byte
        s1 = Trim(tx_key.Text)
        If (Len(s1) <> 12) Then
            lb_info.Text = "Wrong Key Length!"
            tx_key.Focus()
            Exit Sub
        End If
        For i = 0 To 5
            buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2))
        Next i
        m = cb_kh.SelectedIndex
        If (m = -1) Then
            lb_info.Text = "Select Block Please!"
            Exit Sub
        End If
        If (op_a.Checked) Then
            b1 = &H60s
        End If
        If (op_b.Checked) Then
            b1 = &H61s
        End If
        b3 = CByte(m)
        'Authentication
        i = rf_M1_authentication2(0, b1, b3, buf1(0))
        If (i <> 0) Then
            lb_info.Text = "Authentication Fail"
            Exit Sub
        End If
        'Read card
        i = rf_M1_read(0, b3, buf2(0), b2)
        If (i <> 0) Then
            lb_info.Text = "Read Card Fail!"
            Exit Sub
        End If
        s1 = ""
        For i = 0 To b2 - 1
            s1 = s1 & VB.Right("00" & Hex(buf2(i)), 2)
        Next i
        tx_sj.Text = s1
        lb_info.Text = "Read Succeed!"
    End Sub
  
    Private Sub Command3_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command3.Click
        Dim i, m As Integer
        Dim buf1(200) As Byte
        Dim buf2(200) As Byte
        Dim s1 As String
        Dim b2, b1, b3 As Byte
        s1 = Trim(tx_key.Text)
        If (Len(s1) <> 12) Then
            lb_info.Text = "Wrong Key Length!"
            tx_key.Focus()
            Exit Sub
        End If
        For i = 0 To 5
            buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2))
        Next i
        m = cb_kh.SelectedIndex
        If (m = -1) Then
            lb_info.Text = "Select Block Please!"
            Exit Sub
        End If
        If (op_a.Checked) Then
            b1 = &H60s
        End If
        If (op_b.Checked) Then
            b1 = &H61s
        End If
      
        s1 = Trim(tx_sj.Text)
        If (Len(s1) <> 32) Then
            lb_info.Text = "Wrong Data length "
            tx_sj.Focus()
            Exit Sub
        End If
        For i = 0 To 15
            buf2(i) = Val("&H" & Mid(s1, i * 2 + 1, 2))
        Next i
        'Authentication
        b3 = CByte(m)
        i = rf_M1_authentication2(0, b1, b3, buf1(0))
        If (i <> 0) Then
            lb_info.Text = "Authentication Fail!"
            Exit Sub
        End If
        'Write card
        i = rf_M1_write(0, b3, buf2(0))
        If (i <> 0) Then
            lb_info.Text = "Write Card Fail"
            Exit Sub
        End If
      
        lb_info.Text = "Write Succeed!"
    End Sub
  
    Private Sub Command4_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command4.Click
        Dim i As Integer
        i = rf_halt(0)
        If (i <> 0) Then
            lb_info.Text = "Halt Fail!"
            Exit Sub
        End If
        lb_info.Text = "Halt Succeed"
    End Sub
  
    Private Sub frm_main_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        For i = 0 To 63
            cb_kh.Items.Insert(i, CStr(i))
        Next i
        cb_ckh.SelectedIndex = 0 : cb_btl.SelectedIndex = 1 : cb_kh.SelectedIndex = 4
    End Sub
End Class

Download Source code


RFID on Ebay Store