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