งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

RFID Reader 13.56MHz (ISO14443A).

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "RFID Reader 13.56MHz (ISO14443A)."— ใบสำเนางานนำเสนอ:

1 RFID Reader 13.56MHz (ISO14443A)

2 หัวข้อการอบรม ช่วงเช้า 9:00-12:00
เรียนรู้โครงสร้างและการทำงานของเครื่องอ่าน RFID 13.56MHz ตามมาตรฐานISO14443A เรียนรู้เทคนิคและคำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน RFID เรียนรู้โครงสร้างข้อมูลของTagที่ใช้งาน ช่วงบ่าย 13:00-16:00 พัฒนาซอฟต์แวร์สำหรับใช้งานจริงร่วมกับฐานข้อมูล(ด้วยโครงการตัวอย่างที่ใช้งานจริง) การออกแบบโครงสร้างข้อมูลบนบัตรเพื่อความปลอดภัยของข้อมูล เทคนิคการจัดเก็บข้อมูลบนบัตร การทำงานกับฟังก์ชั่นทางการเงินบนบัตร การทำงานร่วมกับฐานข้อมูล

3 เตรียมความพร้อมก่อนอบรม
เครื่องคอมพิวเตอร์ มีโปรแกรม Visual Basic 6 มี USB Port ว่าง 1 Port มีสายแปลงสัญญาณ RS232 เป็น USB มีฐานข้อมูล My SQL version 5.0 (Win32) หรือversionใหม่กว่า แผงวงจรเครื่องอ่าน RFID 13.56MHz (ISO14443A) Tag ตัวอย่าง Mifare Card 1K และ 4K

4 โครงสร้างและการทำงานของเครื่องอ่าน RFID 13.56MHz ตามมาตรฐาน ISO14443A
MF RC500 MCU STC89C52RC MAX232 LED

5 โครงสร้างและการทำงานของเครื่องอ่าน RFID 13.56MHz ตามมาตรฐาน ISO14443A
แบบ USB แบบ RS232

6 โครงสร้างการจัดการหน่วยความจำบนบัตร Mifare 1 K

7 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
rf_init_com(ByVal port&, ByVal baud&) As Long คำสั่งในการเชื่อมต่อกับเครื่องอ่าน rf_ClosePort Lib () As Long คำสั่งในการยกเลือกการเชื่อมต่อกับเครื่องอ่าน rf_request(ByVal icdev%, ByVal model As Byte, _ ByRef TagType%) As Long คำสั่งในการเลือกโหมดในการอ่าน Tag 0x26 REQ_STD 0x52 REQ_ALL

8 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
rf_anticoll(ByVal icdev%, ByVal bcnt As Byte, _ ByRef ppsnr As Byte, ByRef pRLength As Byte) As Long คำสั่งในการอ่าน Serial Card rf_select(ByVal icdev%, ByRef pSnr As Byte, _ ByVal srclen As Byte, ByRef size As Byte) As Long คำสั่งในการเลือก Card สำหรับการอ่านเขียนข้อมูลใน Card นั้น

9 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
rf_M1_authentication2(ByVal icdev%, ByVal model As Byte, _ ByVal block As Byte, ByRef key As Byte) As Long คำสั่งในการเข้ารหัสในการอ่าน-เขียนข้อมูลแต่ละ Sactor rf_M1_read(ByVal icdev%, ByVal block As Byte, _ ByRef buff As Byte, ByRef pLen As Byte) As Long คำสั่งในการอ่านข้อมูลแต่ละBlock ของ Sactor

10 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
rf_M1_write(ByVal icdev%, ByVal block As Byte, _ ByRef buff As Byte) As Long คำสั่งในการเขียนข้อมูลลงแต่ละ Block rf_M1_initval(ByVal icdev%, ByVal block As Byte, ByVal Value As Long) As Long คำสั่งในการ Reset ค่าเงินให้เป็น 0 แต่ละ Block rf_M1_readval(ByVal icdev%, ByVal block As Byte, ByRef pValue As Byte) As Long คำสั่งในการอ่านค่าเงินจาก Block

11 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
rf_M1_increment(ByVal icdev%, ByVal block As Byte, ByVal Value As Long) As Long คำสั่งในการเพิ่มค่าเงินให้แต่ละ Block rf_M1_decrement(ByVal icdev%, ByVal block As Byte, ByVal Value As Long) As Long คำสั่งในการลบค่าเงินของแต่ละ Block rf_beep(ByVal icdev%, ByVal Value As Long) As Long คำสั่งสำหรับสั่งให้เครื่องอ่านส่งเสียง Alarm (ความยาวของ Alarm ตามค่า Parameter ที่ส่งไป) rf_light(ByVal icdev%, ByVal color As Long) As Long คำสั่งในการส่งค่าให้เครื่องอ่านเปลี่ยนสีของ LED 1: แดง 2: เขียว 3:เหลือง

12 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน

