一个功能丰富、易于使用的串口监视器工具,支持文本和二进制数据的发送与接收,特别适合嵌入式开发、物联网调试和串口通信测试。
- 🔍 自动端口检测 - 自动扫描并列出所有可用串口设备
- 📝 实时数据监控 - 实时显示接收和发送的串口数据
- 💾 日志记录 - 支持将通信数据保存到文件
- ⚙️ 灵活配置 - 支持自定义波特率、超时等参数
- 🌐 跨平台支持 - Windows、Linux、macOS 全平台兼容
- 🎮 交互式模式 - 不被接收数据打断的干净输入环境
- 📄 多行输入 - 支持复杂的多行命令和脚本发送
- 🔢 十六进制支持 - 完整的二进制数据处理能力
- 👀 字节显示模式 - 十六进制格式查看接收数据
- 🧹 智能缓存 - 数据缓存和管理功能
- Python 3.6 或更高版本
- pyserial 库
- 克隆仓库
git clone https://github.com/DigitalNomadGroup/serial-monitor.git
cd serial-monitor- 安装依赖
pip install pyserial- 运行程序
python monitor.py --help# 显示所有可用串口
python monitor.py --show
# 连接到COM3端口(默认9600波特率)
python monitor.py COM3
# 指定波特率
python monitor.py COM3 -b 115200
# 保存日志到文件
python monitor.py COM3 -b 115200 -f uart_log.txt# Linux下使用
python monitor.py /dev/ttyUSB0 -b 115200
# macOS下使用
python monitor.py /dev/cu.usbserial-0001 -b 115200- 直接输入 + Enter:立即发送数据
- 'q':退出程序
- 's':进入交互式模式
- 'c':清屏
- 正常输入:发送文本命令
- 'show':显示所有缓存的接收数据
- 'clear':清空接收数据缓存
- 'multi':进入多行输入模式
- 'hex':进入十六进制输入模式
- 'showbytes':切换十六进制显示模式
- 'exit':退出交互式模式
适用于发送复杂的AT命令序列或配置脚本:
📤 CMD> multi
📝 多行输入模式 (输入空行结束,输入 '!cancel' 取消):
1| AT+HTTPINIT
2| AT+HTTPPARA="CID",1
3| AT+HTTPPARA="URL","http://api.example.com"
4| AT+HTTPACTION=0
5| [按Enter输入空行]
支持发送二进制数据,多种输入格式:
📤 CMD> hex
HEX> 05 37 63 # 空格分隔
HEX> 053763 # 连续输入
HEX> 05,37,63 # 逗号分隔
HEX> 05:37:63 # 冒号分隔
📋 预览将发送的数据:
HEX: 05 37 63
长度: 3 字节
切换接收数据的显示格式:
# 开启字节显示模式
📤 CMD> showbytes
🔢 十六进制显示模式已开启
# 接收数据显示为
[10:30:45.123] RX: 02 01 25 FF AA (5 bytes)
[10:30:45.145] RX: 4F 4B 0D 0A (4 bytes) ('OK..')- MCU程序调试
- 传感器数据读取
- 固件升级过程监控
- 4G/WiFi模块AT命令调试
- MQTT通信测试
- GPS数据解析
- RS485/RS232通信测试
- 工业设备协议调试
- 自定义协议开发
- 串口数据包分析
- 协议逆向工程
- 通信日志记录
usage: monitor.py [-h] [--show] [--baudrate BAUDRATE] [--file FILE]
[--timeout TIMEOUT] [port]
串口监视器工具 - 支持数据显示、发送和日志记录
positional arguments:
port 串口名称 (如: COM3, /dev/ttyUSB0)
optional arguments:
-h, --help 显示帮助信息
--show, -s 显示所有可用串口
--baudrate, -b 波特率 (默认: 9600)
--file, -f 日志文件路径 (可选)
--timeout, -t 读取超时时间秒 (默认: 1.0)
🔌 可用串口列表:
------------------------------------------------------------
端口 设备描述 硬件ID
------------------------------------------------------------
COM3 USB-SERIAL CH340 USB VID:PID=1A86:7523
COM4 STMicroelectronics STLink USB VID:PID=0483:3748
------------------------------------------------------------
共找到 2 个串口设备
✅ 成功连接到 COM3 (波特率: 115200)
📝 日志文件: 无
按 'q' 退出, 按 's' 进入交互式模式, 按 'c' 清屏, 直接输入文本发送
--------------------------------------------------
🔄 进入交互式发送模式
📋 特点: 接收数据会被缓存,不会打断你的输入
💡 输入 'show' 查看缓存的接收数据
💡 输入 'multi' 进入多行输入模式
💡 输入 'hex' 进入十六进制输入模式
💡 输入 'showbytes' 切换十六进制显示模式
💡 输入 'exit' 退出此模式
--------------------------------------------------
📤 CMD>
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
本项目采用 MIT 协议 - 查看 LICENSE 文件了解详情。
如果你发现了bug或有功能建议,请在 Issues 页面提交。
如果这个项目对你有帮助,请给它一个 ⭐ Star!
- 脚本自动化编译keil: buildkeil.bat
- 脚本自动化编译keil+烧录: flashkeil.bat 在CMD中可以直接执行,注意替换.bat中工程文件的名称,文件中叫uarttest1
Made with ❤️ for the embedded development community