• 【开源】串口/蓝牙/TCP/UDP调试工具SerialTest


    可在Windows/Linux/Android上运行,功能丰富的调试工具。
    支持数据收发/实时绘图/快捷方式/文件收发功能。
    支持串口/蓝牙SPP客户端/蓝牙SPP服务器/蓝牙BLE客户端/TCP客户端/TCP服务器/UDP调试。
    使用Qt开发,在Github上开源

    特点

    跨平台

    • 支持Windows/Linux/Android
    • 理论上可支持MacOS

    串口调试功能

    • 显示系统所有可用串口及参数,无需打开设备管理器/查看dmesg

    • 可以设置波特率,数据位,停止位,校验方式,流控方式,可在串口打开时实时更改

    • 可以控制DTR, RTS信号,显示CTS, DSR, DCD, RI(RNG)信号

    • 保存上一次连接的参数

    • 按照端口名或设备ID保存连接时参数,快速重设连接参数

    • (Android端暂不支持串口)

    蓝牙SPP调试

    • 支持常见的串口透传模块(HC-05, HC-06, JDY-34, …)
    • 支持PC到手机,PC到PC,手机到手机之间的通信
    • 支持客户端(主机)模式/服务端(从机)模式,可主动连接设备或被设备连接
    • 服务端模式可被多个设备连接,可配置每个设备的收发状态,可断开任意设备
    • 支持多个蓝牙适配器(实验性功能)

    蓝牙BLE调试

    • 支持显示已连接设备的所有服务(Service),特征值(Characteristic)和描述符(Descriptor),支持嵌套服务
    • 接收和发送可使用不同的服务

    TCP

    • 支持IPv4/IPv6
    • 客户端:支持指定出站IP和端口号
    • 客户端:远端地址可以是IP或者域名
    • 客户端:支持保存连接时参数并取名,快速重设连接参数
    • 服务端:支持在全部网卡或指定网卡上监听
    • 服务端:可被多个设备连接,可配置每个设备的收发状态,可断开任意设备

    UDP

    • 支持IPv4/IPv6
    • 支持在全部网卡或指定网卡上监听
    • 支持保存连接时参数并取名,快速重设连接参数
    • 可在运行时直接改变目标远端地址和端口号

    高性能

    • 快速响应:数据接收与UI更新分离,可通过关闭接收框实时显示进一步提速
    • 快速响应:耗时较长操作在独立线程当中完成,不阻塞UI
    • 低内存占用:关闭实时显示和绘图功能后接收字节数与内存消耗约为1:1

    数据收发面板

    • 支持16进制显示, 切换过程中不改变原始数据(如\0)
    • 支持导出已选中文本/原始数据
    • 每次发送后可添加任意后缀(\n, \r\n, 文本,Hex数据)
    • 重复发送
    • 多种编码支持
      (UTF8/16/32, GB2312/GB18030, BIG5, KOI8-R, Shift_JIS, EUC-KR, …)
      (支持的所有编码在这里 https://doc.qt.io/qt-5/qtextcodec.html#details)
    • 支持转义字符
      (\r, \n, \t, \0, \123, \xFF, \uABCD, …)
    • 可记录/忽略已发送数据
    • 可单独显示已发送数据/已接收数据

    实时绘图面板

    • 对文本数据进行绘图,保持人类可读性
    • 可任意拖动画面,用滚轮自由缩放画面
    • 支持触摸屏缩放/拖动手势
    • 可跟随最新数据
    • 可同时绘制最多99条曲线
    • 多种X轴模式
    • 带图例,可改变曲线的名字和颜色
    • 可显示/隐藏曲线
    • 可以在收到指定数据后清空绘图区,也可手动清空
    • 提供STM32/Arduino/STM8例程以及数据转文本函数

    控制(快捷方式)面板

    • 一键发送指定数据
    • 快速发送数值,用于调整参数
    • 支持发送16进制内容
    • 支持转义字符
    • 支持添加前缀后缀
    • 支持导入/导出

    文件收发面板

    • 支持快速计算CRC32校验值
    • 发送:可配置自动暂停,每发送一定数量字节后暂停一段时间,便于接收方处理
    • 接收:可配置自动停止,在接收到指定数量字节后自动停止接收
    • CRC32计算和文件读写流程在独立的线程中运行,提高速度

    人性化界面

    • 可在单个窗口上显示多个面板
    • 每个面板可拆分为子窗口
    • PC端支持窗口置顶
    • PC端支持设置窗口不透明度
    • PC端程序可多开,标题栏会显示当前工作模式
    • 可在状态栏查看当前连接参数,并快速断开/重连
    • 支持改变字体
    • 支持改变语言

    绿色免安装

    • 仅产生单个配置文件
    • Windows版本不改变注册表项
    • 配置文件默认位于运行目录下,也可位于系统默认配置文件夹中
    • 支持导入/导出/清空配置文件
    • 支持清空连接历史记录,改变历史记录最大条数,减少空间占用

    适配Android

    • 小屏适配:可设置强制横屏
    • 小屏适配:数据收发面板可仅显示已发送/已接收数据
    • 小屏适配:支持全屏模式
    • 绘图界面支持缩放/拖动手势
    • 支持分享文本到SerialTest并发送

    预览

    在这里插入图片描述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/b518c80ac07a4ea6811372e19f32759b.png#pic_center
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    下载地址
    https://github.com/wh201906/SerialTest/releases

  • 相关阅读:
    三分钟数据持久化:Spring Boot, JPA 与 SQLite 的完美融合
    怎么用java把多个list合并成一个?
    HTML表单标签
    艾美捷Immunochemistry FAM FLICA Poly Caspase检测方案
    Qt 处理图像数据的类区别(QPixmap、QImage、QPicture)
    【JAVA多线程】ForkJoinPool,为高性能并行计算量身打造的线程池
    DNA 10. 识别癌症驱动基因 (OncodriveCLUST)
    springboot系列(二十七):如何实现word携带图片导出?这你得会|超级详细,建议收藏
    RabbitMQ-02(docker安装、RabbitMQ的角色分类、AMQP、消息确认机制ACK)
    房地产行业程序员管理痛点分析
  • 原文地址:https://blog.csdn.net/wh201906/article/details/126513239