7 个版本
0.0.7 | 2021 年 1 月 6 日 |
---|---|
0.0.6 | 2021 年 1 月 6 日 |
0.0.5 | 2020 年 5 月 7 日 |
0.0.4 | 2020 年 4 月 29 日 |
在 命令行工具 中排名 #1652
每月下载 40 次
34KB
584 行
serial-monitor
适用于 USB 串行设备的串行监视器,使用 Rust 编写。
serial-monitor
是一个命令行程序,可以将您的计算机连接到 USB 串行设备,并允许您与其交互。已在 Mac OSX、Linux 和 Windows 上进行测试。
您可以使用 --list
选项显示所有检测到的 USB 串行设备,并可以使用 --vid
、--pid
、--port
、--serial
、--manufacturer
或 --product
选项来筛选您的列表。
serial-monitor
将打开第一个满足筛选条件的 USB 串行端口。
连接后,您可以使用 Control-X(如果使用 -y
选项启动,则为 Control-Y)退出 serial-monitor
并返回到您的提示符。
安装
安装 rust。推荐的方式是使用 rustup。
安装 rust 后,您可以直接使用以下命令从 crates.io 安装:
cargo install serial-monitor
这将把 serial-monitor 安装到 ~/.cargo/bin
如果您想从源代码本地构建和安装,则克隆以下 仓库
git clone https://github.com/dhylands/serial-monitor.git
cd serial-monitor
然后您可以使用以下命令构建和安装 serial-monitor
:
cargo install --path .
这将构建 serial-monitor
并将其安装到 ~/.cargo/bin
用法
$ serial-monitor --help
serial-monitor 0.0.5
USAGE:
serial-monitor.exe [FLAGS] [OPTIONS]
FLAGS:
-y Exit using Control-Y rather than Control-X
-d, --debug Turn on debugging
-e, --echo
-f, --find Like list, but only prints the name of the port that was found. This is
useful for using from scripts or makefiles
-h, --help Prints help information
-l, --list List USB serial devices which are currently connected
-V, --version Prints version information
-v, --verbose Turn on verbose messages
OPTIONS:
-b, --baud <baud> Baud rate to use [default: 115200]
--databits <databits> Data bits (5, 6, 7, 8) [default: 8]
--enter <enter> Enter character to send (cr, lf, crlf) [default: cr]
--flow <flow> Flow control (none, software, hardware) [default: none]
--index <index> Return the index'th result
-m, --manufacturer <manufacturer> Filter based on manufacturer name
--parity <parity> Parity checking (none, odd, even) [default: none]
--pid <pid> Filter based on Product ID (PID)
-p, --port <port> Filter based on name of port
--product <product> Filter based on product name
-s, --serial <serial> Filter based on serial number
--stopbits <stopbits> Stop bits (1, 2) [default: 1]
--vid <vid> Filter based on Vendor ID (VID)
--list
(或 -l
)选项将列出所有连接的 USB 串行适配器,例如
$ serial-monitor --list
USB Serial Device f055:9800 with manufacturer 'MicroPython' serial '336F338F3433' product 'Pyboard Virtual Comm Port in FS Mode' found @/dev/cu.usbmodem336F338F34332
USB Serial Device 0403:6001 with manufacturer 'FTDI' serial 'A700e6Lr' product 'FT232R USB UART' found @/dev/cu.usbserial-A700e6Lr
监视串行端口
要连接到MicroPython板(假设上述列表显示),您可以尝试以下操作: serial-monitor -m Micro
或可能是 serial-monitor --vid f055
。您可以通过结合使用 --list
选项来尝试过滤选项,该选项将仅显示符合过滤标准的USB串行适配器。
连接后,您应该会看到以下内容
Connected to /dev/cu.usbmodem336F338F34332
Press Control-X to exit
MicroPython v1.11-47-g1a51fc9dd on 2019-06-18; PYBv1.1 with STM32F405RG
Type "help()" for more information.
>>>
要退出 serial-monitor
,请使用Ctrl-X(或如果您是使用 -y
选项开始的,则使用Ctrl-Y)。使用Ctrl-X允许将Ctrl-C和Ctrl-D等字符传递到串行端口上的设备。
端口过滤
您可以使用 --vid
、--pid
、--port
、--serial
、--manufacturer
或 --product
选项来过滤串行端口的选项。所有这些选项都允许使用 *
或 ?
通配符。请注意,您可能需要引号来防止shell展开。 *
表示匹配0个或多个字符,而 ?
表示匹配一个字符。如果您不指定任何通配符,则假定字符串开头和结尾有一个 *
。因此,--product FS
的行为相当于您输入了 --product '*FS*'
。
使用 --index
选项可以返回第index个结果。这对于返回多个具有相同属性串行端口的设备(如Black Magic Probe)非常有用。
在脚本中查找端口
--find
选项的行为与 --list
命令非常相似,但它只显示找到的第一个端口的名称。
例如,serial-monitor --list
可能会显示
USB Serial Device 1d50:6018 with manufacturer 'Black Sphere Technologies' serial '7ABA4DC1' product 'Black Magic Probe' found @/dev/cu.usbmodem7ABA4DC11
USB Serial Device 1d50:6018 with manufacturer 'Black Sphere Technologies' serial '7ABA4DC1' product 'Black Magic Probe' found @/dev/cu.usbmodem7ABA4DC13
命令 serial-monitor --find --product 'Black Magic Probe' --index 0
将显示
/dev/cu.usbmodem7ABA4DC11
这在脚本中非常有用
GDB_PORT = $(serial-monitor --find --product 'Black Magic Probe' --index 0)
arm-none-eabi-gdb -ex 'target extended-remote ${GDB_PORT}' -x gdbinit myprogram.elf
在Mac OS上支持Home/End键
在常规的Mac键盘上,Fn-Left键生成ESC [ H
(对应Home键)和Fn-Right键生成ESC [ F
(对应End键)。由于某种原因,按下外部键盘上的Home和End键被映射为ESC O H
和ESC O F
,而当这些键被按下时,crossterm没有报告任何事件。如果你进入终端->首选项,选择你的配置文件,然后选择键盘选项卡,你可以将Home从ESC O H
更改为ESC [ H
,将End从ESC O F
更改为ESC [ F
,然后Home和End键将通过crossterm正确报告。下面是键盘选项卡中Home和End键的图片
这还有一个很好的副作用,使Mac终端窗口中的bash也能正确地使用Home/End键。
依赖项
~12MB
~201K SLoC