การเขียนโปรแกรมควบคุมอุปกรณ์ RFID ด้วยภาษา Python


RFID เป็นเครื่องมือที่เริ่มเข้ามาบทบาทในชีวิตปัจจุบันมากขึ้น และเนื่องจากราคาอุปกรณ์ที่ลดลงเป็นอย่างมาก ทำให้อุปกรณ์ RFID สามารถเข้าถึงได้ง่ายขึ้นและสามารถนำมาประยุกต์ใช้ทำโครงงานที่ต้องการระบุวัตถุได้

บทความนี้จะกล่าวถึงวิธีการเขียนโปรแกรม Python เพื่อควบคุมอุปกรณ์ RFID รุ่น SL500

อุปกรณ์ที่ต้องใช้

  1. อุปกรณ์ RFID รุ่น SL500 – อุปกรณ์รุ่นนี้เป็นรุ่นที่นิยมใช้เนื่องจากสามารถอ่านและเขียนแท็ก RFID ได้ มีราคาไม่แพงเมื่อเทียบกับอุปกรณ์อื่น สามารถใช้งานกับ RFID ตามมตราฐาน Mayfair 1K
  2. เครื่องคอมพิวเตอร์ที่ติดตั้งภาษา Python และมี port USB ว่างหนึ่งพอร์ท ในบทความนี้จะใช้คอมพิวเตอร์ Raspberry Pi

ติดตั้งโปรแกรมที่จำเป็น

  • ทำการโหลด Python API จากที่อยู่ต่อไปนี้
    http://svn.learninginventions.org/svnpub/pikb/RFID/trunk/rfid_sl500.py
  • ขอให้แน่ใจว่าไฟล์ดังกล่าวอยู่ใน folder เดียวกับโปรแกรม Python ที่เขียน (หรือจะนำไปไว้ใน folder  site-package ของ Python ก็ได้)

ทดลองเชื่อมต่อ

import rfid_sl500

rfid = rfid_sl500.RFID_Reader()
rfid.connect("/dev/ttyUSB0")
#rfid.connect(0) # COM1 on Windows OS

rfid.beep()

โปรแกรมนี้จะทำให้เครื่อง RFID ส่งเสียงร้อง หากทำขั้นตอนนี้สำเร็จแปลว่าอุปกรณ์ทุกอย่างใช้งานได้สมบูรณ์

อ่านค่าจาก RFID Tag

rfid = RFID_Reader()
rfid.connect("/dev/ttyUSB0")
print "Read string = " + rfid.read_String()

คำสั่ง read_String() จะอ่านค่าใน Tag ออกมาเป็นข้อความขนาดความยาวไม่เกิน 16 ตัวอักษร

เขียนค่าลงใน RFID Tag

rfid = RFID_Reader()
rfid.connect("/dev/ttyUSB0")
rfid.write_String("LIL")

คำสั่ง write_String() จะทำการเขียนข้อความลงไปยัง Tag โดยข้อความนี้จะต้องยาวไม่เกิน 16 ตัวอักษร

หมายเหต: จริงๆ แล้ว RFID Tag มีพื้นที่เก็บข้อมูลได้สูงสุด 1K Bytes แต่ในขั้นต้นนี้ API ที่สร้างไว้นี้จะอ่านและเขียนเพียง 1 block หรือ 16 Bytes เท่านั้น API รุ่นถัดไปอาจเพิ่มความสามารถในการใช้พื้นที่ของ RFID ให้มากขึ้น