Serial-Studio/Serial-Studio

GitHub: Serial-Studio/Serial-Studio

一款功能强大的跨平台开源遥测仪表盘工具,支持多种通信协议,为嵌入式与物联网设备提供零代码的实时数据可视化与回放分析。

Stars: 6644 | Forks: 996

# ![Serial Studio 应用程序图标](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/32263aeda9181913.svg) Serial Studio [![GitHub 下载量](https://img.shields.io/github/downloads/Serial-Studio/Serial-Studio/total.svg?logo=github)](https://github.com/Serial-Studio/Serial-Studio/releases/) [![询问 DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/Serial-Studio/Serial-Studio) [![Instagram](https://img.shields.io/badge/Instagram-E4405F?logo=instagram&logoColor=white)](https://instagram.com/serialstudio.app) [![捐赠](https://img.shields.io/badge/Donate-00457C?logo=paypal&logoColor=white)](https://www.paypal.com/donate?hosted_button_id=XN68J47QJKYDE) [![购买 Pro 版](https://img.shields.io/badge/Buy%20Pro-Lemon%20Squeezy-blue?logo=lemonsqueezy)](https://store.serial-studio.com/buy/ba46c099-0d51-4d98-9154-6be5c35bc1ec) [![Codacy 徽章](https://app.codacy.com/project/badge/Grade/4b6f3ce14a684704980fea31d8c1632e)](https://app.codacy.com/gh/Serial-Studio/Serial-Studio/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) **Serial Studio** 是一款面向嵌入式开发者的开源仪表盘工具,专为厌倦了盯着滚动终端的人设计。只需在 **项目文件** 中描述一次您的数据格式,它就会为您构建一个实时仪表盘。 它兼容 **Arduino**、**ESP32**、**STM32**、**Raspberry Pi**、**Teensy**,以及任何通过 **UART**、**Bluetooth LE**、**TCP/UDP** 或 **CAN Bus** 进行通信的设备。**Modbus TCP/RTU** 涵盖了工业和 PLC 设置。**Audio** 驱动程序可用于分析模拟信号。**MQTT** 既可以用作发布者也可以用作订阅者,这对于数据需要跨越本地网络传输的 IoT 设置非常有用。 一旦数据传入,Serial Studio 就可以使用多种小部件对其进行可视化,包括 **图表**、**仪表** 和 **表格**。导出为 **CSV** 或 **MDF4** 以供进一步分析,或稍后重新加载以在仪表盘中回放会话。**Actions** 允许您定义将命令发送回设备的按钮,并带有用于轮询或周期性控制的可选定时器。 Serial Studio 可在 **Windows**、**macOS** 和 **Linux**(包括适用于 Raspberry Pi 的 **ARM64**)上运行,使其成为机器人团队、IoT 开发者、创客、教育工作者和研究人员的一个实用选择,让他们可以将时间花在硬件上,而不是围绕它的工具上。 📚 **新用户?** 查看 [常见问题](FAQ.md)、[用例](USE-CASES.md) 和 [与替代方案的比较](COMPARISON.md)。 ![软件使用](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8718339087181915.png) ## 下载 Serial Studio 提供源代码以及适用于 Windows、macOS 和 Linux 的官方预编译二进制文件。 - [最新稳定版](https://github.com/Serial-Studio/Serial-Studio/releases/latest) - [预发布版本](https://github.com/Serial-Studio/Serial-Studio/releases/continuous) #### Microsoft Windows: 需要安装 [Microsoft Visual C++ Redistributable (x64)](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version)。首次启动时,Windows 可能会显示关于未知开发人员的警告,点击 _“更多信息 → 仍要运行”_ 以继续。 #### macOS: 以通用 DMG 形式分发。打开 DMG 文件并将 **Serial Studio** 拖入 **Applications** 文件夹。 或者,您可以尝试通过 Homebrew 安装: ``` brew install --cask serial-studio ``` **注意:** Homebrew cask 由社区维护。它可用,但并非由我官方开发或测试。 #### Linux: 在 Linux 上安装 Serial Studio 的推荐方式是使用官方预构建的 [AppImage](https://appimage.org/)。赋予其可执行权限并运行: ``` chmod +x SerialStudio-Pro-3.2.4-Linux-x64.AppImage ./SerialStudio-Pro-3.2.4-Linux-x64.AppImage ``` 如果 AppImage 无法启动,您的系统可能缺少 `libfuse2`: ``` sudo apt install libfuse2 ``` **提示:** 为了更好的桌面集成(菜单项、更新、图标),请使用 [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher)。 ##### Flatpak (通过 Flathub) Serial Studio 也可在 [Flathub](https://flathub.org/apps/com.serial_studio.Serial-Studio) 上获取。此版本定期接收更新,并可能为 ARM64 系统提供更好的支持。但是,某些桌面环境可能会出现轻微的图形故障——尤其是在 Wayland 下(例如,缺少窗口阴影)。 ##### Raspberry Pi / ARM64: 为 Raspberry Pi 和类似设备提供了 ARM64 AppImage。性能因硬件和 GPU 驱动程序而异,因为 UI 依赖于 GPU 加速。ARM64 AppImage 需要: - 等同于或高于 **Ubuntu 24.04** 的 64 位 Linux 操作系统(由于 `glibc 2.38` 依赖性) - 已安装 `libfuse2` 在运行 AppImage 之前,请确保您的系统满足这些要求。 ## 功能 #### 工作原理: - **项目文件模式(推荐):** 使用 **项目编辑器** 通过拖放小部件创建自定义仪表盘。无需编码。 - **快速绘图模式:** 立即显示来自 Arduino 的逗号分隔值。无需设置。 - **设备定义模式:** 让您的设备通过 JSON 发送其自己的仪表盘布局。 #### 它能做什么: - **无需编码:** 使用简单的可视化界面构建仪表盘 - **多种协议:** Serial/UART, Bluetooth LE, MQTT, Modbus TCP/RTU, CAN Bus, TCP/UDP, 和音频输入 - **15+ 小部件:** 折线图、仪表、条形图、GPS 地图、FFT 频谱、加速度计、陀螺仪、指南针、数据网格 - **保存为 CSV:** 自动保存所有数据,以便稍后在 Excel, Python, MATLAB, 或 R 中进行分析 - **MDF4 回放与导出:** 播放和导出 MDF4/MF4 文件,支持 CAN Bus, LIN, FlexRay 和模拟通道 (Pro) - **全平台支持:** Windows 10/11, macOS 11+ (Intel + Apple Silicon), Linux x64, 和 Raspberry Pi ARM64 - **兼容 Arduino/ESP32:** 兼容任何通过 serial, BLE, 或 network 发送数据的设备 - **快速更新:** 60 FPS 仪表盘,低延迟(<50ms) - **自定义解析:** 使用 JavaScript 解码二进制数据、校验和和复杂格式 - **Modbus TCP/RTU:** 连接到工业 PLC 和设备 (Pro) - **CAN Bus 支持:** 导入 DBC 文件用于汽车和工业应用 (Pro) - **MQTT for IoT:** 连接到 MQTT brokers 用于分布式传感器 (Pro) - **API Server (TCP port 7777):** 使用 182+ API 命令以编程方式控制 Serial Studio(见 [API Client 示例](./examples/API%20Test)) - **AI 集成 (MCP):** 通过 Model Context Protocol 连接 Claude 等 AI 模型,以进行自动化分析和控制(见 [MCP Client](./examples/MCP%20Client)) - **双重许可:** 开源 GPL-3.0 核心,专有 Pro 功能(见 [LICENSE.md](LICENSE.md)) ## 快速入门 在 5 分钟内开始使用 Serial Studio: ### 1. 下载并安装 - 下载适用于您平台的最新版本(见 [下载](#download) 部分) - **Windows:** 运行安装程序,如果出现提示,允许“未知开发者” - **macOS:** 拖到 Applications,首次右键单击 → 打开 - **Linux:** 对 AppImage 执行 `chmod +x` 并运行(可能需要 `sudo apt install libfuse2`) ### 2. 连接您的设备 - 启动 Serial Studio - 选择您的 **serial port** 和 **baud rate**(常用:9600, 115200) - 点击 **Connect** ### 3. 可视化数据 - **快速绘图模式:** 从您的设备发送逗号分隔值并查看即时图表 - **项目模式:** 使用项目编辑器构建带有仪表、地图等的自定义仪表盘 - **示例:** 浏览 [`/examples`](./examples) 文件夹以获取 Arduino sketches, ESP32 代码和 Python 脚本 ### Arduino 快速示例 ``` void setup() { Serial.begin(9600); } void loop() { int temperature = analogRead(A0); int humidity = analogRead(A1); Serial.print(temperature); Serial.print(","); Serial.println(humidity); delay(100); } ``` 上传到 Arduino → 连接 Serial Studio → 启用 Quick Plot → 完成! **初次使用者:** 请参阅 [FAQ](FAQ.md) 以获取故障排除和常见问题解答。 📚 **了解更多:** - [FAQ](FAQ.md) - 常见问题和故障排除 - [Use Cases](USE-CASES.md) - 跨行业的实际应用 - [Comparison](COMPARISON.md) - Serial Studio vs. alternatives (Arduino Plotter, MATLAB, Processing, etc.) - [Examples](./examples) - Arduino/ESP32/Python code and project templates - [Wiki](https://github.com/Serial-Studio/Serial-Studio/wiki) - Complete documentation ## 文档与资源 ### 官方文档 - 📖 [Wiki](https://github.com/Serial-Studio/Serial-Studio/wiki) - 完整的指南和教程 - ❓ [FAQ](FAQ.md) - 常见问题和故障排除 - 🎯 [Use Cases](USE-CASES.md) - 实际示例:机器人、IoT、无人机、教育、研究 - ⚖️ [Comparison](COMPARISON.md) - Serial Studio vs. Arduino Plotter, MATLAB, Processing, LabVIEW, Python - 🤖 [AI Agent Guide](AGENTS.md) - 适用于 ChatGPT, Claude, 和其他 AI 助手 - 🔌 [API Reference](https://github.com/Serial-Studio/Serial-Studio/wiki/API-Reference) - 完整的 TCP API 文档和自动化指南 - 💡 [Examples](./examples) - Arduino, ESP32, Python 代码及示例项目 ### 关键主题 - **安装:** Windows, macOS, Linux, Raspberry Pi 的特定平台设置 - **快速入门:** 连接 Arduino/ESP32 并在 5 分钟内可视化数据 - **仪表盘创建:** 使用项目编辑器构建自定义布局(无需编码) - **协议支持:** Serial/UART, Bluetooth LE, MQTT, Modbus TCP/RTU, CAN Bus, TCP/UDP, Audio - **帧解析:** 处理二进制协议、校验和、自定义数据格式 - **CSV 导出与回放:** 记录传感器数据并重放 CSV 文件以供分析 - **MDF4 回放与导出:** 播放和导出 MDF4/MF4 文件 (CAN Bus, LIN, FlexRay, analog) - **TCP API:** 使用 116 个 API 命令以编程方式控制 Serial Studio(见 [API Client](./examples/API%20Test)) ## 构建 Serial Studio ### 系统要求 **最低要求:** - **Qt:** 版本 6.7 或更高版本(推荐 6.9.2) - 必需模块:QtCore, QtGui, QtWidgets, QtSerialPort, QtNetwork, QtCharts, QtSvg, QtBluetooth, QtQuick - **C++ 编译器:** 兼容 C++20 - GCC 10+ (Linux) - Clang 12+ (macOS) - MSVC 2019+ (Windows) - **CMake:** 版本 3.16 或更高版本 - **构建工具:** 特定于平台的工具链(见下文) **特定平台要求:** #### Linux ``` sudo apt install libgl1-mesa-dev build-essential ``` #### macOS - Xcode Command Line Tools: `xcode-select --install` - Qt 可以通过 Homebrew 安装:`brew install qt@6` #### Windows - Visual Studio 2019 或更高版本,带有 C++ 开发工具 - Qt 通过官方安装程序安装 ### 构建说明 安装 Qt 后,您可以通过在首选 IDE 中打开 `CMakeLists.txt` 或使用终端来编译项目: ``` mkdir build cd build cmake ../ -DPRODUCTION_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release cmake --build . -j$(nproc) ``` 默认情况下,构建系统生成完全符合 GPLv3 的 Serial Studio 版本。 此版本包含大多数核心功能,但不包括商业模块,例如 MQTT、3D 可视化、XY 绘图以及其他依赖于专有 Qt 组件的高级工具。 如果您是 Pro 用户或拥有商业许可证,请[联系项目维护者](mailto:alex@serial-studio.com)以获取构建说明和激活要求。 ## 许可 Serial Studio 采用 **双重许可模式**,区分开源使用和商业分发: - [LICENSE.md](LICENSE.md): 双重许可结构和使用条款摘要 - [LICENSES/GPL-3.0-only.txt](LICENSES/GPL-3.0-only.txt): 开源源代码的完整 GNU GPLv3 文本 - [LICENSES/LicenseRef-SerialStudio-Commercial.txt](LICENSES/LicenseRef-SerialStudio-Commercial.txt): 专有功能和官方二进制文件的完整条款 源文件单独标记有 SPDX 标头,指示它们是否为: - 在 `GPL-3.0-only` 下许可 - 在 `LicenseRef-SerialStudio-Commercial` 下许可 - 或双重许可为 `GPL-3.0-only OR LicenseRef-SerialStudio-Commercial` 这种结构允许开发者构建和分发符合 GPL 的版本,同时保护商业功能。 ## 选择合适版本的 Serial Studio 下表概述了每个版本的许可、功能访问和义务: | 功能 / 用例 | GPL 版本 *(自行构建)* | 试用版 *(官方二进制)* | Pro 版 *(已激活的官方二进制)* | |-----------------------------|------------------------------------------|---------------------------------------|----------------------------------------------| | **商业用途** | ✅ 如果完全符合 GPL | ❌ 仅限评估 | ✅ 完全授权 | | **官方支持** | ❌ 仅限社区 | ❌ 无 | ✅ 优先支持 | | **Pro 功能** | ❌ 未包含 | ✅ 已包含 | ✅ 已包含 | | **使用限制** | 必须遵守 GPL 和 Qt 条款 | 14 天试用,不可再分发 | 受商业许可条款约束 | | **预编译二进制** | ❌ 必须从源代码构建 | ✅ 仅作为试用提供 | ✅ 已提供 | | **Qt 许可** | 需要兼容 GPL 的 Qt | Qt 许可由供应商覆盖 | Qt 许可由供应商覆盖 | | **激活系统** | ❌ 不适用 | ✅ 试用在 14 天后禁用 | ✅ 需要有效的许可证密钥 | | **商业用途** | ✅ 如果严格遵守 GPL | ❌ 禁止 | ✅ 完全允许 | | **最适合** | OSS 开发者、学生、贡献者 | 爱好者、个人评估 | 企业、团队、商业产品 | **提醒:** Pro 功能和官方二进制文件是专有的,任何超出个人评估的使用都需要商业许可证。源代码的可见性**并不**暗示 GPL 权利,除非明确许可。 ## 贡献 欢迎贡献!无论您是修复错误、添加功能还是改进文档,我们都感谢您的帮助。 **在贡献之前:** - 检查现有的 [issues](https://github.com/Serial-Studio/Serial-Studio/issues) 和 [pull requests](https://github.com/Serial-Studio/Serial-Studio/pulls) - 查看 [CLAUDE.md](CLAUDE.md) 文件以获取代码风格指南 - 专注于 GPL 许可的代码(避免修改商业模块) **代码风格:** - 遵循项目的 clang-format 配置(LLVM 基础风格) - 为变量和函数使用有意义的名称 - 避免行尾内联注释(见 [CLAUDE.md](CLAUDE.md#comments-policy)) - 为新的公共 API 添加 Doxygen 文档 **提交更改:** 1. Fork 仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 使用描述性消息提交更改 4. Push 到您的 fork 并提交 pull request 5. 确保 CI 检查通过 对于重大更改,请先打开一个 issue 来讨论您的建议。
标签:Arduino, Bash脚本, BLE, CAN总线, ESP32, IoT, MDF4, PLC, STM32, TCP/UDP, UART, 串口调试, 信号分析, 实时仪表盘, 嵌入式开发, 工控, 数据可视化, 波形绘制, 物联网, 蓝牙低功耗, 遥测仪表盘