跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

ESP32-S3结合百度文心一言大模型打造智能语音助手(从零实现自定义唤醒词与多API集成)

1\. 项目概述:从零打造智能语音助手的完整方案 大家好,今天我要分享一个超实用的AI语音助手项目——用ESP32-S3结合百度文心一言大模型打造智能语音助手。这个项目特别适合想要入门AIoT开发的爱好者,无论你是学生、创客还是嵌入式开发者,都能从中获得实实在在的收获。 我实际测试过整套方案,效果真的很惊艳!ESP32-S3作为主控芯片,搭配INMP441麦克风和MAX98357音频放大器,再加上…

灵魂摆渡发布于 2026/4/7更新于 2026/7/2077K 浏览

1. 项目概述:从零打造智能语音助手的完整方案

大家好,今天我要分享一个超实用的AI语音助手项目——用ESP32-S3结合百度文心一言大模型打造智能语音助手。这个项目特别适合想要入门AIoT开发的爱好者,无论你是学生、创客还是嵌入式开发者,都能从中获得实实在在的收获。

我实际测试过整套方案,效果真的很惊艳!ESP32-S3作为主控芯片,搭配INMP441麦克风和MAX98357音频放大器,再加上百度提供的语音识别、语音合成和大模型服务,就能实现一个完整的语音交互系统。最棒的是,这个项目支持自定义唤醒词训练,你可以训练属于自己的专属唤醒词,比如"小爱同学"、"天猫精灵"这样的唤醒词都可以自定义。

整个项目涵盖了硬件连接、软件配置、API调用和模型训练等多个环节。我会手把手带你走完每个步骤,包括如何搭建开发环境、如何连接硬件、如何调用百度AI服务,以及如何训练自己的唤醒词模型。即使你是零基础的新手,跟着我的步骤也能顺利完成。

2. 开发环境搭建与配置

2.1 Arduino IDE安装与配置

首先我们需要安装Arduino IDE,这是开发ESP32-S3的主要工具。我建议直接从Arduino官网下载最新版本,安装过程很简单,一路点击"下一步"就可以了。安装完成后,记得把界面语言设置为中文,这样用起来更顺手。

打开Arduino IDE后,我们需要安装ESP32-S3的开发板支持包。点击"文件"->"首选项",在"附加开发板管理器网址"中添加这个链接:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package\_esp32\_dev\_index.json

然后打开"工具"->"开发板"->"开发板管理器",搜索"esp32",选择版本2.0.17(这个版本比较稳定),点击安装。如果网络不好导致安装失败,可以尝试多次点击安装,或者使用离线安装包。

