2026年立创ESP32-AI语音助手:集成讯飞/豆包/通义千问大模型的智能对话终端开发实战

立创ESP32-AI语音助手:集成讯飞/豆包/通义千问大模型的智能对话终端开发实战大家好 我是老李 一个在嵌入式领域摸爬滚打多年的工程师 最近用 ESP32 做了一个挺有意思的玩意儿 一个能听懂人话 还能跟你聊天的 AI 语音助手 它不仅能接入讯飞星火 豆包 通义千问这些主流大模型 还能播放音乐 控制灯光 功能相当完整 今天我就把这个项目的开发过程 从硬件选型到代码烧录

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



大家好,我是老李,一个在嵌入式领域摸爬滚打多年的工程师。最近用ESP32做了一个挺有意思的玩意儿——一个能听懂人话、还能跟你聊天的AI语音助手。它不仅能接入讯飞星火、豆包、通义千问这些主流大模型,还能播放音乐、控制灯光,功能相当完整。今天我就把这个项目的开发过程,从硬件选型到代码烧录,手把手地分享给大家,希望能帮你少走些弯路。

这个项目特别适合想入门AIoT(人工智能物联网)的朋友。你不需要有很强的AI背景,只要跟着步骤走,就能亲手打造一个属于自己的智能语音终端。咱们先从整体上看看它都能干些啥。

这个ESP32语音助手可不是个简单的“复读机”,它集成了好几个实用的功能模块,咱们一个个来看。

1.1 智能语音唤醒与连续对话

设备一上电连上网,就进入待命状态,时刻“竖着耳朵”听你的唤醒词。唤醒词可以在代码里自定义,比如你可以改成“嘿,小爱”或者“小度小度”。唤醒之后,你就可以跟它连续聊天了。它通过一个叫INMP441的全向麦克风收音,把你说的话送到科大讯飞的语音转文字(STT)服务,变成文字后,再扔给大模型去“思考”怎么回答,最后用百度的文字转语音(TTS)服务把答案“说”出来。整个过程,即使没有屏幕,对话也能流畅进行。

注意:讯飞的STT服务是按调用次数或时长收费的。如果长时间不用,建议关掉设备电源,别让它一直待机“偷听”,以免产生不必要的费用。

1.2 便捷的网络与音乐管理

联网是智能设备的基础。这个项目把联网做得挺人性化。启动时,LED会闪烁,屏幕显示连接状态。如果连不上网,ESP32会自己开启一个叫“ESP32-Setup”的Wi-Fi热点。你用手机或电脑连上这个热点,然后访问一个特定的IP地址(通常是192.168.4.1),就能打开一个配置网页。

在这个网页里,你可以:

  • 输入新的Wi-Fi账号密码并保存。
  • 查看或删除已经保存过的网络信息。

音乐播放功能也挺好玩,它接入了网易云音乐的服务器(非VIP歌曲)。有意思的是,就算断网了,你也能通过上面说的那个配置网页来添加或删除你想听的歌曲信息。网页上可以添加、修改、删除音乐,也能列出所有保存的歌。

提示:添加音乐时,歌名别起太长,也尽量别用英文,不然语音识别可能找不准。另外,有些歌在播放时可能会让设备重启,这可能是音乐源服务器的问题,不是咱们代码的锅。

1.3 丰富的语音控制与交互

除了聊天,你还能用语音控制它:

  • 调节音量和灯光:在AI说话的时候,按下启动键(通常连接在某个GPIO上的按键),然后说“调大音量”或者“打开/关闭LED”,它就会照做,并且不会打断当前的对话。
  • 控制音乐播放:播放音乐时,按下启动键说“暂停播放”或“恢复播放”。
  • 切换AI大脑:聊着天,你可以说“切换模型”,它就能在豆包、讯飞星火、通义千问这几个大模型之间来回切换,体验不同“性格”的AI。
  • 信息可视化:项目外接了一块1.8英寸的RGB TFT屏幕,对话内容、网络状态等信息都能实时显示,交互体验更直观。

工欲善其事,必先利其器。咱们来看看做这个项目需要哪些硬件。核心就是一块ESP32开发板,它负责所有的计算、联网和逻辑控制。

核心硬件清单:

组件 型号/说明 主要作用 主控芯片 ESP32(如ESP32-WROOM-32) 核心大脑,负责联网、处理音频、驱动屏幕、运行逻辑代码 麦克风模块 INMP441(数字I2S接口) 高精度、全向收音,将你的声音转换成数字信号送给ESP32 音频输出 MAX98357 I2S功放模块 + 喇叭 将ESP32处理后的数字音频信号放大,驱动喇叭发声 显示屏幕 1.8英寸 RGB TFT (ST7735S驱动芯片) 显示对话文本、状态信息,提供视觉反馈 按键 轻触开关 用作启动/唤醒键,或功能切换键 LED灯 普通LED灯珠 用于状态指示,如网络连接状态

这些模块和ESP32之间的连接,主要是通过I2C、I2S、SPI这些标准接口。接线的时候一定要对照模块的引脚说明和ESP32的引脚定义来,特别是电源别接错了。项目原作者提供了详细的接线图,在部署代码前最好先确认一遍。

