Python เป็นภาษาหนึ่งในการเขียนโปรแกรม ที่ผมว่าน่าจะครอบจักรวาลเลยก็ว่าได้
นอกจากจะเขียนง่ายแล้วยังทำได้เกือยทุกอย่าง อย่าตอนนี้ที่จะลองใช้กัน พอดีต้องเขียนโปรแกรม
เพื่อติดต่อกับ Serial Port หรือ Com Port นั่นเอง จริง ๆ อาจมีหลายภาษาที่ทำได้เหมือนกัน
แต่เราจะมาลองเขียนด้วย Python บน Windows กันครับ (จริง ๆ Linux ก็น่าจะได้เหมือนกัน)
โปรแกรมที่ต้องใช้
1. Python 2.5 เป็นตัวแปลภาษาของ python ครับ ดาวน์โหลดได้จาก http://www.python.org/download/
2. PyWin32 เป็น extension สำหรับการติดต่อบน Windows ดาวน์โหลดได้จาก http://sourceforge.net/projects/pywin32/
3. PySerial เป็น extension สำหรับติดต่อกับ Serial Port พระเอกของเราในครั้งนี้ครับ ดาวน์โหลดได้จาก http://sourceforge.net/projects/pyserial/
เมื่อ โหลดมาแล้ว เราก็มาลองทดสอบกัน โดยที่ http://pyserial.sourceforge.net/ ก็มีตัวอย่างให้ครับ
#!C:/Python25/python.exe
import serial
ser = serial.Serial(0) # เปิดพอร์ต serial พอร์ต 0 หรือพอร์ตแรก
print ser.isOpen()
ser.close()
เมื่อลองรันดู ผมที่ได้คือ
>> True
หมายถึงพอร์ตเปิดแล้ว
ยังมีคำสั่งอื่น ๆ ให้ใช้อีกมากมายครับ เช่น
setRTS(level=1) #set RTS line to specified logic level
setDTR(level=1) #set DTR line to specified logic level
getCTS() #return the state of the CTS line
getDSR() #return the state of the DSR line
getRI() #return the state of the RI line
getCD() #return the state of the CD line
สำหรับผม ใช้คำสั่ง setRTS() เพื่อกำหนดให้วงจรปิดเปิดไปทำงาน ตอนนี้ถือว่าใช้ได้เลยทีเดียว ง่ายและรวดเร็ว
ส่วน Front-End ก็อาจจะใช้ PyGTK ก็ได้ครับ
ความเห็น
รันแล้ว error
ได้ทดลองทำตามแล้วแต่มัน error แล้วแก้ไข ตอนนี้ใช้ python2.6.5
ถ้าใครมาอ่านและได้ทำตามหากเกิด error ลองแก้โค้ดจาก
ser = serial.Serial(0) เป็น
ser = serial.Serial("com6") # com6 ต้องแก้เป็น comport ที่ serial เราต่ออยู่ เช่น com1,com2 เป็นต้น
เท่านี้ถ้าใครติด error ลองแก้ดูก็จะรันได้ค่ะ
ขอบคุณสำหรับข้อมูลครับ
ขอบคุณสำหรับข้อมูลครับ อาจเป็นเพราะ python 2.5 และ 2.6 ต่างกัน หรือไม่ก็พอร์ตนั้น ๆ ไม่ว่างก็ได้ครับ