RFID with C#

Posted 25/08/2009 11:55 by nantcom

พอดีว่า ผมได้มีโอกาสมาสัมนาเรื่อง RFID ที่ทาง SIPA จัดขึ้น และวิทยาการได้กล่าวถึงเรื่องการติดต่อกับตัว Reader ผ่านทาง Serial Port (ที่ Emulate ผ่าน USB อีกที) วิทยากรเขาแนะนำการเขียนด้วย VB6 และใช้ MSCOMM32 ระหว่างที่ท่านนั่งอธิบายอยู่ ผมเลยใช้เวลานี้ เขียนคลาส C# ที่จะนำมาใช้ในการติดต่อกับตัว RFID Reader ครับ

สำหรับตัว RFID นั้น ใช้ชิพ Silicon Labs CP210x ในการแปลง USB เป็น Serial ครับ ซึ่งปรากฏว่า เป็นชิพเดียวกันกับ GPS Receiver หลายยี่ห้อ ผมเลยสามารถหา Driver สำหรับ x64 ได้ไม่ยากเย็นนักครับ

image

สำหรับ Protocol การติดต่อกับตัว RFID ผมลองนั่งหาดู ปรากฏว่าไปเจอเข้าจนได้ ดาวน์โหลดได้จากที่หน้าไฟล์เลยครับ

ส่วนโค๊ดในการติดต่อ ผมทดลองทำง่ายๆ 2 คำสั่ง คือ คำสั่ง Beep และ LED ครับ โดยผมมีฟังก์ชั่นสำหรับส่งให้พร้อมแล้ว น่าจะสามารถเติมคำสั่งอื่นๆ ได้ไม่ยากเย็นนัก Smile ขอให้สนุกครับ

จุดน่าสนใจ

  • เหมือนว่า การส่ง จะต้องส่งเป็นแบบ Big-Endian คือ เอาไบต์น้อยขึ้นก่อน เช่น 0x0106 เวลาส่ง จะต้องส่ง 06 ไปก่อน 01 ผมก็เลยใช้วิธีเอา BitConverter แปลงค่าเป็น Byte ก่อน แล้วสั่ง Reverse แล้ว ToArray เอาครับ
  • เนื่องจากความยาวไม่มีทางเกิน 32 (แค่ไบต์เดียว) เลยไม่ต้องกลับ Little/Big Endian  ครับ

ร่วมให้กำลังใจนักเขียน

อ่านแล้วชอบใจ อยากให้กำลังใจกับผู้แต่งบทความนี้ ขอเชิญร่วมให้กำลังใจผ่าน Paysbuy/Paypal นะครับ ปลอดภัยเพราะทำงานผ่าน SSL และไม่มีค่าใช้จ่ายเพิ่มเติมครับ เว็บเราให้นักเขียน 100% ครับ

Comment ระบบเก่า

No Comments
(required)  
(optional)
(required)  
Add

DisQUS Comment (ยังเอ๋อๆ อยู่)

blog comments powered by Disqus