Slider[Style1]

Style2

Style3[OneLeft]

Style3[OneRight]

Style4

Style5[ImagesOnly]

Style6

Know2pro RFID Project ตอนที่ 12 : ขั้นตอนการติดต่อกับ Reader และคำสั่ง Halt คืออะไร

Know2pro RFID Project ตอนที่ 12 : ขั้นตอนการติดต่อกับ Reader และคำสั่ง Halt คืออะไร

ขั้นตอนหลักๆของการเขียนโปรแกรมติดต่อกับเครื่อง RFID Reader ส่วนนี้ผมได้ข้อมุลมาจาก Programmer มืออาชีพท่านหนึ่งครับ

1. POR (Power on Reset) เมื่อบัตรเข้ามาอยู่ในระยะ
2. ทำการ Request ติดต่อบัตร
3. ตรวจสอบ Anti-Collistion หรือเช็คว่ามี Tag กี่อันจะได้ไม่อ่านซ้ำ
4. Select Card เลือกการ์ดมาสักอัน เพื่อเอามาอ่านหรือเขียนข้อมูล
5. Authentication บัตรที่เลือกด้วย Key (password) ของมาตรฐาน RFID
6. ทำการอ่านหรือเขียนข้อมูล
7. Halt เพื่อที่จะไม่อ่าน Tag นั้นๆอีก เสร็จแล้วก็กลับไปรอ Tag ตัวใหม่ (ตัวเก่าจะไม่เอามาอ่านแล้ว)

Halt คือ การกำหนดสถานะของ Tag เพื่อให้หยุดทำงานชั่วคราว โดยการใช้ Function

rf_halt(0)

ค่า 0 (ศูนย์) คือ ค่า icdev เป็นค่าตายตัว

เมื่อใช้ function นี้แล้ว ตัว Reader จะอ่านค่าสถานะจาก Tag นั้นได้ว่าเป็น Halt และจะข้ามไปหา Tag ตัวอื่นๆแทน

แต่ถ้าเอา Tag ที่ Halt ออกจากระยะการอ่านของ Reader และใส่กลับเข้าไปใหม่ สถานะจะกลับไปเป็น Active เหมือนเดิมอีกครั้ง ดังนั้นการ Halt ทำได้แค่ชั่วคราวเท่านั้น

นอกจากนี้ ต้องกำหนดค่าใน function rf_request ใหม่ด้วย เพื่อให้สามารถอ่านสถานะ Halt ได้ วิธีกำหนดค่าคือ

rf_request(0,&H26,j)

ค่า 0 (ศุนย์) คือ ค่า icdev เป้นค่าตายตัว [INPUT]
ค่า &H26 คือ Mode [Input] ในการ Request มี 2 ค่าคือ
0x26 หรือ &H26 = Request non-halt cards ทำงานเฉพาะ Tag ที่ไม่เป็น Halt
0x52 หรือ &H52 = Request cards of All Status ทำงานกับ Tag ทุกสถานะ
ค่า j เป็นค่า pTagType [Output] หรือประเภทของ Tag ลองทดสอบแล้วได้ค่า 4
ซึ่งก็คือ 0x0400 = Mifare_one(S50)
สรุปคือ ได้ค่าออกมาเป็น 4 หมายถึง Request ไปแล้วได้ Tag ที่เป็นมาตรฐาน Mifare นั่นเอง

ที่คิดในตอนนี้คือ Tag ทุกตัวจะมี ID ไม่เหมือนกัน ถ้าเอามาใช้งานน่าจะให้ทำงานแค่ครั้งเดียวแล้ว Halt ไปเลย จาดนั้นก็ให้ Reader ทำการ Request Tag ตัวใหม่ วนไปแบบนี้เรื่อยๆ ก็จะได้วิธีการอ่าน Tag แบบไม่รู้จบ
แต่ต้องดุระยะการอ่านของ Reader ก่อนว่าจะทำได้หรือเปล่า

Know2pro RFID Project ตอนที่ 11 : บันทึกย้อนหลังการ(มั่ว)เขียนโปรแกรมติดต่อ RFID ด้วย Visual Basic 6

