SERIALFLOW / PRODUCT
SerialFlow 将安卓手机变成完整的 USB 串口工作台,集日志分析、协议解码、指令自动化、实时波形、GNSS 诊断和 3D 姿态显示于一体。
SerialFlow:不只是安卓串口终端,而是一套移动调试工作台
大多数安卓串口软件只能完成三件事:打开 USB 串口、显示接收到的文本、向设备发送一行指令。临时测试时已经够用,但设备一旦持续输出数千行日志、混合文本与二进制数据、不断上报传感器数值,或者需要反复发送测试指令,普通串口助手很快就会显得捉襟见肘。
SerialFlow 的思路完全不同。它不是把桌面串口终端简单缩小到手机屏幕,而是把安卓手机和平板变成一套完整的移动串口调试工作台。
说它是 Android 上功能最强大的串口软件之一,并不过分。SerialFlow 在一个应用里同时提供原生 USB 串口连接、海量日志处理、搜索与过滤、协议解码、文本与 Hex 收发、快捷指令和循环发送、实时波形、GNSS 卫星诊断、地图、3D 姿态显示、后台保活以及可导出的会话日志。

它为什么明显强于普通串口助手
| 能力范围 | 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 并不是依赖浏览器 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 因此把日志管理作为核心功能,而不是一个附带输入框。
接收数据会先进行批量合并,再更新 Flutter 界面,避免每个数据包都触发整屏重建。过滤开启后,新日志会增量匹配;搜索刷新也会进行节流控制。实际效果是,即使设备持续高速输出,界面仍然更容易保持可操作状态。
在错误发生的一刻停下来
你可以在异常出现时立刻暂停可见日志,单独控制自动滚动,并通过横向滚动查看很长的数据行。只要用户手动向上滚动,跟随最新日志的行为就会自动停止,不会在阅读旧记录时被强行拉回底部。
日志显示还支持:
- 毫秒级时间戳;
- 可调字体大小;
- 普通文本或 Hex 显示;
- 原始接收数据块边界;
- 系统消息、发送内容、警告、错误、NMEA 和协议解析结果的差异化颜色。
先过滤,再搜索

过滤和搜索解决的是两个不同问题,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 最具辨识度的能力,是让串口数据不再永远停留在文字状态。

多曲线实时波形
只要设备按 key=value 形式输出数值,例如:
temp=23.6[C] voltage=3.31[V] current=0.42[A]
SerialFlow 就会自动把每个 key 识别为一个数据序列。波形视图可以同时展示多条曲线,单独隐藏或恢复某个通道,跟随最新采样,查看指定窗口,限制采样点数量,并在数据跨度很大时切换对数 Y 轴。
温度、电压、电流、压力、转速、控制误差、循环耗时、信号强度等任何数值型遥测,都可以用这种简单格式直接可视化,不需要额外开发手机端图表页面。
GNSS 卫星与地图诊断


检测到有效 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 姿态模型。它还支持 q0、q1、q2、q3 四元数,以及兼容 MSP 帧中的姿态数据,并提供平滑、坐标轴和自动旋转控制。
这使 SerialFlow 能够用于 IMU、机器人、云台、飞控、平衡系统、姿态传感器和运动原型调试。

为现场和长时间运行准备
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:连接、捕获、缩小范围、理解数据、执行操作,最后导出证据。