13 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, j%, port&, baud&, buf1(200) As Byte, b1 As Byte, s1$ port = cb_ckh.ListIndex + 1 If (port = 0) Then lb_info.Caption = "Please select COM Port!" End If baud = CLng(cb_btl.Text) If (baud = 0) Then lb_info.Caption = "Please select Baud rate!" 'Open Port i = rf_init_com(port, baud)

14 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If (i <> 0) Then MsgBox "Open Port Fail!" Exit Sub Else MsgBox "Open Port succeed !" Command12.Enabled = False Command13.Enabled = True End If

15 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i As Long i = rf_ClosePort If (i <> 0) Then MsgBox "Close Port Fail!" Exit Sub Else MsgBox "Close Port succeed !" Command12.Enabled = True Command13.Enabled = False End If

16 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน

17 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, j%, port&, baud&, buf1(200) As Byte, b1 As Byte, s1$ i = rf_request(0, &H52, j) If (i <> 0) Then lb_info.Caption = "Request Fail!" Exit Sub End If 'Anticollision i = rf_anticoll(0, 4, buf1(0), b1) lb_info.Caption = "Anticollision Fail!" s1 = "" For i = 0 To b1 - 1 s1 = s1 & Right("00" & Hex(buf1(i)), 2) Next i

18 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
tx_kh.Text = s1 'Select card i = rf_select(0, buf1(0), 4, b1) If (i <> 0) Then lb_info.Caption = "Select card fail!" Exit Sub Else lb_info.Caption = "Select card succeed!" End If

19 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Sub Authentication() Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte s1 = Trim(frm_main.tx_key.Text) If (Len(s1) <> 12) Then frm_main.lb_info.Caption = "Wrong Key Length!" frm_main.tx_key.SetFocus Exit Sub End If For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i 'm = cb_kh.ListIndex m = (frm_main.cboSacter.Text * 4) + frm_main.cb_kh.Text If (m = -1) Then frm_main.lb_info.Caption = "Select Block Please!"

20 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If (frm_main.op_a.Value) Then b1 = &H60 End If If (frm_main.op_b.Value) Then b1 = &H61 b3 = CByte(m) 'Authentication i = rf_M1_authentication2(0, b1, b3, buf1(0)) If (i <> 0) Then frm_main.lb_info.Caption = "Authentication Fail£¡" frm_main.tx_sj.Text = "" Exit Sub End Sub

21 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i 'm = cb_kh.ListIndex If Trim(cboSacter.Text) = "" Or Trim(cb_kh.Text) = "" Then MsgBox "Select Block Please!"

22 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
m = (cboSacter.Text * 4) + cb_kh.Text If (m = -1) Then lb_info.Caption = "Select Block Please!" Exit Sub End If If (op_a.Value) Then b1 = &H60 If (op_b.Value) Then b1 = &H61 b3 = CByte(m) 'Authentication Call Authentication 'Read card

23 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
i = rf_M1_read(0, b3, buf2(0), b2) If (i <> 0) Then lb_info.Caption = "Read Card Fail!" Exit Sub End If s1 = "" For i = 0 To b2 - 1 s1 = s1 & Right("00" & Hex(buf2(i)), 2) Next i tx_sj.Text = s1 lb_info.Caption = "Read Succeed!"

24 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i 'm = cb_kh.ListIndex m = (cboSacter.Text * 4) + cb_kh.Text If (m = -1) Then lb_info.Caption = "Select Block Please!"