Know2pro RFID Project ตอนที่ 11 : บันทึกย้อนหลังการ(มั่ว)เขียนโปรแกรมติดต่อ RFID ด้วย Visual Basic 6

ว่ากันตามจริงแล้ว ผมไม่เคยเรียน VB มาก่อน หรือว่ามีใครสอนนะครับ จำได้ว่าเคยมั่วครั้งแรกตอน ปวส 2 พอมาเรียน ปตรี นึกว่าจะมีสอน แต่ก็ไม่มี งานนี้เลยต้องมานั่งศึกษาเองครับ และทั้งหมดก็คือ บันทึกทั้งหมดที่ผมได้มั่วๆเขียนโปรแกรมติดต่อกับ RFID

[24/7/2553]
เขียน VB6 ติดต่อกับ Port เองอัติโนมัติ
และใช้ Timer ใน VB ควบคุมเวลาในการทำงานกับ Tag เพราะเราต้องให้โปรแกรมทำงานตลอด เพื่อจะได้เช้คว่ามี Tag มาอยู่ในระบะการอ่านของตัว Reader หรือเปล่า
และใช้ Listview แสดงผล Tag ID และเวลาที่ Detect , ใส่ปุ่ม Clear ListView

**ไฟล์ทำงานล่าสุดอยู่ใน Folder KTG_VB และ Project VB คือ vbdemo2.vbp
Know2pro RFID Project ตอนที่ 11 : บันทึกย้อนหลังการ(มั่ว)เขียนโปรแกรมติดต่อ RFID ด้วย Visual Basic 6

[7/8/2553]
เพิ่มส่วนแสดงผลแบบ MS FlecGrid ให้ทำงานแบบเดียวกับ ListView ที่เคยทำมาก่อน
แต่เปลี่ยนให้แสดงผล 1 แถวต่อ 1 Tag ID หมายความว่าหากมี TagID ซ้ำเข้ามา โปรแกรมจะเพิ่มจำนวนให้อีก 1 ค่า
อาจารยืบอกว่าใช้เวลามีสินค้าซ้ำๆกัน แต่ผมเองก้ยังงงว่า Tag ID มันซ้ำกันได้ด้วยเหรอ

ปัญหาต่อไป คือ AntiCollistion เพราะตอนนี้ใช้ Timer อ่านค่ามาได้แค่ 2 Tag เท่านั้น

**ไฟล์ทำงานล่าสุดอยู่ใน Folder KTG_VB02 และ Project VB คือ vbdemo2.vbp

Know2pro RFID Project ตอนที่ 11 : บันทึกย้อนหลังการ(มั่ว)เขียนโปรแกรมติดต่อ RFID ด้วย Visual Basic 6

Know2pro RFID Project ตอนที่ 10 : รายละเอียดฟังก์ชั่นต่างของ RFID Reader (Visual Basic 6)

Know2pro RFID Project ตอนที่ 10 : รายละเอียดฟังก์ชั่นต่างของ RFID Reader (Visual Basic 6)

ข้อมุลทั้งหมดคัดลอกมาจากไฟล์ Demo Software-A.pdf ที่ได้มาตอนซื้อเครื่อง RFID จาก Acentech ครับ
ผมคัดลองเอาไว้เผื่อว่าไฟล์หายจะได้มีข้อมุลเก็บไว้
เท่าที่ทดลองมาบางบางคำสั่งก็ใช้ได้กับเครื่องบางรุ่นเท่านั้น และบางคำสั่งอาจจะไม่จำเป้นต้องใช้
เน้นนะครับว่าสำหรับ Visual Basic 6 เท่านั้น ส่วนภาษาอื่นผมไม่แน่ใจว่าใช้ฟังก์ชั่นแบบเดียวกันหรือเปล่า

