小智AI聊天机器人:ESP32上的开源语音助手拆解

小智 AI 聊天机器人 是一块 ESP32 上的开源语音助手:对着板子说话,它能唤醒、把话送去识别,再把回答从喇叭放出来。要拆开看,别把它当成「模型都烧在芯片里」。板子本地只稳稳做一件事------用 ESP-SR 听唤醒词;听懂、组织回答、合成声音,默认都在服务器上。刷进固件会出声,只说明链路通了,不说明脑子在 Flash 里。

仓库叫 xiaozhi-esp32 ,虾哥开源,协议 MIT。github.com/78/xiaozhi-esp32,设备默认可接 xiaozhi.me。麦、喇叭、屏做成语音入口,大模型走 Qwen / DeepSeek 一类云侧能力,设备用 MCP 控音量、灯、电机、GPIO。文档里上百个板级变体:面包板、立创实战派、乐鑫 BOX-3、M5Stack,以及带 Cat.1 的 4G 板。它是 ESP-IDF 固件,不是 Linux 音箱整机。

语音助手拆开:从唤醒到回答

图1:板子采音,云端回答

text 复制代码
麦克风一直在听
  → 板子上 ESP-SR 命中唤醒词(可离线)
  → 开始采你的话,编成 Opus 流
  → Wi-Fi / 以太网 / 4G 送到服务器
       WebSocket    或    MQTT 信令 + UDP 音频
  → 服务器:识别(ASR)→ 大模型 → 合成(TTS)
     也可走 Realtime 端到端语音
  → Opus 流回板子,喇叭播放
  → 要动手:设备 MCP(灯、GPIO)或云端 MCP(家居、电脑)

唤醒用乐鑫 ESP-SR ,可以自定义词,这一步可以不联网。后面整段对话默认要网:音频是 Opus ,不是板子本地跑完整大模型。传输两条路------WebSocket 一条连到底,或 MQTT 管信令、UDP 跑音频。有回声消除(AEC)的硬件才能做得像全双工,便宜小板经常是你说完它再说。

屏(OLED/LCD)显示表情和状态,部分板带摄像头给视觉模型。声纹(3D Speaker)用来认人,同样多在服务侧配合。配网:板子开热点,或 BluFi;家里路由器请走 2.4G,5G 专频很多 ESP 进不去。

和树莓派上那类 Linux 语音助手不是同一条实现:小智把「听懂、组织回答」放在服务器,板子负责唤醒、压缩音频、播放和本地 GPIO。

助手拆成两截:板上有什么,云上有什么

图2:唤醒在本地,对话走服务器

在哪 干什么
板子 唤醒、录音、Opus、喇叭、屏、电量、MCP 控灯/电机
传输 WebSocket,或 MQTT + UDP
官方云 xiaozhi.me 个人可注册,文档写明可免费用 Qwen 实时模型
自建服务 社区按同一套协议做的后端,不是官网源码原样开出来

自建常见仓库:Python 的 xinnan-tech/xiaozhi-esp32-server,还有 Java、Go 实现。自己搭要配 ASR/LLM/TTS 密钥、OTA 地址,配网高级项里改服务器,不必一上来改固件。只想先听它说话,用官方云最快。

MCP 分两层:设备上的工具改音量、GPIO;云上的工具去调家居、电脑、搜索。板子能「执行」,不表示模型权重在 Flash 里。

语言包、表情、唤醒词、聊天背景,可以用网页端的自定义资源生成器再灌进设备,不必为换一句唤醒词从零编译。真要改默认服务器、板级引脚、MCP 工具集,才值得自己编固件。

芯片覆盖 ESP32 / C3 / C5 / C6 / S3 / P4。内存小的 C3 能当聊天入口,带屏、摄像头、AEC 的 S3/P4 更像一只完整助手。4G 走 ML307、EC801E、NT26 一类 Cat.1,部分板能在 Wi-Fi 和蜂窝之间切。蜂窝模组耗电和天线比 Wi-Fi 苛刻,供电虚了会表现为「配上网又掉」。

拆完之后怎么跑起来

图3:刷对板型 → 配上 2.4G → 先唤醒再对话

1. 认准板型,烧对应固件。 对照仓库支持列表,不要拿「都是 S3」当同一份固件。新手跟飞书里的烧录教程走免开发环境烧录。USB 口要能进下载模式(很多板要按住 BOOT 再插、或按 RST)。自己从源码编,当前要 ESP-IDF 6.0.1 及以上 (文档推荐 6.1,不再支持 5.x );idf.py set-target 选对芯片,menuconfig 里 Board Type 必须对上你的板。选错了屏、I2S、功放引脚全飞,花屏、无声、反复重启都像「助手坏了」,其实是拆错层。

2. 配网。 上电后手机连板子热点(名称常见带 Xiaozhi),浏览器打开配网页(常见 192.168.4.1),填家里 2.4G Wi-Fi。高级项里才改 OTA / 服务器地址。连上后串口或屏上应能看到 IP。

3. 绑定账号。 用官方云的,到 xiaozhi.me 按控制台把设备加进去,选模型。自建则把设备指到你的 WebSocket/MQTT 入口。

4. 先验证唤醒,再验证对话。 唤醒灯/屏有反应,说明 ESP-SR 和麦基本对。能问一句有回音,说明网和服务器通。无声先查板型、I2S、功放使能,再查是不是连了 5G、服务器拒绝、UDP 被路由器拦。同一房间里喇叭对着麦,没有 AEC 就会自己跟自己喊。

官方云个人账号能先把链路跑通;要换模型、知识库、本地 ASR,再上社区服务器。OTA 地址填错时,设备往往还能唤醒,只是再也不更新、也不上你的新后端------改完配网重启,看它到底连的是哪台主机。

现象 优先排查
刷完黑屏 / 重启 固件和板型、芯片是否匹配,下载模式是否进对
配不上网 2.4G、密码、热点有没有起来
能唤醒不回答 没出网、没绑定、服务器地址、防火墙
有声但啸叫 麦和喇叭太近,板子没有可用 AEC
自己编不过 IDF 是否 ≥ 6.0.1,组件是否按文档拉全
想换服务器 配网高级项改 OTA,别先改唤醒词

板型选错、2.4G 没连上、服务器没通,听起来都是「助手不说话」------先按上面的拆法判断断在板子、网,还是云。别一上来改唤醒词。电源用稳定 USB;带屏、4G、功放同时开,口电不够会随机复位。面包板杜邦线虚焊,听起来也像「固件坏了」,先晃一晃线再怀疑软件。

边界

  • 唤醒可离线,完整对话默认要服务器,断网不等于本地大模型音箱。
  • 官方云面向个人试用;量大、商用、隐私敏感应自建,并自己承担模型与合规。
  • 社区后端按协议兼容,不是 xiaozhi.me 生产代码原仓。
  • 板型矩阵在变,以仓库当前 README 和发布固件为准。
  • MCP 能控灯、电机,仍要你自己接线和安全隔离,固件不是整屋中枢。

参考

https://github.com/78/xiaozhi-esp32

https://xiaozhi.me

https://github.com/espressif/esp-sr

https://github.com/78/xiaozhi-esp32/blob/main/docs/websocket_zh.md

https://github.com/78/xiaozhi-esp32/blob/main/docs/mqtt-udp_zh.md

https://github.com/78/xiaozhi-esp32/blob/main/docs/mcp-usage_zh.md

https://github.com/xinnan-tech/xiaozhi-esp32-server

https://ccnphfhqs21z.feishu.cn/wiki/Zpz4wXBtdimBrLk25WdcXzxcnNS

相关推荐
枯木◊靠推文躺平版1 小时前
2026 企业级 AI 办公平台选型指南:如何评估可落地的办公 AI 能力
大数据·人工智能
空奈qwq1 小时前
ANN 全连接神经网络进阶:从反向传播到完整实战
人工智能·深度学习·神经网络
Dawson Zhu1 小时前
《Agentic Design Patterns》第 4 章导读:反思(Reflection)
人工智能·语言模型·架构·aigc·agi
llqbzllll2 小时前
Spring AI 工具调用不是反射一下就结束:用 2.0.1 跑通失败恢复与调用上限
人工智能·后端
北冥有鱼被烹2 小时前
砷化镓与磷化铟:光模块的地基——从化学键到AI缺货潮的底层逻辑
人工智能·python
xiaohaiAIgeo2 小时前
【2026年】通风柜合规检查清单:安全评估打分项解析
人工智能·安全·科普知识
回眸&啤酒鸭2 小时前
【回眸】Space-Bunny-Alpha 智能场景应用实战指南
人工智能
CVer儿2 小时前
基于文本提示 视觉提示的主流模型
人工智能·自然语言处理·知识图谱
看浪的路人2 小时前
第6讲:敏感数据检测与脱敏
人工智能·深度学习