25 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If (op_a.Value) Then b1 = &H60 End If If (op_b.Value) Then b1 = &H61 s1 = Trim(tx_sj.Text) If (Len(s1) <> 32) Then lb_info.Caption = "Wrong Data length " tx_sj.SetFocus Exit Sub For i = 0 To 15 buf2(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i

26 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
b3 = CByte(m) Call Authentication 'Write card i = rf_M1_write(0, b3, buf2(0)) If (i <> 0) Then lb_info.Caption = "Write Card Fail£¡" Exit Sub End If lb_info.Caption = "Write Succeed!"

27 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
ฟังก์ชั่นการเงิน

28 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte Call Authentication s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i m = cb_kh.ListIndex If (m = -1) Then lb_info.Caption = "Select Block Please!"

29 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If (op_a.Value) Then b1 = &H60 End If If (op_b.Value) Then b1 = &H61 'm = cb_kh.ListIndex m = (cboSacter.Text * 4) + cb_kh.Text b3 = CByte(m) 'Authentication

30 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
i = rf_M1_authentication2(0, b1, b3, buf1(0)) If (i <> 0) Then lb_info.Caption = "Authentication Fail£¡" tx_sj.Text = "" Exit Sub End If If rf_M1_initval(0, b3, 0) = 0 Then MsgBox "Initialize Value succeed !" Else MsgBox "Initialize Value Fail !"

31 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte Dim a As Byte s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i m = cb_kh.ListIndex If (m = -1) Then lb_info.Caption = "Select Block Please!"

32 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
'm = cb_kh.ListIndex m = (cboSacter.Text * 4) + cb_kh.Text If (op_a.Value) Then b1 = &H60 End If If (op_b.Value) Then b1 = &H61 b3 = CByte(m) 'Authentication i = rf_M1_authentication2(0, b1, b3, buf1(0)) If (i <> 0) Then lb_info.Caption = "Authentication Fail£¡" tx_sj.Text = "" Exit Sub

33 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If rf_M1_readval(0, b3, buf1(0)) = 0 Then ' MsgBox "Initialize Value succeed !" ' edAddMoney.Text = CLng(a) Dim xx As String Dim si As String Dim k As Integer For k = 0 To 3 si = si & IIf(Len(Hex(buf1(k))) < 2, "0" & Hex(buf1(k)), Hex(buf1(k))) Next edAddMoney.Text = a2hex(si, Len(si)) Else MsgBox "Initialize Value Fail !" End If

34 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte Call Authentication s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If m = (cboSacter.Text * 4) + cb_kh.Text If (m = -1) Then lb_info.Caption = "Select Block Please!"

35 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
'm = cb_kh.ListIndex m = (cboSacter.Text * 4) + cb_kh.Text If (op_a.Value) Then b1 = &H60 End If If (op_b.Value) Then b1 = &H61 b3 = CByte(m) If rf_M1_increment(0, b3, (edAddMoney.Text)) = 0 Then MsgBox "increment Value succeed !" Else MsgBox "increment Value Fail !"

36 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If If (m = -1) Then lb_info.Caption = "Select Block Please!"

37 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
m = (cboSacter.Text * 4) + cb_kh.Text If (op_a.Value) Then b1 = &H60 End If If (op_b.Value) Then b1 = &H61 b3 = CByte(m) 'Authentication i = rf_M1_authentication2(0, b1, b3, buf1(0)) If (i <> 0) Then lb_info.Caption = "Authentication Fail£¡" tx_sj.Text = "" Exit Sub

38 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If rf_M1_decrement(0, b3, CLng(edAddMoney.Text)) = 0 Then MsgBox "decrement Value succeed !" Else MsgBox "decrement Value Fail !" End If

39 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If rf_beep(0, CLng(txtbeeptime.Text)) <> 0 Then MsgBox "Alarm Fail!" End If

40 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim iColor As Long If Option1.Value = True Then iColor = 1 ElseIf Option2.Value = True Then iColor = 2 ElseIf Option3.Value = True Then iColor = 3

41 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Else iColor = 0 End If If rf_light(0, iColor) <> 0 Then MsgBox "Light Fail!"

42 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus Exit Sub End If For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i

43 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
If Trim(cboSacter.Text) = "" Or Trim(cb_kh.Text) = "" Then MsgBox "Select Block Please!" Exit Sub End If m = (cboSacter.Text * 4) + 3 If (m = -1) Then lb_info.Caption = "Select Block Please!" If (op_a.Value) Then b1 = &H60 If (op_b.Value) Then b1 = &H61

44 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
b3 = CByte(m) i = rf_M1_authentication2(0, b1, b3, buf1(0)) 'Read card i = rf_M1_read(0, b3, buf2(0), b2) If (i <> 0) Then lb_info.Caption = "Read Card Fail!" Exit Sub End If s1 = "" For i = 0 To b2 - 1 s1 = s1 & Right("00" & Hex(buf2(i)), 2) Next i txtnewkey.Text = Mid(s1, 1, 12) txtAccessBit.Text = Mid(s1, 13, 8) txtnewkeyB.Text = Mid(s1, 21, 12) lb_info.Caption = "Read Succeed!"

45 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
Dim i&, m&, buf1(200) As Byte, buf2(200) As Byte, s1$, b1 As Byte, b2 As Byte, b3 As Byte If MsgBox("Be sure to write key", vbQuestion + vbYesNo, "") = vbNo Then Exit Sub If Trim(txtnewkey.Text) = "" Then MsgBox "Wrong Key Length!" txtnewkey.SetFocus Exit Sub End If s1 = Trim(tx_key.Text) If (Len(s1) <> 12) Then lb_info.Caption = "Wrong Key Length!" tx_key.SetFocus

46 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
For i = 0 To 5 buf1(i) = Val("&H" & Mid(s1, i * 2 + 1, 2)) Next i 'm = cb_kh.ListIndex m = (cboSacter.Text * 4) + 3 If (m = -1) Then lb_info.Caption = "Select Block Please!" Exit Sub End If If (op_a.Value) Then b1 = &H60 If (op_b.Value) Then b1 = &H61

47 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
s1 = Trim(txtnewkey.Text) & txtAccessBit.Text & txtnewkeyB.Text '"FFFFFFFFFFFF" ' FF : Key A 7F : Key B Accessbit =============== If (Len(s1) <> 32) Then lb_info.Caption = "Wrong Data length " tx_sj.SetFocus 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)) 'Write card

48 คำสั่งต่างๆที่เกี่ยวข้อง กับ เครื่องอ่าน
i = rf_M1_write(0, b3, buf2(0)) If (i <> 0) Then lb_info.Caption = "Write Card Fail" Exit Sub End If lb_info.Caption = "Write Succeed!"


ดาวน์โหลด ppt RFID Reader 13.56MHz (ISO14443A).

งานนำเสนอที่คล้ายกัน


Ads by Google