ESP32-S3小智AI制作教程

📅 2026/7/16 9:53:24
ESP32-S3小智AI制作教程
从零打造属于你的 AI 语音助手ESP32-S3 制作「小智 AI」保姆级教程本文将手把手教你使用 ESP32-S3 开发板 面包板复刻开源爆火项目小智 AIxiaozhi-esp32——一个可以语音唤醒、自由对话、接入 DeepSeek / Qwen 等大模型的桌面 AI 伙伴。全程照做即可复刻成功总成本约50~80 元。目录一、项目简介二、实现原理三、硬件清单BOM四、硬件接线五、方案 A免开发环境直接烧录官方固件推荐新手六、方案 B源码编译固件进阶玩家七、配网与设备激活八、控制台配置给小智换人设和大模型九、常见问题排查FAQ十、进阶玩法十一、资源汇总一、项目简介小智 AIxiaozhi-esp32是由开发者虾哥开源的 AI 语音聊天机器人项目GitHub 上已获得数万 Star社区极其活跃。它具备以下能力功能说明 离线语音唤醒默认唤醒词你好小智基于 ESP-SR️ 流式语音对话支持连续对话、可打断WebSocket 全双工 大模型接入云端可切换 DeepSeek、Qwen、豆包等大模型 多语言识别普通话、粤语、英语、日语等 声纹识别能分辨出是谁在和它说话 自定义人设在控制台自由设定角色性格、音色 屏幕显示可选OLED / LCD 显示表情与对话内容 IoT 控制通过 MCP 协议控制智能家居设备工作前提小智必须联网才能使用语音识别与大模型推理在云端完成无法完全离线运行。二、实现原理整体架构如下┌──────────────────────────────┐ │ 云端服务器 │ │ ASR(语音识别) → LLM(大模型) │ │ → TTS(语音合成) │ └────────────▲─────────────────┘ │ WebSocket (Opus 音频流) │ ┌─────────────┐ I2S ┌────────┴────────┐ I2S ┌──────────────┐ │ INMP441 ├────────►│ ESP32-S3 ├────────►│ MAX98357A │───► 喇叭 │ 数字麦克风 │ 录音 │ · 离线唤醒词 │ 播放 │ I2S 功放 │ └─────────────┘ │ · Opus 编解码 │ └──────────────┘ │ · WiFi 联网 │ └─────────────────┘流程说明ESP32-S3 本地运行离线唤醒词检测ESP-SR听到你好小智后开始工作INMP441 麦克风通过I2S 总线采集音频芯片将其编码为Opus格式音频流经WebSocket上传云端完成 ASR语音转文字→ LLM大模型生成回复→ TTS文字转语音云端将合成语音回传ESP32-S3 解码后通过 MAX98357A 功放驱动喇叭播放。这也是为什么开发板需要PSRAM唤醒词模型和音频缓冲都需要较大内存。三、硬件清单BOM序号组件推荐型号参考价格备注1开发板ESP32-S3-DevKitC-1N16R8 模组¥35~50Flash ≥ 8MB、PSRAM ≥ 2MB强烈推荐 N16R816MB Flash 8MB PSRAM2麦克风INMP441MEMS 数字麦克风模块¥3~5I2S 接口3功放MAX98357AI2S 音频放大模块¥5~83W D类功放4喇叭8Ω 2~3W 小喇叭腔体喇叭音质更好¥3~104Ω 3W 也可以5面包板400 孔面包板 ×1~2¥3—6杜邦线公对公 / 公对母若干¥3—7数据线Type-C 数据线—⚠️ 必须是能传数据的线不能用充电线8显示屏可选0.91 I2C OLEDSSD1306¥8显示表情和文字选购避坑提示买开发板时认准模组丝印ESP32-S3-WROOM-1 N16R8。有些便宜板子是 N8R2 甚至无 PSRAM 的 N4无 PSRAM 将无法使用语音唤醒。部分仿制板天线较差可能导致后续配网时手机搜不到热点尽量选带板载天线且做工好的。四、硬件接线以下为源码/官方面包板 WiFi 版固件的默认 GPIO 定义照着接即可无需改代码。4.1 INMP441 麦克风 → ESP32-S3INMP441 引脚接到 ESP32-S3说明VDD3.3V⚠️切勿接 5V切勿与 GND 接反否则烧毁麦克风GNDGND—SDGPIO 3音频数据输出WSGPIO 10字选择左右声道时钟SCKGPIO 11串行时钟L/RGND接地 左声道4.2 MAX98357A 功放 → ESP32-S3MAX98357A 引脚接到 ESP32-S3说明VIN3.3V 或 5V接 5V 音量更大GNDGND—DINGPIO 6音频数据输入BCLKGPIO 5位时钟LRCGPIO 4左右声道时钟GAINGND增益设置觉得音量太大可改接 3.3VSD3.3V使能引脚喇叭 / −接喇叭两根线螺丝端子或焊接4.3 OLED 显示屏可选OLED 引脚接到 ESP32-S3VCC3.3VGNDGNDSDAGPIO 41SCLGPIO 42⚠️接线三查① 电源正负极是否接反② 杜邦线是否插紧面包板接触不良是玄学问题之王③ 所有 GND 是否共地。如果你的接线与上表不同就必须走方案 B 源码编译并在配置中同步修改 GPIO。五、方案 A免开发环境直接烧录官方固件推荐新手不用装任何开发环境10 分钟搞定适合只想用起来的同学。5.1 下载固件前往项目 GitHub 仓库 78/xiaozhi-esp32 的Releases页面下载与你板子对应的固件包面包板方案选bread-compact-wifi类型的合并固件merged-binary.bin解压得到.bin文件。⚠️ 固件存放路径不要包含中文例如放在D:\xiaozhi\下。5.2 安装串口驱动用 Type-C 数据线连接开发板与电脑打开设备管理器 → 端口(COM 和 LPT)能看到USB-Enhanced-SERIAL CH343 (COMx)或Silicon Labs CP210x (COMx)→ 驱动正常记下 COM 号出现黄色感叹号 → 需安装CH340/CH343或CP210x驱动官网搜索下载安装即可。 ESP32-S3 板子通常有两个 Type-C 口优先插丝印为COM / UART的那个。5.3 使用乐鑫 Flash Download Tool 烧录到乐鑫官网下载 Flash Download Tool解压运行启动界面选择ChipType ESP32-S3WorkMode DevelopLoadMode UART主界面配置第一行勾选 ✔点...选择解压出来的merged-binary.bin右侧地址栏填0x0SPI SPEED80MHzSPI MODEDIOCOM选择刚才记下的端口BAUD921600失败就降到115200先点击ERASE擦除 Flash可选但推荐再点击START开始烧录进度条走完显示FINISH完成即烧录成功按一下板上RST键重启。如果一直显示正在连接…CONNECTING按住板上BOOT键不放 → 按一下RST键 → 松开 BOOT 键手动进入下载模式后再点 START。5.4 备选esptool 命令行烧录# 安装 esptoolpipinstallesptool# 擦除 FlashCOM 号换成你自己的python-mesptool--chipesp32s3--portCOM5 erase_flash# 烧录固件python-mesptool--chipesp32s3--portCOM5--baud921600write_flash 0x0 merged-binary.bin烧录完成后跳到 第七节配网与设备激活。六、方案 B源码编译固件进阶玩家想改 GPIO、换唤醒词、改人设逻辑甚至自建服务器就需要自己编译。6.1 搭建 ESP-IDF 开发环境安装VSCode在 VSCode 扩展市场安装ESP-IDF插件插件内选择安装 ESP-IDFv5.3 及以上版本EXPRESS 模式下载服务器选 Espressif 国内源更快等待工具链自动下载安装完成约 10~20 分钟。 Windows 用户也可以直接安装官方的 “ESP-IDF 5.3 PowerShell” 离线安装包LinuxUbuntu下编译速度更快且免驱动烦恼有条件推荐。6.2 拉取源码gitclone https://github.com/78/xiaozhi-esp32.gitcdxiaozhi-esp32网络不佳可在 GitHub 页面 Code → Download ZIP或使用国内镜像加速。6.3 设置目标芯片这一步不能省否则默认按普通 ESP32 编译会失败idf.py set-target esp32s36.4 menuconfig 配置idf.py menuconfig重点检查以下配置项方向键移动、回车进入、S保存、Q退出配置路径设置值Xiaozhi Assistant → Board Type面包板新版接线WiFi/ Breadboard Compact WiFiSerial flasher config → Flash size按实际模组选N16R8 选16MBPartition Table默认partitions.csv4MB Flash 才需换partitions_4M.csvComponent config → ESP PSRAM启用无 PSRAM 模组则关闭但会失去语音唤醒Xiaozhi Assistant → 唤醒词默认你好小智可换其他 ESP-SR 支持的唤醒词如果你的接线和第四节默认 GPIO 不同在源码main/boards/对应板子的config.h中修改引脚定义。6.5 编译、烧录、监视idf.py build# 编译首次约 5~15 分钟idf.py flash monitor# 烧录并打开串口监视器串口监视器中能看到启动日志看到 WiFi 配网提示即成功。退出监视器Ctrl ]七、配网与设备激活7.1 WiFi 配网首次启动或长按 BOOT 键重置网络后设备会开启热点播报进入配网模式手机 WiFi 列表中连接名为Xiaozhi-xxxxxx的热点浏览器访问http://192.168.4.1在页面中选择你家的 WiFi⚠️只支持 2.4GHz 频段5G 频段搜不到输入密码点击连接设备自动重启并联网成功。7.2 绑定设备到控制台对设备说“你好小智”唤醒它随便说句话它会播报一个6 位验证码屏幕版会直接显示电脑/手机浏览器访问官方控制台https://xiaozhi.me注册并登录账号进入控制台 → 添加设备输入刚才的 6 位验证码绑定成功后设备会自动刷新此时就可以正式对话了到这里你的小智 AI 已经完全可用了。试试对它说“你好小智给我讲个笑话。”八、控制台配置给小智换人设和大模型登录 xiaozhi.me 控制台点击你的设备进入配置页配置项玩法角色设定Prompt自由撰写人设例如你是一个毒舌但暖心的猫娘助手……角色音色多种 TTS 音色可选男声/女声/童声/方言等大模型选择可切换 Qwen、DeepSeek 等绑定 GitHub 账号可获得开发者权限免费解锁更多模型如 DeepSeek 满血版记忆功能开启后小智能记住你们的历史对话OTA 升级开启后固件自动保持最新无需重新烧录九、常见问题排查FAQ现象原因与解决办法电脑识别不到 COM 口① 换数据线充电线是重灾区② 装 CH340/CP210x 驱动③ 换 USB 口插板上 UART 那个口烧录一直 “CONNECTING…”按住 BOOT → 点按 RST → 松开 BOOT 进入下载模式波特率降到 115200烧录成功但无法启动/反复重启固件与板型不匹配先 ERASE 全片擦除再重烧检查供电换 USB 口或用带供电的 HUB手机搜不到 Xiaozhi 热点板子天线太差仿板通病靠近一点再搜长按 BOOT 重置网络配置配网页面找不到自家 WiFi路由器是 5GHz 频段——请连2.4GHz喊你好小智没反应① 检查 INMP441 六根线尤其 VDD/GND 是否接反② 无 PSRAM 的板子不支持唤醒③ 面包板接触不良重新插紧有对话但没声音检查 MAX98357A 的 SD 是否接 3.3V、喇叭线是否接好、DIN/BCLK/LRC 是否插错位声音太大/破音GAIN 引脚从 GND 改接 3.3V或在控制台调低音量想完全离线使用做不到ASR/LLM/TTS 都在云端必须联网编译报错 target 不对忘了执行idf.py set-target esp32s3十、进阶玩法加个 OLED/LCD 屏显示可爱表情、对话文字menuconfig 里换成带屏板型即可换唤醒词menuconfig → ESP Speech Recognition 中选择其他离线唤醒词自建服务器社区提供了开源的 xiaozhi-esp32-server 项目可以把 ASR/LLM/TTS 全部换成自己的 API如本地 Ollama彻底掌控数据MCP 控制智能家居通过 MCP 协议让小智帮你开灯、查天气、操作电脑打印外壳社区有大量 3D 打印外壳模型立创开源硬件平台、MakerWorld 搜小智把面包板变成精致桌搭换 4G 版本使用 ML307 Cat.1 模块让小智摆脱 WiFi 随身携带。十一、资源汇总官方开源仓库https://github.com/78/xiaozhi-esp32官方控制台https://xiaozhi.me官方常见问题 QA小智AI聊天机器人常见问题Windows ESP-IDF 编译官方教程Windows ESP IDF 5.3 编译小智微雪小智 AI 应用文档https://docs.waveshare.net/XiaoZhi_AI/乐鑫烧录工具下载Flash Download Tools写在最后小智 AI 是入门 AIoTAI 物联网最好的实战项目之一——五十块钱、一块面包板就能体验到语音唤醒 → 云端大模型 → 语音合成的完整链路。动手做出来的那一刻你会由衷感叹AI 硬件的门槛真的被打下来了。如果本文对你有帮助欢迎点赞、收藏、关注三连有问题请在评论区留言看到都会回复。本文基于 xiaozhi-esp32 开源项目撰写感谢虾哥及社区所有贡献者。