SERIALFLOW / PRODUCT

SerialFlow 将安卓手机变成完整的 USB 串口工作台,集日志分析、协议解码、指令自动化、实时波形、GNSS 诊断和 3D 姿态显示于一体。

SerialFlow:不只是安卓串口终端,而是一套移动调试工作台

大多数安卓串口软件只能完成三件事:打开 USB 串口、显示接收到的文本、向设备发送一行指令。临时测试时已经够用,但设备一旦持续输出数千行日志、混合文本与二进制数据、不断上报传感器数值,或者需要反复发送测试指令,普通串口助手很快就会显得捉襟见肘。

SerialFlow 的思路完全不同。它不是把桌面串口终端简单缩小到手机屏幕,而是把安卓手机和平板变成一套完整的移动串口调试工作台。

说它是 Android 上功能最强大的串口软件之一,并不过分。SerialFlow 在一个应用里同时提供原生 USB 串口连接、海量日志处理、搜索与过滤、协议解码、文本与 Hex 收发、快捷指令和循环发送、实时波形、GNSS 卫星诊断、地图、3D 姿态显示、后台保活以及可导出的会话日志。

SerialFlow 安卓 USB 串口终端与日志工作区

它为什么明显强于普通串口助手

能力范围 SerialFlow 提供的功能
USB 连接 Android USB Host/OTG 原生接入、设备发现、权限申请、串口参数、DTR 与 RTS
日志处理 暂停、自动滚动、时间戳、文本或 Hex 显示、过滤、搜索、正则、高亮、选择与导出
数据发送 文本和原始 Hex、行尾选择、发送历史、快捷指令与循环发送
协议解析 Text、ESP-IDF、Raw、Modbus RTU、MSP 姿态数据,以及并行 NMEA 解析
数据可视化 多曲线实时波形、GNSS 卫星诊断、地图和 3D 姿态视图
长时间运行 本地会话记录、可配置大缓冲区、Android 前台服务与 RX/TX 统计
学习与测试 内置文本、NMEA、Modbus、ESP 日志、二进制、MSP 和手机姿态虚拟数据源

这套能力意味着 SerialFlow 不只适合“看看有没有数据”。它可以捕获启动日志、验证二进制帧、观察传感器趋势、评估卫星接收情况、重复发送测试指令,并在结束后导出完整记录,整个过程不需要频繁切换工具。

原生 Android USB 串口能力

SerialFlow 通过 Android USB OTG 连接 ESP32-S3 开发板进行串口调试

SerialFlow 并不是依赖浏览器 Web Serial 的网页封装。它的 Flutter 界面通过 MethodChannel 和 EventChannel 调用基于 usb-serial-for-android 的原生 Kotlin USB 层。

Android 端负责发现系统能够识别的 USB 串口设备、申请 USB 权限、打开端口、在后台持续接收字节,并控制 DTR、RTS 等硬件信号。

完整的串口连接参数

连接界面覆盖了嵌入式开发和工业设备常用的参数:

  • 1,200 到 921,600 的常见波特率;
  • 5、6、7、8 数据位;
  • Android 下的 1 或 2 停止位;
  • None、Odd、Even、Mark、Space 校验;
  • DTR 与 RTS 手动控制;
  • 设备刷新与重新连接入口;
  • 实时接收和发送字节统计。

这些参数并非摆设。GNSS 接收机、Arduino 兼容开发板、PLC 转接器、实验仪器和自研控制器往往使用不同串口配置,只有把底层参数开放出来,手机端工具才真正具备通用性。

SerialFlow 设备连接与串口参数界面

面向高噪声设备设计的日志引擎

串口输出速度一旦超过人的阅读速度,单纯把文本不断追加到屏幕上就没有意义。SerialFlow 因此把日志管理作为核心功能,而不是一个附带输入框。

接收数据会先进行批量合并,再更新 Flutter 界面,避免每个数据包都触发整屏重建。过滤开启后,新日志会增量匹配;搜索刷新也会进行节流控制。实际效果是,即使设备持续高速输出,界面仍然更容易保持可操作状态。

在错误发生的一刻停下来

你可以在异常出现时立刻暂停可见日志,单独控制自动滚动,并通过横向滚动查看很长的数据行。只要用户手动向上滚动,跟随最新日志的行为就会自动停止,不会在阅读旧记录时被强行拉回底部。

日志显示还支持:

  • 毫秒级时间戳;
  • 可调字体大小;
  • 普通文本或 Hex 显示;
  • 原始接收数据块边界;
  • 系统消息、发送内容、警告、错误、NMEA 和协议解析结果的差异化颜色。

先过滤,再搜索