== 2. รูปแบบชุดคำสั่งต่างๆใน DLL ฟังก์ชั่น ที่นำมาใช้งาน ==
2.1 System ฟังก์ชั่น
2.1.1 INT WINAPI LIB_VER
ฟังก์ชั่น: Get DLL Version
รูปแบบใช้งาน: int WINAPI lib_ver (unsigned int *pVer)
พารามิเตอร์: pVer: [OUT] DLL version
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.1.2 INT WINAPI RF_INIT_COM
คำอธิบาย: ใช้กำหนดค่าBaud Rate เพื่อรับส่งข้อมูลระหว่างเครื่องอ่านและคอมพิวเตอร์
โดยค่าปรกติเมื่อเสียบสายจ่ายไฟให้เครื่องอ่านBaud rateจะเท่ากับ19200 bps เสมอ
ฟังก์ชั่น: Connect
รูปแบบใช้งาน: int WINAPI rf_init_com (int port, long baud)
พารามิเตอร์: port: [IN] serial port number
baud: [IN] communication baud rate, 4800 ~ 115200 bps
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.1.3 INT WINAPI RF_CLOSEPORT
คำอธิบาย: ปิดพอร์ต หยุดการติดต่อกับเครื่องอ่าน
ฟังก์ชั่น: Disconnect
รูปแบบใช้งาน: int WINAPI rf_ClosePort(void)
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.1.4 INT WINAPI RF_INIT_DEVICE_NUMBER
คำอธิบาย: สำหรับตั้งหมายเลขประจำตัวของเครื่องอ่านในกรณีที่ระบบมีเครื่องอ่านจำนวน
มากเมื่อคอมพิวเตอร์ต้องการติดต่อกับเครื่องอ่านบางตัวเท่านั้น สามารถนำหมายเลขนี้มา
ใช้เพื่อระบุเครื่องอ่าน
ฟังก์ชั่น: Designate Device ID
รูปแบบใช้งาน: int WINAPI rf_init_device_number (unsigned short iddev)
พารามิเตอร์: iddev: [IN] Device ID
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.1.5 INT WINAPI RF_GET_DEVICE_NUMBER
คำอธิบาย: สำหรับอ่านค่าหมายเลขประจำตัวของเครื่องอ่าน กรณีนี้จะต้องต่อเครื่องอ่านที
ละตัวเพื่ออ่านค่าออกมาได้ถูกต้อง
ฟังก์ชั่น: Read Device ID
รูปแบบใช้งาน: int WINAPI rf_get_device_number (unsigned short *pIddev)
พารามิเตอร์: pIddev: [OUT] response Device ID
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.1.6 INT WINAPI RF_INIT_TYPE
คำอธิบาย: กรณีที่ใช้เครื่องอ่านรุ่นที่สามารถอ่าน/เขียนTagได้หลายมาตรฐาน สามารถใช้คำสั่งนี้กำหนดให้เครื่องอ่านใช้อ่านTagตามมาตรฐานใด
ฟังก์ชั่น: Set Reader contactless working mode
รูปแบบใช้งาน: int WINAPI rf_init_type(unsigned short iddev, unsigned char type)
พารามิเตอร์: iddev: [IN] Device ID
type: [IN] reader working mode
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ: ฟังก์ชั่นนี้ไม่รองรับเครื่องอ่านที่อ่านได้เพียงโปรโตคอลเดียว
type = ‘A': set ISO14443A mode
type = ‘B': set ISO14443B mode
type = ‘1’: set ISO15693 mode

2.1.7 INT WINAPI RF_ANTENNA_STA
คำอธิบาย: สำหรับจัดการเปิดปิดเสาอากาศบนPCBที่ต่อกับเครื่องอ่าน
ฟังก์ชั่น: Manage RF Transmittal
รูปแบบใช้งาน: int WINAPI rf_antenna_sta (unsigned short iddev, unsigned char
model)
พารามิเตอร์: iddev: [IN] Device ID
model: [IN] transmittal state
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ: model = 0: ปิดสัญญาณเสาอากาศ
model = 1: ปิดสัญญาณเสาอากาศ