我实际安装时发现在线安装有时候会比较慢,所以准备了离线安装方案。你可以从百度网盘下载安装包(链接: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库",选择下载好的ZIP文件即可。

我在安装过程中发现,库文件的版本兼容性很重要。如果使用不兼容的版本,可能会导致编译错误。所以建议严格按照项目要求的版本进行安装。

3. 硬件准备与连接指南

3.1 所需硬件组件清单

要完成这个项目,你需要准备以下硬件组件:

核心开发板: ESP32-S3-N16R8开发板,这是项目的主控芯片,负责处理所有的逻辑控制和数据通信。我推荐使用这款开发板是因为它性能足够强大,而且兼容性很好。

音频模块: 推荐使用集成音频板,它包含了INMP441麦克风、MAX98357音频放大器和喇叭,可以直接通过排母扣接在ESP32-S3开发板上,避免了繁琐的杜邦线连接。如果你喜欢自己动手,也可以分别购买这些模块然后用杜邦线连接。

SD卡模块(用于唤醒词训练): 包括microSD卡(容量小于32GB)、读卡器和microSD SPI接口模块。SD卡需要格式化为FAT32格式,这个在电脑上很容易操作。

我在选择硬件时踩过一些坑,比如最初用了高速大容量SD卡,反而出现了兼容性问题。后来换成了低速小容量SD卡(128MB就够用),问题就解决了。所以建议大家也选择容量小于2GB的低速卡。

3.2 硬件连接详解

音频模块连接: INMP441麦克风与ESP32-S3的连接:

  • SCK(BCLK)接GPIO4
  • WS(LRC)接GPIO5
  • SD(DIN)接GPIO6
  • VCC接3.3V
  • GND接GND

MAX98357与ESP32-S3的连接:

  • BCLK接GPIO15
  • LRCLK接GPIO16
  • DIN接GPIO7
  • VCC接3.3V
  • GND接GND

喇叭的"+"连接到MAX98357的OUTP,"-"连接到OUTN。

SD卡模块连接:

  • CS接GPIO10
  • MISO接GPIO13
  • MOSI接GPIO11
  • SCK接GPIO12
  • VCC接5V(重要:接3.3V可能会不稳定)
  • GND接GND

我在连接VCC时发现,如果接3.3V,SD卡访问经常失败,改成接5V后就稳定了。这是因为这个microSD模块自身支持电平转换到3.3V。

4. 基础功能测试与调试

4.1 第一个示例程序:Blink测试

让我们从最简单的Blink程序开始,熟悉Arduino的开发流程。打开Arduino IDE,选择"文件"->"示例"->"Basics"->"Blink",这样就创建了一个让LED闪烁的示例工程。

接下来需要选择开发板和端口。点击工具栏上的开发板选择栏,选择"ESP32S3 Dev Module",端口选择USB连接后出现的串口号(可以在设备管理器中查看)。

编译代码点击左上角的对勾图标,下载程序需要先让ESP32-S3进入下载模式:按住BOOT键不松手,然后短按一下RST键后松手,最后松开BOOT键。这时候点击左上角的箭头图标开始下载程序。

下载完成后,你会看到板载LED开始闪烁,这说明我们的开发环境搭建成功了!你可以在代码中添加串口打印功能,方便调试:

void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); Serial.println("blink test"); } 
4.2 音频录制与播放测试

音频功能测试很重要,我们需要确保麦克风和喇叭都能正常工作。测试工程在esp32s3-ai-chat/example/audio_player目录下。

这个测试程序实现了音频的环回功能:从麦克风采集音频,然后直接通过喇叭播放出来。如果硬件连接正确,你对着麦克风说话,就能从喇叭听到自己的声音。

如果听不到声音,可以通过串口监视器来调试。我推

目录

  1. 1\. 项目概述:从零打造智能语音助手的完整方案
  2. 2\. 开发环境搭建与配置
  3. 2.1 Arduino IDE安装与配置
  4. 2.2 必要的库文件安装
  5. 3\. 硬件准备与连接指南
  6. 3.1 所需硬件组件清单
  7. 3.2 硬件连接详解
  8. 4\. 基础功能测试与调试
  9. 4.1 第一个示例程序:Blink测试
  10. 4.2 音频录制与播放测试
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 Web Unlocker 与 n8n 的自动化资讯采集推送系统
  • Spring Boot 远程调试配置方法
  • Python Web 开发:Flask 框架核心概念与实战
  • Java 基本语法
  • 2025 开源供应链投毒分析技术报告
  • JWT 安全机制与最佳实践指南
  • C/C++ 自定义类型:结构体
  • Linux 线程控制详解:资源管理与实战操作
  • 哈希表核心实现:开放定址法与链地址法详解
  • 前端开发:善用组件库,拒绝重复造轮子
  • LLaMA-Factory 微调 DeepSeek-R1 模型入门教程
  • Go Channel 深入解析:从语义到 Runtime 实现
  • C++ 哈希表封装:模拟实现 unordered_map 与 unordered_set
  • Spring Boot + jQuery 前后端联调笔记
  • Python 爬虫入门与实战指南
  • C++ 二叉搜索树原理与增删查操作实现
  • HashCalculator 文件哈希批量计算工具使用指南
  • 2026 年 Web 前端开发 8 大趋势
  • 智能家居数据可视化:5 个维度构建专业级 Home Assistant 仪表板
  • 17 款常用跨浏览器测试工具汇总

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online