跳到主要内容

视觉资源使用指南

这个目录是项目的"图形化学习包"。除了 10 章文字说明书,这里把项目用 11 张图 + 3 份辅助材料重新组织一遍,适合快速过、适合做对外讲解的素材


目录结构

视觉资源/
├── README.md 本文件
├── 快速讲解卡.md 15 段速记:每段 30 秒讲清一块
├── 进阶学习路径.md 5 阶段循序渐进学习计划
├── 常见问答30题.md 30 个高频问题及答案
├── diagrams/ 11 张图 + 对应解读
│ ├── 01-项目架构总览.md ← 解读文档(含 [图 1])
│ ├── 02-启动时序图.md ← 解读文档(含 [图 2])
│ ├── 03-音频数据流图.md
│ ├── 04-状态机转换图.md
│ ├── 05-唤醒到回复完整时序.md
│ ├── 06-协议对比.md
│ ├── 07-MCP工具调用时序.md
│ ├── 08-OTA升级流程.md
│ ├── 09-配网三方式对比.md
│ ├── 10-板级架构关系.md
│ ├── 11-核心文件依赖关系.md
│ └── src/ Mermaid 源文件 (.mmd) + puppeteer 配置
└── images/ 渲染好的 PNG 图(直接看)
├── 01-architecture.png
├── 02-startup-sequence.png
├── ...
└── 11-file-dependency.png

三类资源的不同用法

1. 11 张图 (images/*.pngdiagrams/*.md)

直接看:每张图配一个 .md 解读文档,告诉你这张图怎么读、看完该懂什么、对应说明书哪一章。

推荐顺序

阶段看哪几张用时
第一次接触项目1 (架构总览) → 11 (文件依赖) → 4 (状态机)30 分钟
想搞清数据流3 (音频流) → 5 (唤醒到回复)20 分钟
想理解通信6 (协议对比) → 7 (MCP)20 分钟
想搞产品化8 (OTA) → 9 (配网) → 2 (启动) → 10 (板级)30 分钟

2. 快速讲解卡 (快速讲解卡.md)

把整个项目浓缩成 15 段速记,每段 30 秒能讲清一块,按顺序念下来就是一个完整的 30 分钟项目介绍。每段标注配合看哪张图。

适合:

  • 自己快速回顾整个项目脉络
  • 拿来对外讲一遍这个项目
  • 写技术分享 PPT 时的素材

3. 进阶学习路径 (进阶学习路径.md)

系统学习计划:从"跑通设备"到"产品化扩展"分 5 个阶段,每阶段给具体的阅读顺序和动手练习。

适合:

  • 自己定阶段性学习计划
  • 给团队新人下任务
  • 估算"搞懂这个项目要多久"

4. 常见问答 30 题 (常见问答30题.md)

30 个高频问题及简短回答。涵盖项目定位、硬件、软件架构、安全运维、性能优化、商业合规 6 个方向。

适合:

  • 阅读时遇到具体问题快速找答案
  • 准备技术答辩或评审
  • 自己复盘"哪些细节还不熟"

怎么打开这些图?

方式 A:直接看 PNG(最简单)

打开 images/ 目录任何 .png 文件,用 macOS Preview / Windows 照片查看器 / 浏览器都能看。

方式 B:在 Markdown 阅读器里看(推荐)

diagrams/*.md 文件里直接嵌入了图,用以下任一软件打开能看到图 + 解读文字一起:

软件是否免费平台
Typora付费macOS / Windows / Linux
Obsidian免费macOS / Windows / Linux
VSCode + Markdown Preview免费全平台
MarkText免费macOS / Windows / Linux
GitHub 在线浏览免费浏览器

方式 C:自己改图

所有图的源文件在 diagrams/src/*.mmd,用 Mermaid 语法

修改流程:

  1. 打开 diagrams/src/01-architecture.mmd 改文字
  2. 复制内容粘贴到 https://mermaid.live 即时预览
  3. 在 Mermaid Live Editor 里导出为 PNG / SVG 覆盖 images/ 目录

如果改完想批量重新生成 PNG:

cd 视觉资源
for f in diagrams/src/*.mmd; do
name=$(basename "$f" .mmd)
npx -y -p @mermaid-js/mermaid-cli mmdc \
-i "$f" -o "images/$name.png" \
-p diagrams/src/puppeteer-config.json \
-w 2000 -t default --backgroundColor white
done

11 张图速览

#图名类型看完后能讲明白
1项目架构总览大方框图项目分哪几大块、各块怎么通信
2启动时序图时序图从上电到能用之间发生了什么
3音频数据流图数据流图PCM 怎么进 Opus 怎么出
4状态机转换图状态图11 个状态怎么跳
5唤醒到回复完整时序时序图用户喊一句话到设备回应
6协议对比对比图WebSocket vs MQTT+UDP
7MCP 工具调用时序时序图LLM 怎么真的控制设备
8OTA 升级流程流程图A/B 双分区怎么防砖
9配网三方式对比流程图设备怎么知道 Wi-Fi 密码
10板级架构关系UML 类图110 块板子的继承结构
11核心文件依赖关系依赖图哪个 .cc 依赖哪个 .cc

对外讲解的推荐路径

如果只有 5 分钟讲:

  • 打开 图 1 讲架构 + 三条主数据流

如果有 15 分钟讲:

  • 图 1(架构)→ 图 5(唤醒到回复)→ 图 6(协议)

如果有 30 分钟讲:

  • 按"快速讲解卡"的 15 段速记走一遍

如果想深入半天/一天:

  • 按"进阶学习路径"的阶段 1-3 安排

反馈

如果发现:

  • 某张图想要换种风格(比如时序图换成状态图、或者要彩色版本)
  • 某张图描述的信息和实际代码对不上
  • 想加新的图(比如服务器侧的实现示意、或某个具体子系统的细节图)

可以指出来,会按需求重做或新增。源文件都在 diagrams/src/,改起来很快。