跳到主要内容

图 1 - 项目架构总览

一张图看懂"小智 ESP32"是什么、由哪几大块组成、各块怎么通信。先看这张图再看说明书的第 1 章效果最好。

如果上方图无法显示,点这里看 PNG 版本

怎么读这张图

整张图分两个区域:云端(图上半部分)和 ESP32 设备(图下半部分)。

云端有 5 个角色

角色干嘛的
LLM 大模型真正的"AI 脑子",回答问题、决策、调用工具
流式 ASR把麦克风传来的语音流转成文字喂给 LLM
TTS把 LLM 输出的文字合成语音流回
OTA 服务器固件升级 + 资源(语音模型/字体)下载
MCP Client充当中间人,LLM 想调设备能力时通过它发命令

设备端有 6 大模块

  1. Application(黄色):主调度器 + 状态机。整个固件的"指挥官"。
  2. AFE 前端(橙色):用 ESP-SR 做 AEC(回声消除)/ VAD(人声检测)/ NS(降噪)。
  3. Protocol 抽象(粉色):上层完全感知不到底层是 WebSocket 还是 MQTT+UDP。
  4. MCP Server(绿色):设备端的工具接口注册中心,让 LLM 可以调音量、灯、屏幕等。
  5. 输入/输出链:麦克风 PCM → AFE → Opus 编 → 网络;网络 → Opus 解 → 喇叭。
  6. 持久层:NVS 存配置、OTA 分区存固件、Assets 分区存模型/字体。

三条主数据流

  1. 音频上行:麦克风 → AFE → Opus → Protocol → 云端 ASR
  2. 音频下行:云端 TTS → Protocol → Opus 解码 → 喇叭
  3. 工具调用: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