之前替Lab寫了一個Python + PyGtk的GUI程式,目的是為了Lab的Sensor Eco要賣,所以要提供一個簡單的GUI環境,讓使用者能夠從Lab Server下載包好的binary file,並且對Eco的EEPROM做dump、erase、upload、verify等動作。Eco connection是透過RS232,因為usb driver還沒寫好0rz,目前先用RS232將就一下。下面是python套件pyserial掃windows and linux serial port我的寫法。
def scan_serialprot():
available = []
for i in range(256):
try:
if os.name == "nt":
s = serial.Serial(i)
available.append((i,s.portstr))
s.close()
elif os.name == "posix":
ser_name = '/dev/ttyUSB' + str(i)
s = serial.Serial(ser_name)
available.append((i,s.portstr))
s.close()
else:
pass
except serial.SerialException:
pass
return available
available = []
for i in range(256):
try:
if os.name == "nt":
s = serial.Serial(i)
available.append((i,s.portstr))
s.close()
elif os.name == "posix":
ser_name = '/dev/ttyUSB' + str(i)
s = serial.Serial(ser_name)
available.append((i,s.portstr))
s.close()
else:
pass
except serial.SerialException:
pass
return available
linux那邊是因為我們用的是usb轉rs232的chip,所以我們要用/dev/ttyUSB之類的device name去scan。
0 意見:
Post a Comment