2.1.8 INT WINAPI RF_LIGHT
คำอธิบาย: สำหรับสั่งเปิดปิดLEDในเครื่องอ่านใช้แสดงสัญญาณไฟสีต่างๆจำนวน3สีคือ
แดง, เขียว, เหลือง และปิด
ฟังก์ชั่น: Manage LED
รูปแบบใช้งาน: int WINAPI rf_light (unsigned short iddev, unsigned char color)
พารามิเตอร์: iddev: [IN] Device ID
color: [IN] 0 = off
1 = red
2 = green
3 = yellow
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.1.9 INT WINAPI RF_BEEP
คำอธิบาย: สำหรับสั่งให้Buzzerในเครื่องอ่านส่งสัญญาณเสียงออกมาเป็นเวลา10msec.
ฟังก์ชั่น: beep
รูปแบบใช้งาน: int WINAPI rf_beep (unsigned short iddev, unsigned char msec)
พารามิเตอร์: iddev: [IN] Device ID
msec: [IN] beep time, unit 10 MSEL
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2 Mifare Standard Function
รวมฟังก์ชั่นที่ใช้กับ Reader และ Tag มาตรฐาน Mifare ISO14443A เท่านั้น

2.2.1 INT WINAPI RF_REQUEST
ฟังก์ชั่น: ReqA
รูปแบบใช้งาน: int WINAPI rf_request ( unsigned short iddev,
unsigned char model,
unsigned short *pTagType)
พารามิเตอร์: iddev: [IN] Device ID
model: [IN] REQ MODE
pTagType: [OUT] response data, chip type code
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ: mode = 0x26: REQ_STD
mode = 0x52: REQ_ALL

2.2.2 INT WINAPI RF_ANTICOLL
ฟังก์ชั่น: Mifare card Anticollision
รูปแบบใช้งาน: int WINAPI rf_anticoll ( unsigned short iddev,
unsigned char bcnt,
unsigned char *pSnr,
unsigned char *pLen)
พารามิเตอร์: iddev: [IN] Device ID
bcnt: [IN] must be 4
pSnr: [OUT] response data from card, unique serial number
pLen: [OUT] length of response data
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.3 INT WINAPI RF_SELECT
ฟังก์ชั่น: Mifare card Selectting
รูปแบบใช้งาน: int WINAPI rf_select (unsigned short iddev,
unsigned char *pSnr,
unsigned char snrLen,
unsigned char *pSize)
พารามิเตอร์: iddev: [IN] Device ID
pSnr: [IN] card unique serial number
snrLen:[IN] length of pSnr
pSize: [OUT] response data from card, capacity code
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ: บัตรMifare Type A ที่ถูกเลือกจะอยู่ในสถานะใช้งานหลังจากได้รับคำสั่งนี้

2.2.4 INT WINAPI RF_M1_AUTHENTICATION2
ฟังก์ชั่น: Mifare_Std Authentify
รูปแบบใช้งาน: int WINAPI rf_M1_authentication2 ( unsigned short iddev,
unsigned char model,
unsigned char block,
unsigned char *pKey)
พารามิเตอร์: iddev: [IN] Device ID
model: [IN] key validate mode
block: [IN] block absolute address
pKey: [IN] 6 bytes password
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ : model = 0x60: via KeyA
model = 0x61: via KeyB

2.2.5 INT WINAPI RF_M1_READ
ฟังก์ชั่น: MifareOne Read
รูปแบบใช้งาน: int WINAPI rf_M1_read ( unsigned short iddev,
unsigned char block,
unsigned char *pData,
unsigned char *pLen)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
pData: [OUT] response data from card
pLen: [OUT] length of response data
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.6 INT WINAPI RF_M1_WRITE
ฟังก์ชั่น: Mifare_Std Write
รูปแบบใช้งาน: int WINAPI rf_M1_write (unsigned short iddev,
unsigned char block,
unsigned char *pData)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
pData: [IN] written data, 16 bytes
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.7 INT WINAPI RF_M1_INITVAL
ฟังก์ชั่น: Mifare_Std card Initialize Value
รูปแบบใช้งาน: int WINAPI rf_M1_initval ( unsigned short iddev, unsigned char block,
long value)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
pValue: [IN] initialize purse value at HEX format, low byte in former
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.8 INT WINAPI RF_M1_READVAL
ฟังก์ชั่น: Mifare_Std Read Value
รูปแบบใช้งาน: int WINAPI rf_M1_readval ( unsigned short iddev,unsigned char block,
long *pValue)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
pValue: [OUT] response value at HEX format, low byte in former
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.9 INT WINAPI RF_M1_INCREMENT
ฟังก์ชั่น: Mifare purse increment
รูปแบบใช้งาน: int WINAPI rf_M1_increment (unsigned short iddev,
unsigned char block,
long value)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
value: [IN] increase value at HEX format, low byte in former
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.10 INT WINAPI RF_M1_DECREMENT
ฟังก์ชั่น: Mifare purse decrement
รูปแบบใช้งาน: int WINAPI rf_M1_decrement (unsigned short iddev,
unsigned char block,
long value)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
value: [IN] decrease value at HEX format, low byte in former
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.11 INT WINAPI RF_M1_RESTORE
ฟังก์ชั่น: Mifare_Std Restore
รูปแบบใช้งาน: int WINAPI rf_M1_restore (unsigned short iddev,
unsigned char block)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง

2.2.12 INT WINAPI RF_M1_TRANSFER
ฟังก์ชั่น: Mifare_Std Transfer
รูปแบบใช้งาน: int WINAPI rf_M1_transfer (unsigned short iddev,
unsigned char block)
พารามิเตอร์: iddev: [IN] Device ID
block: [IN] block absolute address
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ: ฟังก์ชั่นนี้จะทำงานหลังจากคำสั่ง increment, decrement และ restore

2.2.13 INT WINAPI RF_HALT
ฟังก์ชั่น: Mifare Halt
รูปแบบใช้งาน: int WINAPI rf_halt (unsigned short iddev)
พารามิเตอร์: iddev: [IN] Device ID
คืนค่า: คืนค่าเป็น 0 หากการทำงานถูกต้อง
หมายเหตุ: บัตรMifare Type A ที่อยู่ในระยะการทำงานของเครื่องอ่านจะถูกระงับการใช้
ชั่วคราวหลังจากได้รับคำสั่งนี้

Know2pro RFID Project ตอนที่ 9 : ต้นฉบับไฟล์โปรแกรมที่ใช้กับเครื่อง RFID

Picture026

รวมต้นฉบับไฟล์โปรแกรมภาษาต่างๆที่ใช้ในการเขียนกับเครื่องอ่าน RFID ที่ผมซื้อมา(แบบในรูป)

เครื่องที่ผมซื้อมาเป็นแบบ Mifare ครับ ใช้คุ่กับ Tag Mifare 1 k (ราคาถูก)

ซื้อมา 1 เครื่องจาก Acentech ราคา 3000 กว่าบาท

ส่วนอีกเครื่องตอนนี้ยังยืมอาจารย์ใช้อยู่ (ยืมมานาน)

ไฟลืทั้งหมดผมอัพขึ้น Skydrive ครับ ลองใน Dropbox แล้ว มันยุ่งยากมากๆ ใช้ Skydrive แทนดีกว่า

== ไฟล์จากเครื่อง RFID ที่ซื้อมาจาก Acentech ==

- ไฟล์ Demo Software-A.pdf เป็นคู่มือการใช้งาน software ตัวอย่าง มีข้อมุลฟังก์ชั่นเป็นภาษาไทยด้วย
- ไฟล์ USB Drivers.rar เป็นไฟล์ Driver ของเครื่อง RFID Reader ตัวนี้จำเป็นมาก
- ที่เหลือก็เป็นไฟล์ต้นฉบับตามภาษาต่างๆ มีอยู่ 3 ภาษาคือ Visual Basic 6, Visual Basic .Net, Visual C#.Net

== ไฟล์ Manual PDF ข้อมูล Tag และ Reader (Eng) ==
ใช้เป็นข้อมูลอ้างอิงการเขียนโปรแกรม จริงๆแล้วก็คล้ายๆกันหมด ต่างกันที่เลขรุ่นเท่านั้นเอง

