图 1 - 项目架构总览
一张图看懂"小智 ESP32"是什么、由哪几大块组成、各块怎么通信。先看这张图再看说明书的第 1 章效果最好。
如果上方图无法显示,点这里看 PNG 版本

怎么读这张图
整张图分两个区域:云端(图上半部分)和 ESP32 设备(图下半部分)。
云端有 5 个角色
| 角色 | 干嘛的 |
|---|---|
| LLM 大模型 | 真正的"AI 脑子",回答问题、决策、调用工具 |
| 流式 ASR | 把麦克风传来的语音流转成文字喂给 LLM |
| TTS | 把 LLM 输出的文字合成语音流回 |
| OTA 服务器 | 固件升级 + 资源(语音模型/字体)下载 |
| MCP Client | 充当中间人,LLM 想调设备能力时通过它发命令 |
设备端有 6 大模块
- Application(黄色):主调度器 + 状态机。整个固件的"指挥官"。
- AFE 前端(橙色):用 ESP-SR 做 AEC(回声消除)/ VAD(人声检测)/ NS(降噪)。
- Protocol 抽象(粉色):上层完全感知不到底层是 WebSocket 还是 MQTT+UDP。
- MCP Server(绿色):设备端的工具接口注册中心,让 LLM 可以调音量、灯、屏幕等。
- 输入/输出链:麦克风 PCM → AFE → Opus 编 → 网络;网络 → Opus 解 → 喇叭。
- 持久层:NVS 存配置、OTA 分区存固件、Assets 分区存模型/字体。
三条主数据流
- 音频上行:麦克风 → AFE → Opus → Protocol → 云端 ASR
- 音频下行:云端 TTS → Protocol → Opus 解码 → 喇叭
- 工具调用:LLM 决定调工具 → MCP Client → Protocol → 设备 MCP Server → 硬件操作 → 返回结果
一句话讲清
"这是个语音前端 + 一条加密通道 + 几个工具接口。语音流上去给云端 AI 处理,AI 想控设备就用 MCP 协议调下来。所有硬件细节被 Application 和 Board 两层抽象遮住。"
关联章节
- 主调度器(Application):
/02-main-application - 音频链:
/04-audio - 网络层:
/05-protocols - MCP 工具:
/06-mcp-server - 持久层:
/07-system-services