【pySerial3.4官方文件】4、工具
工具
serial.tools.list_ports
可以執行此模組以獲取埠列表()。它還包含以下功能。python -m serial.tools.list_ports
serial.tools.list_ports.
comports
(include_links = False )
引數: | include_links(bool) - /dev 當它們指向串列埠時包含符號連結 |
---|---|
返回: | 包含ListPortInfo 物件的列表。 |
該函式返回一個ListPortInfo
物件列表。
物品不按特定順序退回。對專案進行排序可能是有意義的。另請注意,報告的字串在平臺和作業系統之間是不同的,即使對於同一裝置也是如此。
注意
支援僅限於許多作業系統。在某些系統上,描述和硬體ID將不可用(None
)。
在Linux,OSX和Windows下,擴充套件資訊將可用於USB裝置(例如,ListPortInfo.hwid
字串包含VID:PID, SER(序列號),LOCATION(層次結構),這使它們可以通過搜尋grep()
.USB資訊也可用作屬性 ListPortInfo
。
如果include_links為true,/dev
LINK
在其hwid
字串中。這意味著同一裝置列出兩次,一次在其原始名稱下,一次在連結名稱下。
平臺: | Posix(/ dev檔案) |
---|---|
平臺: | Linux(/ dev檔案,sysfs) |
平臺: | OSX(iokit) |
平臺: | Windows(setupapi,登錄檔) |
serial.tools.list_ports.
grep
(regexp,include_links = False
引數: | |
---|---|
返回: | 一個產生 |
使用正則表示式搜尋埠。港口name
, description
並hwid
進行搜尋(不區分大小寫)。該函式返回一個包含comports()
生成的相同資料的iterable ,但僅包含與regexp匹配的條目。
類serial.tools.list_ports.
ListPortInfo
該物件包含有關串列埠的資訊。它支援索引訪問以實現向後相容,如。port, desc, hwid = info
device
完整的裝置名稱/路徑,例如/dev/ttyUSB0
。這也是當通過索引訪問時作為第一個元素返回的資訊。
name
簡短的裝置名稱,例如ttyUSB0
。
description
人類可讀的描述或n/a
。這也是當通過索引訪問時作為第二個元素返回的資訊。
hwid
技術說明或n/a
。這也是通過索引訪問時作為第三個元素返回的資訊。
USB特定資料,None
如果它不是USB裝置(或平臺不支援擴充套件資訊),這些都是。
vid
USB供應商ID(整數,0 ... 65535)。
pid
USB產品ID(整數,0 ... 65535)。
serial_number
USB序列號作為字串。
location
USB裝置位置字串(“<bus> - <port> [ - <port>] ...”)
manufacturer
USB裝置字串,由裝置報告。
product
USB產品字串,由裝置報告。
interface
介面特定描述,例如在複合USB裝置中使用。
實現比較運算子,以便ListPortInfo
可以對物件進行排序device
。串被分成數字和文字的組,以使該命令是“天然的”(即com1
< com2
< com10
)。
命令列用法
幫助:python -m serial.tools.list_ports
usage: list_ports.py [-h] [-v] [-q] [-n N] [-s] [regexp]
Serial port enumeration
positional arguments:
regexp only show ports that match this regex
optional arguments:
-h, --help show this help message and exit
-v, --verbose show more messages
-q, --quiet suppress all messages
-n N only output the N-th entry
-s, --include-links include entries that are symlinks to real devices
例子:
-
列出所有埠的詳細資訊:
$ python -m serial.tools.list_ports -v /dev/ttyS0 desc: ttyS0 hwid: PNP0501 /dev/ttyUSB0 desc: CP2102 USB to UART Bridge Controller hwid: USB VID:PID=10C4:EA60 SER=0001 LOCATION=2-1.6 2 ports found
-
列出與USB VID匹配的第二個埠:PID模式:
$ python -m serial.tools.list_ports 1234:5678 -q -n 2 /dev/ttyUSB1
版本2.6中的新功能。
在3.0版中更改:返回ListPortInfo
物件而不是元組
serial.tools.miniterm
這是一個提供小型終端應用程式的控制檯應用程式。
Miniterm本身不實現任何終端功能,如VT102相容性。但是,它可以從執行的終端繼承這些功能。例如,在從xterm執行的GNU / Linux上,它將支援xterm的轉義序列。在Windows上,典型的控制檯視窗是啞的,不支援任何轉義。載入ANSI.sys時,它支援一些轉義。
預設設定是過濾終端控制字元,--filter
有關不同選項的資訊,請參閱。
Miniterm:
--- Miniterm on /dev/ttyS0: 9600,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
可以給出命令列選項,以便包括終端轉義的二進位制資料被轉義或輸出為十六進位制。
Miniterm支援 使用 URL處理程式的RFC 2217遠端串列埠和原始套接字, 例如在呼叫時rfc2217://<host>:<port>
分別socket://<host>:<port>
作為 埠引數。
命令列選項:python -m serial.tools.miniterm -h
usage: miniterm.py [-h] [--parity {N,E,O,S,M}] [--rtscts] [--xonxoff]
[--rts RTS] [--dtr DTR] [-e] [--encoding CODEC] [-f NAME]
[--eol {CR,LF,CRLF}] [--raw] [--exit-char NUM]
[--menu-char NUM] [-q] [--develop]
[port] [baudrate]
Miniterm - A simple terminal program for the serial port.
positional arguments:
port serial port name
baudrate set baud rate, default: 9600
optional arguments:
-h, --help show this help message and exit
port settings:
--parity {N,E,O,S,M} set parity, one of {N E O S M}, default: N
--rtscts enable RTS/CTS flow control (default off)
--xonxoff enable software flow control (default off)
--rts RTS set initial RTS line state (possible values: 0, 1)
--dtr DTR set initial DTR line state (possible values: 0, 1)
--ask ask again for port when open fails
data handling:
-e, --echo enable local echo (default off)
--encoding CODEC set the encoding for the serial port (e.g. hexlify,
Latin1, UTF-8), default: UTF-8
-f NAME, --filter NAME
add text transformation
--eol {CR,LF,CRLF} end of line mode
--raw Do no apply any encodings/transformations
hotkeys:
--exit-char NUM Unicode of special character that is used to exit the
application, default: 29
--menu-char NUM Unicode code of special character that is used to
control miniterm (menu), default: 20
diagnostics:
-q, --quiet suppress non-error messages
--develop show Python traceback on error
可用過濾器(--filter
選項):
colorize
:為接收和回聲應用不同的顏色debug
:打印發送和接收的內容default
:從輸入中刪除典型的終端控制程式碼direct
:無所事事:轉發所有資料不變nocontrol
:刪除所有控制程式碼,包括。CR+LF
printable
:顯示所有非ASCII字元的十進位制程式碼並替換大多數控制程式碼
Miniterm在連線時支援一些控制功能。Ctrl+T Ctrl+H在執行時鍵入顯示幫助文字:
--- pySerial (3.0a) - miniterm - help
---
--- Ctrl+] Exit program
--- Ctrl+T Menu escape key, followed by:
--- Menu keys:
--- Ctrl+T Send the menu character itself to remote
--- Ctrl+] Send the exit character itself to remote
--- Ctrl+I Show info
--- Ctrl+U Upload file (prompt will be shown)
--- Ctrl+A encoding
--- Ctrl+F edit filters
--- Toggles:
--- Ctrl+R RTS Ctrl+D DTR Ctrl+B BREAK
--- Ctrl+E echo Ctrl+L EOL
---
--- Port settings (Ctrl+T followed by the following):
--- p change port
--- 7 8 set data bits
--- N E O S M change parity (None, Even, Odd, Space, Mark)
--- 1 2 3 set stop bits (1, 2, 1.5)
--- b change baud rate
--- x X disable/enable software flow control
--- r R disable/enable hardware flow control
Ctrl+T s暫停連線(埠開啟)並在按下鍵時重新連線。這可以用於臨時訪問其他應用程式的串列埠,而無需退出miniterm。如果重新連線失敗,也可以退出(Ctrl+])或更改埠(p)。
版本2.5中已更改:添加了Ctrl+T選單並添加了對開啟URL的支援。
在2.6版中更改:檔案從示例移到serial.tools.miniterm
。
在3.0版中更改:在串列埠上應用編碼,轉換為用於控制檯的Unicode。添加了新的過濾器,預設為剝離終端控制序列。新增--ask
選項。