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

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目录下。

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

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

Read more

前端国际化:让你的网站走向世界

前端国际化:让你的网站走向世界 毒舌时刻 前端国际化?这不是大公司才需要的吗? "我的网站只面向国内用户,要什么国际化?"——结果业务拓展到海外,临时抱佛脚, "我直接用中文写死,多简单!"——结果需要支持英文时,满世界找字符串, "我用Google翻译,多快!"——结果翻译质量差,用户体验差。 醒醒吧,国际化不是可选的,而是现代前端开发的标配! 为什么你需要这个? * 全球用户覆盖:吸引来自不同国家和地区的用户 * 业务拓展:为未来的海外业务做准备 * 用户体验:让用户使用自己熟悉的语言 * 品牌形象:展现专业、全球化的品牌形象 反面教材 // 反面教材:硬编码字符串 function Header() { return ( <div className="header"> <

前端八股文面经大全:字节跳动音视频前端一面·上(2026-03-03)·面经深度解析

前端八股文面经大全:字节跳动音视频前端一面·上(2026-03-03)·面经深度解析

前言 大家好,我是木斯佳。 相信很多人都感受到了,在AI浪潮的席卷之下,前端领域的门槛在变高,纯粹的“增删改查”岗位正在肉眼可见地减少。曾经热闹非凡的面经分享,如今也沉寂了许多。但我们都知道,市场的潮水退去,留下的才是真正在踏实准备、努力沉淀的人。学习的需求,从未消失,只是变得更加务实和深入。 这个专栏的初衷很简单:拒绝过时的、流水线式的PDF引流贴,专注于收集和整理当下最新、最真实的前端面试资料。我会在每一份面经和八股文的基础上,尝试从面试官的角度去拆解问题背后的逻辑,而不仅仅是提供一份静态的背诵答案。无论你是校招还是社招,目标是中大厂还是新兴团队,只要是真实发生、有价值的面试经历,我都会在这个专栏里为你沉淀下来。 温馨提示:市面上的面经鱼龙混杂,甄别真伪、把握时效,是我们对抗内卷最有效的武器。 面经原文内容 📍面试公司:字节跳动 🕐面试时间:3月3日 💻面试岗位:音视频前端(春招) ❓面试问题: 1. 自我介绍 2. 用了哪些方法使FCP渲染耗时缩短近1s 3.

Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器

Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器 当 Claude Code 成为日常开发标配,如何更高效地管理会话历史、分析对话流程就成了开发者的新需求。Claude Code Viewer 应运而生——一个功能完备的 Web 端 Claude Code 客户端。 背景介绍 Claude Code 是 Anthropic 推出的 AI 编程助手,但其原生的会话管理能力相对基础。大多数开发者面临以下痛点: * 会话历史难以追溯和检索 * 无法在移动设备上方便地查看会话 * 多人协作时难以共享会话内容 * 缺乏对会话流程的全局视角 Claude Code Viewer 正是为解决这些问题而生的开源项目。它采用 Web 架构设计,专注于会话日志的完整分析,通过严格的数据校验和渐进式展示 UI,让每一个对话细节都清晰可见。

DeepAudit 实战:AI 自动化代码审计全流程教程

DeepAudit 实战:AI 自动化代码审计全流程教程

文章目录 * 前言 * 一、传统审计痛点与DeepAudit核心优势 * 1.1 传统审计的核心痛点 * 1.2 DeepAudit 核心优势 * 二、官网简介 * 三、工具部署 * 3.1 部署前提 * 3.2 本地部署(国内加速版) * 3.3 访问与登录 * 3.4 初始配置(模型与API Key配置) * 四、项目审计 * 4.1 上传项目代码 * 4.2 审计规则配置 * 4.3 启动审计与查看结果 * 4.4 导出审计报告 * 五、总结 ⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。