== ไฟล์ต้นฉบับจากเครื่อง RFID ที่ยืมอาจารย์มา ==
- CR801.zip ไฟล์โปรแกรมที่ใช้กับ Reader รุ่น CR801 ถ้าจำไม่ผิด น่าจะเหมือนกับ Reader ที่ผมใช้
- I-CODE_SLI_Demo.zip ตัวอย่างโปรแกรมที่เขียนกับ Reader มาตรฐาน I-Code ไม่รู้เอามาทำไมเหมือนกัน เพราะของผมเป็นมาตรฐาน Mifare
- RFID Reader SL500 + Mifare 1k.zip อันนี้เกี่ยวแน่นอน เพราะเป็นไฟลืที่รวมเอกสาร sheet ไฟล์โปรแกรมต่างๆ ที่เกี่ยวกับเครื่อง RFID Reader รุ่น SL500
- RFID_C_TestCode.rar ไฟล์ภาษา C เห็นว่าใช้กับโปรแกรม Turbo C ผมเองก้ยังไม่เคยลองรันดูเลย
- RFREADER.zip ไฟล์ต้นฉบับทั้งหมด ของ Reader ที่ผมยืมอาจารย์มา
- UsbDriver.zip ไฟล์ไดรเวอร์เครื่อง RFID Reader อันเดียวกับที่ซื้อมาจาก Acentech
- RFHELP.CHM ไฟล์ข้อมุลการใช้งาน Function ของเครื่อง RFID Reader หลายๆรุ่น
- ICTransfer.zip เป็น Software ที่ใช้ทดสอบการทำงานของเครื่อง RFID Reader เบื้องต้น ผมเอาไว้เช็ตสเปคเครื่อง่าเป็นรุ่นอะไร อ่าน Tag แบบไหนได้บ้าง
- ไฟล์ที่ชื่อ Original_ เป้นไฟลืต้นฉบับของภาษาต่างๆที่ผมใช้เขียนโปรแกรม(แบบมั่วๆ) ตอนนี้เขียน VB6 เป้นหลัก เพราะง่ายดี

 

**ไฟล์ RFID ที่เกี่ยวข้องอื่นๆ**

ที่เหลือตอนนี้ก็แค่ลงมือเขียนโปรแกรม

Know2pro RFID Project ตอนที่ 8 : บันทึกข้อมูลเบื้องต้นของเครื่องอ่าน RFID (ย้อนหลัง)

Know2pro RFID Project ตอนที่ 8 : บันทึกข้อมูลเบื้องต้นของเครื่องอ่าน RFID (ย้อนหลัง)

บันทึกกันลืมในสมุดโน๊ต ช่วงประมาณเดือน กรกฎาคม 2553

RFID Reader ตัวที่ยืมมาจากอาจารย์ Project

รุ่น CR500(L) ใช้ datasheet อันเดียวกับรุ่น SL500L http://www.stronglink.cn/english/sl500.htm
Model : SL500L-0802
DLL : V5.0
RFID Reader Chip : MFRC500
รองรับมาตรฐานแบบ ISO14443A
Tag ที่รองรับ : SHC1102, Mifare_Ultralight, Mifare_StdS50 (Mifare_1k), Mifare_StdS70 (Mifare_4k)

SDK Software อยู่ในแผ่น CD ที่แถมมาด้วย , Copy ไว้แล้วใน RFREADER/EXAMPLE/VB
มีแต่โค้ดล้วนๆเป็น Project VB ที่เหลือ”งม”เอาเอง คู่มือไม่มีให้เลย

ไฟล์ Libraly ที่ใช้
- MasterRD.dll
- MasterRD.lib
- MasterCom.dll

Tag Mifare แบบ 1K
มี 16 sector (sector 0-15)
แต่ละ sector มี 4 block (block 0-3)
แต่ละ block มีขนาด 16 byte
เก็บข้อมูลได้ 10 ปี เขียนซ้ำได้ 100000 ครั้ง

Manufacturer Block
ที่ Block 0 sector 0 จะมีข้อมูล IC ของโรงงานที่ผลิต
เป็นข้อมูลเกี่ยวกับ Security และ System Requirement
BLock นี้จึงถูกตั้งเป็น “Write Protected” หลังจากถูกผลิตออกจากโรงงาน

รวมข้อมูลการใช้งาน Prestashop ตามสไตล์ Know2Pro


