
开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
本项目使用ESP32接入讯飞星火大模型、豆包大模型(流式调用)、通义千问大模型实现语音对话聊天功能,支持在线语音唤醒、连续对话、音乐播放等功能,同时外接显示屏实时显示对话的内容。
代码部分引用:叫她小仙女以冬
功能亮点
-
智能语音激活
设备一旦连接网络,便自动进入待命状态,实时监听并识别唤醒词汇。若长时间不使用,建议关闭电源以节省讯飞STT服务资源。唤醒词汇可在源代码的特定行进行自定义设置。
-
流畅语音交互
ESP32在联网后,您可以通过语音唤醒或按下启动键开始对话。设备搭载INMP441全向麦克风,捕捉语音后,通过科大讯飞的STT服务进行识别,并将结果发送至大模型以生成回答。最终,答案通过百度TTS服务转化为语音输出。即使没有屏幕,对话也能顺畅进行。
-
简易网络配置
设备通过读取ESP32存储的Wi-Fi信息自动连接网络。启动时,LED指示灯会闪烁,屏幕显示连接状态。若断网,ESP32将开启AP模式,创建名为ESP32-Setup的热点,您可以通过访问特定IP地址进行网络设置。
设置界面提供以下便捷操作:
- 输入Wi-Fi信息并保存,或删除已存储的网络信息。
- 列出所有存储的Wi-Fi配置。
-
音乐播放体验
通过访问网易云音乐服务器,您可以播放喜爱的音乐(不支持VIP音乐)。即使在断网状态下,您也能通过AP模式下的配置界面添加或删除音乐信息。
音乐配置界面支持:
- 添加或修改音乐信息。
- 删除特定音乐。
- 列出所有保存的音乐。
温馨提示:长音乐名可能无法完全识别,建议使用简短名称,并尽量避免使用英文,以提高识别准确率。注意,某些音乐可能会在播放中意外重启,这可能是源服务器的问题。
-
音量与灯光控制
您可以通过语音指令轻松调节音量或开关LED灯。在AI回应时,按下启动键并发出指令,设备将作出响应并继续之前的对话。
-
音乐播放控制
在音乐播放中,按下启动键并说出“暂停播放”或“恢复播放”指令,即可控制音乐的暂停与继续。
-
大模型选择
在与AI对话时,您可以通过说出“切换模型”指令,在豆包、星火、通义千问等大模型间自由切换。
-
屏幕显示
配备1.8英寸RGB_TFT屏幕,清晰展示对话内容及其它重要信息。
项目部署教程
- 下载vscode和platformIO插件
- 开通讯飞相关服务(可选:开通豆包大模型服务)
- 将项目克隆到本地,在vscode中打开整个文件夹,然后等待依赖库下载完毕(右下角的状态栏显示下载进度,下载不了就要挂梯子)
- 找到.pio\libdeps\upesy_wroom\TFT_eSPI路径下的User_Setup.h文件,删除它,然后将根目录下的User_Setup.h文件剪切粘贴过去
- 填写main.cpp中要求填写的讯飞账号参数(可选:填写豆包大模型的参数)
- 安装esp32的驱动
- 编译、烧录
演示图片
设计图

BOM


评论