一、功能介绍
小智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) 关键模块原理图设计
主控模块接线图
音频放大模块接线图
麦克风模块和LCD显示屏接线图
(2) 电源设计规范
模块 | 供电电压 |
---|---|
ESP32 | 5V→3.3V |
ASRPRO-01 | 5V |
LCD、MAX98357A、INMP441 | 3.3V |
4.PCB设计
将零知ESP32通过PCB布线连接到各个模块组成扩展板
5.扩展板实物图
三、软件配置
1、环境搭建
使用VScode搭建ESP-IDF开发环境,具体操作可参考以下文章:
VScode下玩转ESP32S3并成功编译XIAOZHI-ESP32-MAIN代码_xiaozhi-esp32 编译-CSDN博客
VSCode ESP-IDF 项目搭建及配置_vscode esp-idf-CSDN博客
(1)导入github上项目源码并解压到自定义的目录下
ESP32驱动小智AI仓库源码
https://github.com/78/xiaozhi-esp32
(2)VScode打开项目工程并配置编译信息
配置Serial flasher config、Partition Table
配置开发板和LCD类型
(3)根据之前的原理图设计配置config.h扩展板对应的引脚
2、 程序编译并上传
idf.py fullclean#将build目录删除,点击编译并上传代码
3、天问Block代码编写和烧录
(1) 识别唤醒词通过PA2输出低脉冲驱动唤醒AI
(2)点击生成模型,选择端口并通过2M编译下载到ASRPRO
四、固件烧录
1、.bin文件合并生成烧录固件
(1)打开PowerShell下的ESP-IDF 5.3,查看编译后build目录存放的路径并修改以下代码
E:ProgramFilesEspressifxiaozhi-esp32-main-1 路径修改为你自己定义的
命令行编译的代码:
esptool.py --chip esp32 merge_bin -o E:ProgramFilesEspressifxiaozhi-esp32-main-1buildlzesp32_xiaozi.bin 0x1000 E:ProgramFilesEspressifxiaozhi-esp32-main-1buildbootloaderbootloader.bin 0x8000 E:ProgramFilesEspressifxiaozhi-esp32-main-1buildpartition_tablepartition-table.bin 0xd000 E:ProgramFilesEspressifxiaozhi-esp32-main-1buildota_data_initial.bin 0x100000 E:ProgramFilesEspressifxiaozhi-esp32-main-1buildxiaozhi.bin
(2)通过PowerShell烧录生成的lzesp32_xiaozi.bin固件
选择端口和波特率编译相对路径下的固件
esptool.py --port COM13 --baud 921600 write_flash 0x0 E:ProgramFilesEspressifxiaozhi-esp32-main-1buildlzesp32_xiaozi.bin
2、flash_download_tool烧录工具
(1) flash工具下载地址:
flash烧录工具 https://dl.espressif.com/public/flash_download_tool.zip
(2)选择输出的bin文件并确认起始地址为0x0
选择SPI的频率和模式,确定具体连接的串口号和上传的波特率,ERASE擦除芯片然后START开始上传。(可能出现上传错误,尝试修改波特率和端口号)
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
关注
1801文章
48218浏览量
243030免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com