1. 项目概述:把语音交互先跑通
这个项目的目标很明确:用 ESP32-S3 做主控,接上麦克风、喇叭,再把百度的语音识别、语音合成和文心一言接进去,做一个能说话、能听懂、还能回应的语音助手。
我自己更看重的是它的完整度。它不是单纯演示'能连上云服务',而是把硬件、开发环境、API 调用和唤醒词训练串成了一条能落地的链路。对想入门 AIoT 的人来说,这种项目比只看概念更有价值,因为你会真的碰到驱动、编译、库兼容和音频链路这些问题。
项目里会用到自定义唤醒词训练。这个功能很实用,也最容易卡住。训练出来的词可以换成你自己的口令,不必局限在固定唤醒词上;但它对麦克风、SD 卡和模型文件的要求也更严格,后面硬件选型和连接方式要跟着一起看。
2. 开发环境搭建与配置
2.1 Arduino IDE 安装与 ESP32-S3 支持包
先装 Arduino IDE,版本不用追新,能稳定用就行。装完后把界面语言切到中文,后面找菜单会省很多事。
打开 Arduino IDE 后,到'文件'->'首选项',在'附加开发板管理器网址'里加入这个地址:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
然后去'工具'->'开发板'->'开发板管理器',搜索 esp32,安装 2.0.17 版本。这个版本在 ESP32-S3 上相对稳,没必要一上来就追最新版,省得踩兼容性坑。
如果在线安装卡住,可以直接用离线包。下载地址是:https://pan.baidu.com/s/1Qruk23AAyqvJd3AS16LRrA 提取码:tz3n。解压到 Arduino 的 packages 目录下,路径一般是:C:\Users\你的用户名\AppData\Local\Arduino15\packages。AppData 是隐藏目录,记得先把隐藏文件显示出来。
2.2 依赖库安装
这个项目会用到几类库,安装方式不完全一样。
可以直接通过库管理器装的有:
- ArduinoJson:处理 JSON 数据
- base64:做 Base64 编解码
- UrlEncode:处理 URL 编码
安装路径是'项目'->'加载库'->'管理库',搜名字后直接装最新可用版本就行。
唤醒词检测库 wakeup_detect_houguoxiong_inferencing 需要手动导入,走'项目'->'加载库'->'添加.ZIP库'即可。
库版本这块别太随意。ESP32 工程最烦的不是代码写错,而是某个库版本和当前开发板包不合,最后编译器报一堆看不懂的错。能按项目要求来,就尽量别改。
3. 硬件准备与连接
3.1 硬件清单
需要的东西不复杂:
- ESP32-S3-N16R8 开发板:主控,负责逻辑和网络通信
- 音频模块:最好是集成板,带 INMP441 麦克风、MAX98357 功放和喇叭座,省掉很多杜邦线
- SD 卡模块:用于唤醒词训练,配 microSD 卡、读卡器和 SPI 接口模块
SD 卡这块我建议别贪大。最开始用高速大容量卡,结果兼容性很一般,后来换成小容量低速卡,反而稳定了。实际体验里,容量小于 2GB 的卡更省心,格式化成 FAT32 也更容易。
3.2 连接方式
INMP441 麦克风接 ESP32-S3:
- SCK(BCLK)接 GPIO4
- WS(LRC)接 GPIO5
- SD(DIN)接 GPIO6
- VCC 接 3.3V
- GND 接 GND
MAX98357 接 ESP32-S3:

