背景
这几天发现了一个开源项目,利用esp32s3开发板和简单的元件搭建你的私人AI语音助手。恰好近期deepseek让AI又一次火出圈,于是决定动手搭一套,本文主要分享的是搭建教程以及效果展示,后续有时间了再在这之上继续改造🐶。
实物效果
这个项目的大致架构如下图所示,主要提供的功能:
- 配网+自动联网(第一次配置后上电自动连接wifi)
- 唤醒词识别 + VAD 说话检测
- 用户语音采集 + ASR录音转文本 + 大模型调用 + TTS文本转语音
- 声音播放 + 屏幕展示
总的来说就是一个可以对话的语音助手,聪明版的小爱同学。
搭好后的效果如下图(没想到时隔多年竟然又拿起面包板和杜邦线,忽略凌乱的走线)
材料及成本
搭建需要的材料清单(淘宝其实很多整理好的):
- 开发板 ESP32-S3-DevKitC-1
- 功放:MAX98357A
- 数字麦克风:INMP441
- 腔体喇叭:8Ω 2
3W 或 4Ω 23W - 导线:跳线一盒,杜邦线若干
- 400 孔面包板 2 块
- 128x32 I2C(IIC) 液晶显示屏,SSD1306 驱动
加起来总成本大概在70左右吧(开发板不溢价的话)
硬件接线
开源的项目有份官方教程
接线过程其实不复杂,毕竟也焊了四年板子🐶。
面包板是我们的底座,用来放置和连接各元件。
记住板子两边标+-的两列,整列是联通的,这一列任意一孔接了电源,那这一整列都能作为VCC接出去,另一列有一个孔接地,则整列都接地(或者啥都没接)。直接把这两列连起来再接入电源就短路了。
其他位置每行是联通的,这一行每个孔的电压是相同的。
然后按照上图接线,其中4G模块和外接开关不需要。
ESP32S3相当于一台微电脑,负责运算和输出,板子上的数字对应的引脚(即GPIO)可以输出对应的电信号(程序控制),通过导线接到其他元器件对应的引脚上即可驱动元器件。
板子上的3v3,GND即电源VCC和接地接口,可以引到面包板的+-列上,用于给其他元件供电。然后用数据线接USB/UART口给开发版供电。
INMP441麦克风引脚对应关系
MAX98357A功放引脚对应关系
显示屏I2C接口
搭好通电能亮屏基本就没啥问题了,官方教程里也有一些常见问题解答。
开发环境搭建
首先需要安装IDF开发框架,可以基于VsCode插件,安装也很简单
- ESP-IDF :ESP-IDF 是乐鑫官方的物联网开发框架,适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC- 教程
按照提示安装完成即可。
工程烧录
做好前置准备工作后,将开源代码烧录进去即可。 github地址
设置好开发板,点击左下角火焰的标志烧录工程。
烧录完成还需要进行配网和添加设备,然后即可开始和你的私人ai助手对话啦。
- 配网是为了让板子能连上wifi,连接服务器。
- 打开手机连接xiaozhi-esp32的wifi,然后等待跳转或者手机直接访问http://192.168.4.1/ 选择wifi并输入密码,设备会自动重启联网
- 目前开源项目里连接的官方提供的免费接口,可以选择大模型和助手声音等。
- 设备配网成功后,通过“你好,小智”唤醒,会播报设备码,通过电脑访问xiaozhi.me,注册并登录,输入设备码通过认证,即可访问官方提供的接口了。
- 可以参考这个链接进行配置。
结语
当前项目还只是直接使用开源的ai服务进行对话,后续打算通过本地部署大模型,开发板直接访问本地大模型进行交互,也能有更多拓展的功能。等后续有进展了再进一步分享。
对应的后端服务github地址
AI 概念已经火了一两年了,也还没有出现所谓的killer app,大家都在探索不同方向的ai应用,但ai硬件相关的资料和信息还是少很多的。相比起手机电脑,嵌入家电和硬件的AI感觉体验上还是会好很多的?