DIY及创意
直播中

零知实验室

7年用户 74经验值
擅长:嵌入式技术
私信 关注

零知开源——ESP32语音交互系统(AI小智)开发教程

一、功能介绍
引用: 小智AI聊天机器人是一个基于嵌入式硬件与人工智能技术深度融合的智能交互系统。该项目以ESP32开发板为核心,结合语音唤醒、自然语言处理、音频解码播放图形化交互界面四大核心模块,实现人机交互功能

二、扩展板设计1. 硬件清单
引用: 主控单元:零知ESP32(双核处理器,支持Wi-Fi/BLE,丰富外设接口)
语音输入:INMP441数字麦克风(I2S接口,高信噪比)
音频输出:MAX9857A Class D功放(驱动4Ω喇叭,输出功率3W)
交互界面:240x320 TFT_ST7789 LCD(SPI接口)
唤醒控制:ASRPRO-01模块(关键词检测,GPIO触发)

2.关键引脚连接模块    零知ESP32引脚           模块引脚   
    MAX9857A     
GPIO33
DIN  

GPIO14
BCLK

GPIO27
LRCK
      INMP441                  GPIO32                 SD      
          GPIO26              SCK      
           GPIO25               WS     
TFT_ST7789 LCD        GPIO15                SCL      
           GPIO4         SDA
           GPIO21       DC
           GPIO22       CS


      ASRPRO-01                   GPIO19                    PA2        


3.原理图设计(1) 关键模块原理图设计
24e40b22afed45a1a3ce394f8ab59960.png

主控模块接线图 49f0d2303cfa4deaaef4b03d2ae127b8.png

音频放大模块接线图

a14af638a8ba46b6a1df13d361bc2867.png

麦克风模块和LCD显示屏接线图
(2) 电源设计规范                      模块  供电电压
ESP325V→3.3V
ASRPRO-015V
LCD、MAX98357A、INMP4413.3V
4.PCB设计 将零知ESP32通过PCB布线连接到各个模块组成扩展板
6e33057461724400bb883cb236cb789f.png


5.扩展板实物图 eb7b3fd2b6ff47ae8390bee7852e0c26.jpeg



三、软件配置 1、环境搭建 使用VScode搭建ESP-IDF开发环境,具体操作可参考以下文章:
https://blog.csdn.net/CYMHWT/article/details/145661161?fromshare=blogdetail&sharetype=blogdetail&sharerId=145661161&sharerefer=PC&sharesource=lingzhilab&sharefrom=from_linkVScode下玩转ESP32S3并成功编译XIAOZHI-ESP32-MAIN代码_xiaozhi-esp32 编译-CSDN博客

https://blog.csdn.net/weixin_51358957/article/details/139325676?fromshare=blogdetail&sharetype=blogdetail&sharerId=139325676&sharerefer=PC&sharesource=lingzhilab&sharefrom=from_linkVSCode + ESP-IDF 项目搭建及配置_vscode esp-idf-CSDN博客


(1)导入github上项目源码并解压到自定义的目录下

ESP32驱动小智AI仓库源码
(2)VScode打开项目工程并配置编译信息

1.png

引用:  配置Serial flasher config、Partition Table

2.png

引用: 配置开发板和LCD类型

3.png

(3)根据之前的原理图设计配置config.h扩展板对应的引脚

2、 程序编译并上传
引用: idf.py fullclean        #将build目录删除,点击编译并上传代码

4.png

3、天问Block代码编写和烧录(1) 识别唤醒词通过PA2输出低脉冲驱动唤醒AI
52189b7473c247e98009361762f5f501.png
(2)点击生成模型,选择端口并通过2M编译下载到ASRPRO
6eee7a0f936447a5b464d3e4bae4dca8.png
四、固件烧录 1、.bin文件合并生成烧录固件
(1)打开PowerShell下的ESP-IDF 5.3,查看编译后build目录存放的路径并修改以下代码
引用: E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1 路径修改为你自己定义的
命令行下的代码:
  1. esptool.py --chip esp32 merge_bin -o E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1\build\lzesp32_xiaozi.bin 0x1000 E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1\build\bootloader\bootloader.bin 0x8000 E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1\build\partition_table\partition-table.bin 0xd000 E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1\build\ota_data_initial.bin 0x100000 E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1\build\xiaozhi.bin
(2)通过PowerShell烧录生成的lzesp32_xiaozi.bin固件

选择端口和波特率编译相对路径下的固件
  1. esptool.py --port COM13 --baud 921600 write_flash 0x0 E:\ProgramFiles\Espressif\xiaozhi-esp32-main-1\build\lzesp32_xiaozi.bin     
e4dcb833ece347719a82bb8ecb9820eb.png
2、flash_download_tool烧录工具
(1) flash工具下载地址:
https://dl.espressif.com/public/flash_download_tool.zip%C2%A0
(2)选择输出的bin文件并确认起始地址为0x0

选择SPI的频率和模式,确定具体连接的串口号和上传的波特率,ERASE擦除芯片然后START开始上传。(可能出现上传错误,尝试修改波特率和端口号)
e4f03bd286bb4d248e61b015c0cfd180.png
flash烧录详细教程:
https://ccnphfhqs21z.feishu.cn/wiki/Zpz4wXBtdimBrLk25WdcXzxcnNS


五、 功能展示b站视频演示:
https://www.bilibili.com/video/BV18VZcYKEL4?share_source=copy_web

六、项目资源汇总
引用:  6.1 烧录工具和固件
链接: https://pan.baidu.com/s/1D2pDvIOdCdcQsgoRbjnslg?pwd=bir5 提取码: bir5

6.2天问及VScode ESP-IDF项目源码
链接: https://pan.baidu.com/s/1HcAsEeGyS_E63BeRO1huzg?pwd=8g5w 提取码: 8g5w







更多回帖

发帖
×
20
完善资料,
赚取积分