[ PySerial ] 檢查 Serial設備
因為工作需求,需要使用 USB傳輸 Serial data。
之前都是用 Arduino IDE檢查 Port的位置,一直感覺手段不是很漂亮。
最近在 StackOverflow上看到有人分享一段代碼,能夠自動尋找電腦上 Serial的設備。
由於簡單給力,所以我就原封不動的 PO了。
Successfully tested on Windows 8.1 x64, Windows 10 x64, Mac OS X 10.9.x / 10.10.x / 10.11.x and Ubuntu 14.04 / 14.10 / 15.04 / 15.10 with both Python 2 and Python 3.
原出處: Listing available com ports with Python
之前都是用 Arduino IDE檢查 Port的位置,一直感覺手段不是很漂亮。
最近在 StackOverflow上看到有人分享一段代碼,能夠自動尋找電腦上 Serial的設備。
由於簡單給力,所以我就原封不動的 PO了。
Successfully tested on Windows 8.1 x64, Windows 10 x64, Mac OS X 10.9.x / 10.10.x / 10.11.x and Ubuntu 14.04 / 14.10 / 15.04 / 15.10 with both Python 2 and Python 3.
import sys import glob import serial def serial_ports(): """ Lists serial port names :raises EnvironmentError: On unsupported or unknown platforms :returns: A list of the serial ports available on the system """ if sys.platform.startswith('win'): ports = ['COM%s' % (i + 1) for i in range(256)] elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'): # this excludes your current terminal "/dev/tty" ports = glob.glob('/dev/tty[A-Za-z]*') elif sys.platform.startswith('darwin'): ports = glob.glob('/dev/tty.*') else: raise EnvironmentError('Unsupported platform') result = [] for port in ports: try: s = serial.Serial(port) s.close() result.append(port) except (OSError, serial.SerialException): pass return result if __name__ == '__main__': print(serial_ports())
原出處: Listing available com ports with Python
留言
張貼留言