SerialFlow 安卓串口监视器的日志搜索、正则表达式与过滤界面

过滤和搜索解决的是两个不同问题,SerialFlow 可以把二者叠加使用。

过滤器持续缩小当前可见日志,支持普通文本、大小写匹配和正则表达式。搜索则在过滤后的结果中继续定位,高亮所有命中内容,并在上一条和下一条匹配之间快速跳转。

面对混杂日志,可以先过滤 motor,再搜索 timeout;也可以用一条正则同时抓取多种典型故障:

(error|timeout|crc|disconnect|watchdog)

这种“缩小范围,再精准定位”的使用方式,更接近桌面日志分析工具,而不是传统手机串口助手。

保存证据,而不是只保留屏幕上的几行

SerialFlow 在串口会话进行时,会把接收记录持续写入手机本地文件。屏幕缓冲区可以保持较小以减少渲染压力,但会话结束后仍然可以导出并分享带时间标识的日志文件。

免费版本的可见缓冲区为 1,024 行;SerialFlow Pro 提供 4,096、16,384 和 65,536 行三个档位,适合更长时间的问题复现与现场测试。

文本、Hex 与指令自动化

串口通信天然是双向的。SerialFlow 对发送端的重视程度并不低于接收端。

正确发送普通文本指令

文本发送支持四种行尾:

  • 不追加内容;
  • CR(\r);
  • LF(\n);
  • CRLF(\r\n)。

很多“连接正常但设备不响应”的问题,并不是串口坏了,而是设备命令解析器等待另一种结束符。行尾可选能够直接解决这类常见问题。

不费力地发送原始字节

Hex 模式支持空格分隔、连续十六进制字符串、0x 前缀、逗号和常见空白字符。输入内容会自动整理成字节并在发送前校验,测试二进制协议时不必反复和手机键盘较劲。

例如下面两种格式都可以表达原始数据:

01 03 00 00 00 02 C4 0B
AA550102FF

复用并自动重复指令

SerialFlow 会保存每个监视器中的发送历史,可以向前或向后找回近期输入。常用指令还可以保存为带名称的快捷按钮,并为每条快捷指令独立指定行尾。

需要重复测试时,循环发送可以按照指定毫秒间隔执行固定次数,也可以持续发送。它适合轮询、耐久性测试、执行器循环、协议实验和产线检测。

不只显示文本,而是理解协议

真实串口设备并不总是输出可读文本。SerialFlow 提供了多条解码路径,让同一个应用可以处理差异很大的设备。

Text 文本模式

文本模式会恢复 UTF-8 内容,同时不影响普通 ASCII 输出,适合命令行、固件日志、AT 指令和自定义行协议。

ESP-IDF 日志

ESP-IDF 解码器能够识别常见日志等级,并对 Verbose、Debug、Info、Warning、Error 使用不同视觉样式。它适合 ESP-IDF 和兼容的 Arduino-ESP32 日志,但 SerialFlow 的能力并不局限于 ESP 系列。

Raw 原始数据

Raw 模式保留接收数据块和字节数量,不强行把二进制流切成文本行。设备发送私有协议、未知编码或二进制帧时,应当从这里开始观察。

Modbus RTU

Modbus 模式会缓存字节流,根据静默间隔判断帧边界,验证 Modbus CRC,并把有效帧整理成地址、功能码、数据和 CRC。

调试 RS-485 网关、电表、PLC、温控器或工业传感器时,这比盯着一整页没有边界的十六进制字节实用得多。

MSP 与 NMEA

SerialFlow 还包含 MSP 姿态解析,并且会在常规日志解析之外持续检测有效 NMEA 语句。NMEA 解析与当前日志解码器并行工作,因此同一份输入流既可以显示在终端中,也可以驱动 GNSS 专用视图。

把串口数值直接变成可视信息

SerialFlow 最具辨识度的能力,是让串口数据不再永远停留在文字状态。

SerialFlow 串口数据可视化功能

多曲线实时波形

只要设备按 key=value 形式输出数值,例如:

temp=23.6[C] voltage=3.31[V] current=0.42[A]

SerialFlow 就会自动把每个 key 识别为一个数据序列。波形视图可以同时展示多条曲线,单独隐藏或恢复某个通道,跟随最新采样,查看指定窗口,限制采样点数量,并在数据跨度很大时切换对数 Y 轴。

温度、电压、电流、压力、转速、控制误差、循环耗时、信号强度等任何数值型遥测,都可以用这种简单格式直接可视化,不需要额外开发手机端图表页面。

GNSS 卫星与地图诊断

SerialFlow GNSS 卫星视图,通过串口 NMEA 数据进行卫星诊断

SerialFlow GNSS 地图视图,显示串口设备输出的 NMEA 定位数据

检测到有效 NMEA 数据后,SerialFlow 可以提取速度、航向、高度、已使用卫星数量、HDOP、PDOP、VDOP 和可见卫星数量。

专用 GNSS 工具提供卫星视图,并支持 GPS、北斗、GLONASS、Galileo、QZSS、IRNSS 和混合 GNSS 过滤;还可以控制信号环、PRN 标签、未知位置卫星和卫星列表。地图视图则为有效定位数据提供地理位置上下文。

评估 GNSS 模块、测试天线摆放、调试车载设备、定位器或户外安装环境时,这远比人工阅读 $GGA$GSV 文本高效。

3D 姿态视图

设备只需输出简单的欧拉角:

roll=12.4 pitch=-3.8 yaw=87.0

SerialFlow 就可以构建实时 3D 姿态模型。它还支持 q0q1q2q3 四元数,以及兼容 MSP 帧中的姿态数据,并提供平滑、坐标轴和自动旋转控制。

这使 SerialFlow 能够用于 IMU、机器人、云台、飞控、平衡系统、姿态传感器和运动原型调试。

SerialFlow 协议、GNSS 与姿态视图

为现场和长时间运行准备

Android 的优势在于便携、带电池、触控方便,而且通常就在使用者口袋里。SerialFlow 通过后台能力,让这种便携性真正适合硬件调试。

可选的 Android 前台服务可以帮助活跃 USB 串口会话在应用进入后台后继续运行。通知栏会显示 RX 和 TX 字节统计,并提供直接断开连接的按钮。

配合自动会话记录、日志导出、快捷指令和循环发送,SerialFlow 很适合现场安装、设备维护、产线检测、移动机器人、车辆设备和不方便携带电脑的实验场景。

没有硬件也能体验全部思路

SerialFlow 内置虚拟设备,即使当前没有连接 USB 串口,也可以了解界面和各类数据工具。

虚拟数据源可以生成或回放:

  • 普通文本和数值遥测;
  • 已记录的 NMEA 数据;
  • 有效 Modbus RTU 帧;
  • ESP-IDF 风格日志;
  • Arduino-ESP32 风格日志;
  • 原始二进制数据块;
  • MSP 姿态帧;
  • 支持设备上的手机陀螺仪数据。

它不只是展示页面。用户可以在不影响真实硬件的情况下练习正则过滤、测试波形参数、理解不同解码器,并预览 GNSS 或 3D 姿态视图。

SerialFlow 适合哪些设备

SerialFlow 并不绑定某个芯片或开发框架。只要设备通过 Android 能够识别的 USB 串口接口通信,它就可以成为以下场景的移动工作台:

  • Arduino 及其他微控制器项目;
  • STM32、RP2040、ESP32 和自研固件板;
  • USB 转 UART、USB 转 RS-485 适配器;
  • Modbus RTU 设备和工业控制器;
  • GNSS 接收机与定位设备;
  • 传感器、电机、电源和测试工装;
  • 飞控、IMU、机器人与云台;
  • AT 指令通信模组;
  • 实验仪器和私有串口硬件。

它的边界很清楚:Android 需要识别已连接的 USB 串口接口,设备需要输出 SerialFlow 能够显示、解析或可视化的数据。

它是不是 Android 上最强大的串口软件

串口工具并不存在统一排行榜,不同用户重视的能力也不同。但 SerialFlow 把通常分散在多种软件中的功能放进了一个应用:

  • USB 串口终端;
  • 海量日志查看器;
  • 文本和二进制命令控制台;
  • Modbus 帧检查工具;
  • ESP 日志查看器;
  • 轻量级实时数据绘图工具;
  • GNSS 诊断面板;
  • 3D 姿态监视器;
  • 重复指令测试工具;
  • 可导出的移动日志系统。

正是这种能力跨度,让“SerialFlow 是 Android 上功能最强大的串口应用之一”成为一个合理评价。它追求的不是做最小巧的串口助手,而是在项目逐渐复杂之后,仍然不需要被另一款工具替代。

部分高级能力,包括更大的可见日志缓冲区、无限快捷指令、循环发送、波形、卫星和地图视图,可能需要 SerialFlow Pro 或受支持的临时解锁。USB 串口连接、日志查看、搜索过滤、文本与 Hex 收发、协议解码等核心能力仍然构成应用的基础。

你可以前往 SerialFlow Terminal 产品页,或直接从 Google Play 下载

想看一个完整的实际案例,可以继续阅读如何用安卓手机调试 ESP32。同样的方法并不局限于 ESP32:连接、捕获、缩小范围、理解数据、执行操作,最后导出证据。