Skip to content

功能强大的串口监视器工具 + win系统脚本编译/烧录keil项目

License

Notifications You must be signed in to change notification settings

DigitalNomadGroup/SerialMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔌 Serial Monitor - 功能强大的串口监视器工具

Python Version License Platform

一个功能丰富、易于使用的串口监视器工具,支持文本和二进制数据的发送与接收,特别适合嵌入式开发、物联网调试和串口通信测试。

✨ 主要特性

🎯 核心功能

  • 🔍 自动端口检测 - 自动扫描并列出所有可用串口设备
  • 📝 实时数据监控 - 实时显示接收和发送的串口数据
  • 💾 日志记录 - 支持将通信数据保存到文件
  • ⚙️ 灵活配置 - 支持自定义波特率、超时等参数
  • 🌐 跨平台支持 - Windows、Linux、macOS 全平台兼容

🚀 高级功能

  • 🎮 交互式模式 - 不被接收数据打断的干净输入环境
  • 📄 多行输入 - 支持复杂的多行命令和脚本发送
  • 🔢 十六进制支持 - 完整的二进制数据处理能力
  • 👀 字节显示模式 - 十六进制格式查看接收数据
  • 🧹 智能缓存 - 数据缓存和管理功能

📦 安装

依赖要求

  • Python 3.6 或更高版本
  • pyserial 库

安装步骤

  1. 克隆仓库
git clone https://github.com/DigitalNomadGroup/serial-monitor.git
cd serial-monitor
  1. 安装依赖
pip install pyserial
  1. 运行程序
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/macOS 示例

# 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> 

🤝 贡献指南

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 开源协议

本项目采用 MIT 协议 - 查看 LICENSE 文件了解详情。

🐛 问题反馈

如果你发现了bug或有功能建议,请在 Issues 页面提交。

⭐ 支持项目

如果这个项目对你有帮助,请给它一个 ⭐ Star!

其他 /Others

Win系统单行调用Keil编译/编译+烧录

  • 脚本自动化编译keil: buildkeil.bat
  • 脚本自动化编译keil+烧录: flashkeil.bat 在CMD中可以直接执行,注意替换.bat中工程文件的名称,文件中叫uarttest1

Made with ❤️ for the embedded development community

About

功能强大的串口监视器工具 + win系统脚本编译/烧录keil项目

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published