Wednesday, July 30, 2008

Python Pyserial scan serial prot

之前替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

linux那邊是因為我們用的是usb轉rs232的chip,所以我們要用/dev/ttyUSB之類的device name去scan。

HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

0 意見: