news 2026/9/8 21:07:46

xiaozhi-esp32 完整教程:把 AI 语音助手整条链路装进一块 ESP32

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
xiaozhi-esp32 完整教程:把 AI 语音助手整条链路装进一块 ESP32

xiaozhi-esp32 完整教程:把 AI 语音助手整条链路装进一块 ESP32

【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32

先看见成品:烧录完成后,设备是什么样

烧录完固件接上电,对着它说一声唤醒词,扬声器里传出短促的提示音——你问一句"今天天气怎么样",它马上接话,说到一半你插嘴,它也能停下来听你讲。这就是 xiaozhi-esp32 给你的体验:离线唤醒、流式语音识别、自然对话全部跑在一块 ESP32 小板上,大模型部分则通过 MCP 协议外挂,Qwen、DeepSeek 这些云端模型都能直接调用。

凭什么一块小板子能对话

xiaozhi-esp32 的设计有点"服务员"的意思:设备一启动,就把自己声明为一台 MCP 服务器,向云端递上菜单——调音量、改屏幕亮度、用摄像头拍张照,每一项都是 main/mcp_server.cc 里一条 AddTool 写出来的。大模型拿着这份菜单,在对话中"照单点菜":你说"把音量调大",模型就向设备端对应工具发起调用,硬件立刻执行。

菜单是双向的:云端那侧的能力——查天气、看新闻、控制智能家居——也挂在同一套 JSON-RPC 2.0 协议上,不必再学第二套规矩。协议全貌见 docs/mcp-protocol_zh.md。

传输层有两套现成实现,WebSocket 与 MQTT+UDP,代码在 main/protocols/;音频走 Opus 流式编解码,边收边播,硬件带 AEC 的还支持全双工实时对话——它说话时你可以随时插嘴打断。

最小可跑通配置

备料:硬件档位、代码与工具链

硬件按预算三档选,main/boards/ 下每个子目录就是一块板子的接线和引脚定义,目前已适配 171 个板级变体:

目标推荐硬件说明
最低成本试水面包板 + ESP32 + 麦克风 + 小喇叭接线参考 main/boards/bread-compact-esp32/
体验完整功能M5Stack CoreS3麦克风、喇叭、屏幕、按键齐全
触摸屏体验Waveshare ESP32-S3 Touch AMOLED 系列表情和 UI 展示效果好

拿代码、装环境:

git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 cd xiaozhi-esp32

主线代码基于 ESP-IDF v6.0.2,装同版本插件即可(VSCode、Cursor 都行,Linux 上编译更快)。可观测结果:工程里能看到main/docs/partitions/等完整目录。

一次性的配置:set-target 与 menuconfig 选板

idf.py set-target esp32 idf.py menuconfig

menuconfig 进入Xiaozhi Assistant -> Board Type,选中你的板子(面包板选"面包板 ESP32 DevKit")。这一步只需做一次,可观测结果:选中的板名被写进当前 sdkconfig。

烧录与联网:从 build 到唤醒激活

idf.py build && idf.py flash

可观测结果:串口监视器打出启动日志。完全的新手也可以跳过编译,直接烧录官方渠道的现成固件。开机后设备开热点(或走 BluFi),手机连上热点按向导填入 Wi-Fi 密码;激活完成后喊出唤醒词,听到提示音,对话就通了。

它适合谁玩:三类玩家各取所需

纯硬件新手:从桌面学习伙伴开始

把它放桌上就是学习伙伴:随时问问题、查资料、听外语例句。固件内置 38 种界面语言,见 main/assets/locales/,练口语时直接切到目标语言。手里有自己的板子也不怕:照 docs/custom-board_zh.md 在 main/boards/ 下新建目录,config.h里定义引脚,几十行代码就能把新板子接进来。

智能家居玩家:语音入口接进 Home Assistant

设备端 MCP 只管本地硬件,重活交给云端 MCP:问天气、查新闻、控制 Home Assistant 里的灯和空调,接入方法见 docs/mcp-usage_zh.md。

二开开发者:加工具、做表情、换协议

  • 加一个设备端工具:在 main/mcp_server.cc 里仿照self.audio_speaker.set_volume写一条 AddTool,大模型下次上线就能"看见"并调用它。
  • 做带屏幕的表情设备:OLED/LCD 板能显示对话表情和动画,适合桌面摆件或儿童互动玩具,显示层代码在 main/display/。
  • 换传输协议或自建后端:main/protocols/websocket_protocol.cc 与 main/protocols/mqtt_protocol.cc 是两套完整实现,私有化部署可参考社区 server 项目。

最常见的三个报错,问对问题就修好了

"我用 5.x 的老环境编译,为什么依赖组件直接报错?"

主线已经切到 ESP-IDF v6.0,v5.5 只留给个别老款板卡。解法:插件升级到 v6.0.2,再对照 docs/esp-idf-6-migration.md 查你这块板的验证状态。

"明明启用了 BluFi,设备怎么还是走热点配网?"

两者会打架:热点模式优先级更高,抢占了配网入口。解法:在 menuconfig 的WiFi Configuration Method里关掉 Hotspot 选项再重新编译,细节见 docs/blufi_zh.md。

"语音时灵时不灵,先查哪儿?"

先排除电源——用足功率的 USB 电源,别用笔记本共享口;再盯串口日志里有没有音频断流。不同场景的参数取向:

场景调什么怎么调
电池供电功耗缩短交互时间,空闲进深度睡眠
响应慢后端链路换 WebSocket 传输,选延迟低的模型
唤醒误触发唤醒词用官方工具重训一个更短的唤醒词

动手前过一遍:五步速查清单

  1. 克隆仓库:git clone https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32
  2. 安装 ESP-IDF v6.0.2 插件
  3. menuconfig 的Xiaozhi Assistant -> Board Type里选中你的板子
  4. idf.py build && idf.py flash
  5. 手机热点(或 BluFi)配网,喊唤醒词激活

卡住就先翻 docs/ 目录;板子适配查 docs/custom-board_zh.md,协议细节查 docs/mcp-protocol_zh.md。xiaozhi-esp32 的卖点说穿了就一句:让几十块钱的小板子把唤醒到对话的整段流程完整走通,AI 能力全靠 MCP 外挂。

【免费下载链接】xiaozhi-esp32An MCP-based chatbot | 一个基于MCP的聊天机器人项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 21:07:15

30岁决心转行,AI太香了

今天是一篇老学员的经历分享,此时的王同学在大洋彼岸即将毕业,手握多家北美大厂offer,一片明媚。谁能想到王同学的转码之路竟始于一场裁员,这场访谈拉开了他的回忆。 最近总刷到一些关于转行的话题,很多刚毕业的同学喜…

作者头像 李华
网站建设 2026/9/8 21:04:29

单元测试实战指南:从隔离原理到工具选型与Vue报错排查

1. 从"单元测试--"这个标题说起:先别急着写代码 我一直觉得,"单元测试"这四个字后面跟两个破折号,比跟一句完整的定义更有意思。它暗示了一种状态:单元测试这件事,做了,但没做完&#…

作者头像 李华
网站建设 2026/9/8 21:04:25

Claude Code架构解析:终端Agent的工作原理与配置实践

1. Claude Code 到底是什么:一个带状态机的终端 Agent1.1 它不是 IDE 插件,而是一套“会动手”的 CLI很多人第一次听说 Claude Code,以为它和 GitHub Copilot 一样,是某个编辑器里的代码补全插件。这种理解不算全错,但…

作者头像 李华
网站建设 2026/9/8 20:57:20

Ubuntu磁盘分卷实战:从分区布局到LVM扩容

前阵子帮一个朋友在他的笔记本上装 Ubuntu 双系统,他直接用安装向导里的“Install Ubuntu alongside Windows”一路点下去,结果装完没到两周就来跟我抱怨:根分区就 50GB,编译几个项目、Docker 镜像一拉,直接满了。我上…

作者头像 李华