硬件准备好了,接下来就是让代码跑起来。这里咱们用VSCode + PlatformIO这个组合,对嵌入式开发来说非常方便。

3.1 第一步:安装开发环境

  1. 安装VSCode:去Visual Studio Code官网下载安装。
  2. 安装PlatformIO插件:在VSCode的扩展商店里搜索“PlatformIO IDE”,安装它。这个插件集成了编译器、烧录工具、库管理,几乎包办了一切。
  3. 安装ESP32驱动:根据你的ESP32开发板型号(比如用的是CH340还是CP2102芯片),去官网下载对应的USB转串口驱动并安装,这样电脑才能识别你的设备。

3.2 第二步:获取并准备项目代码

  1. 克隆项目:在命令行或者用Git工具,把项目代码克隆到本地。
    git clone https://github.com/Explorerlowi/ESP32_AI_LLM.git 
  2. 用VSCode打开项目:打开VSCode,选择“打开文件夹”,找到你刚克隆下来的ESP32_AI_LLM文件夹。
  3. 等待依赖库下载:PlatformIO会自动解析项目配置文件,下载需要的第三方库(比如TFT屏幕驱动、音频处理库等)。留意VSCode右下角的状态栏,会有下载进度。如果下载很慢或失败,可能是因为网络问题,可能需要检查网络设置。

    提示:依赖库下载是自动的,但有时会因为网络问题卡住。如果遇到,可以尝试重启VSCode,或者检查一下网络环境。

  4. 关键一步:配置屏幕驱动: 找到项目目录下的 .piolibdepsꈂ_wroomTFT_eSPI 这个路径(注意,upesy_wroom可能因你的开发板环境名不同而略有差异)。 将这个路径下的 User_Setup.h 文件删除。 然后将项目根目录下的 User_Setup.h 文件剪切,并粘贴到刚才的 .piolibdepsꈂ_wroomTFT_eSPI 路径下。 这一步非常重要!因为根目录下的这个文件是原作者根据我们使用的1.8寸ST7735屏幕预先配置好的,直接替换才能保证屏幕正常显示。

3.3 第三步:配置AI服务参数

现在要告诉ESP32,怎么去访问那些强大的AI服务。打开项目根目录下的 main.cpp 文件,找到需要填写参数的地方。

配置讯飞星火大模型: 你需要去科大讯飞开放平台注册账号,创建一个语音交互应用,获取以下信息:

GPT plus 代充 只需 145// 在 main.cpp 中找到类似下面的位置,填入你的信息 const char* xf_app_id = "你的APPID"; const char* xf_api_key = "你的APIKey"; const char* xf_api_secret = "你的APISecret"; 

(可选)配置豆包大模型: 如果你也想用豆包模型,需要去火山引擎开通相关服务,获取API Key。

// 同样在 main.cpp 中寻找对应位置 const char* doubao_api_key = "你的豆包API Key"; 

通义千问等模型的配置方式类似,在代码中都有对应的位置,按注释填写即可。

所有配置都填好后,就可以开始最后的步骤了。

  1. 连接硬件:用USB线将ESP32开发板连接到电脑。确保所有外围模块(麦克风、屏幕、功放)都已正确连接。
  2. 选择开发板:在VSCode底部状态栏,点击PlatformIO的快捷图标(一个小房子的标志),确保当前环境选择了正确的ESP32开发板型号(例如esp32dev)。
  3. 编译代码:点击左侧PlatformIO图标,在PROJECT TASKS里找到你的开发板环境,展开后点击Build。如果一切配置正确,编译会成功,没有错误。
  4. 烧录程序:编译成功后,在同一个PROJECT TASKS下,点击Upload。PlatformIO会自动将编译好的固件烧录到ESP32中。烧录时,你可能需要手动按一下ESP32板子上的BOOTEN键来进入下载模式,具体看你的板子说明。
  5. 上电测试
    • 烧录完成后,设备会自动重启。第一次启动,它会尝试连接你之前配置的Wi-Fi(如果代码里预写了的话)。
    • 观察屏幕和LED指示灯。如果连接失败,LED可能会闪烁,屏幕提示连接失败。此时,ESP32会进入AP模式。
    • 打开手机的Wi-Fi设置,寻找一个名为 ESP32-Setup 的热点,连接它。
    • 打开手机浏览器,访问 http://192.168.4.1,你应该能看到网络配置页面。在这里输入你家可用的Wi-Fi名称和密码,保存。
    • 设备会重启并尝试连接新网络。连接成功后,就可以尝试说唤醒词开始对话了!

第一次运行可能会遇到一些小问题,比如屏幕不亮、没声音。别急,这很正常。重点检查:屏幕驱动文件User_Setup.h是否替换对了地方;麦克风和喇叭的接线(特别是I2S的时钟、数据线)是否牢固;AI服务的密钥有没有填错。多试几次,按照日志提示(可以通过串口监视器查看)一步步排查,你一定能让它“开口说话”。

小讯
上一篇 2026-03-21 08:06
下一篇 2026-03-21 08:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/240639.html