รวมข้อมูลการใช้งาน Prestashop ตามสไตล์ Know2Pro

   ระบบขายสินค้าที่มีคนแนะว่าใช้ง่าย ปรับแต่งไม่ยาก ผมเองก็เคยเล่นมาบ้าง แต่ไม่จริงจังมากนัก แต่ในตอนนี้เห็นทีต้องเอาจริงสักที

30-May-2011
ลองหา Theme ของ Prestashop ที่บอกว่ามีมากมาย มันก็จริงนะ แต่ว่ามันไม่ฟรีนี่สิ ส่วนของหรีหายากหน่อย กำลังรวบรวมเรื่อยๆ

การใช้งาน Prestashop ผมว่าง่ายกว่า joomla ซะอีก เพราะระบบเน้นไปที่ระบบร้านค่าตรงๆเลย ภาษาไทย คนแปลก้ทำได้เยี่ยมมากๆ ต้องขอบคุณจริงๆครับ
รวมเว้บ Theme Prestashop แบบหาเอง งมเอง
http://www.ajaxbang.com/joomla/shape-5-shopper-frenzy-template-joomla-virtuemart/
http://www.prestashopic.com/download-free-prestashop-themes
http://prestashopthemesdownload.wordpress.com/
https://globonetics.com/prestashop-themes/free-prestashop-themes.html
http://www.freetemplates.fr/free-prestashop-template-et-clean-ble-by-ezytrader/
http://insectstore.com/entertainment/webmaster/best-free-premium-prestashop-templates-themes

29-May-2011
ลองหาข้อมูลเบื้องต้นจากเว้บ http://killthewhat.com/howto/prestashop/ ต่อมาก็ลองหาไฟล์มาติดตั้งบน Server2go
ค้นข้อมูลไปเจอว่ามีแบบภาไทยด้วย และก็ได้จากที่นี่ http://www.picohosting.com/howto/prestashop-1.2-thai เป็นเวอร์ชั่น 1.3

แต่ก็รู้มาอีกว่ามีเวอร์ชั่น 1.4 แล้ว และก็ไปเจอจาก http://www.thaiseoboard.com/index.php?topic=183244.0

ตกลงว่าเอาเวอร์ชั่น 1.3 มาทดลองติดตั้งก่อน เล่นๆกันไปทั้งคืน

รวมข้อมูลการใช้งาน Joomla Virtuemart ตามสไตล์ Know2Pro


รวมข้อมูลการใช้งาน Joomla Virtuemart ตามสไตล์ Know2Pro

Joomla เป็นตัวจัดการเว้บไซตืที่ติดตั้งง่าย จัดการง่าย ส่วน Virtuemart เป็นตัว component ที่เอาไว้เพิ่มความสามารถให้ joomla กลายเป็นเว็บขายสินค้า

ผมจะลองใช้งานตัวนี้ดุครับ เพราะมีเป้ามหายและคิดไวเว่าน่าจะใช้ตัวนี้แทนการเขียน Hard Code แบบเดิมๆ ตอนนี้ก็จะลองเล่นไปเรื่อยๆ ก่อน ไล่อัพเดตการใช้งานตามเวลาว่างที่มี

30-May-2011
ใช้ virtuemart พอจะเป็นแล้ว ทั้งเรื่องการจัดวางตำแหน่ง Module การวางสินค้าต่างๆ เวลาน้อยเลยต้องเร่งๆหน่อย
เรื่องสำคัญอีกอย่างคือ Theme ของ Joomla Template กำลังหาไปเรื่อยๆ ได้มาแล้วก็ต้องลองเล่นอีก
http://template4all.blogspot.com/
ตอนนี้มีอยู่หลายตัวแล้ว จากเว็บหลายๆที่ แต่ต้องลองทดสอบให้แน่ใจก่อนว่าใช้ได้ชัวร์

29-May-2011
ทดลองติดตั้งใช้งาน ปรับแต่งค่าต่างๆ ตามเว็บ http://killthewhat.com/howto/joomla/
เป้นเว็บที่ให้ข้อมูลการใช้งาน CMS ที่ดีมากๆ เว็บหนึ่ง แนะนำเลยสำหรับมือใหม่