一、功能介紹
小智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%C2%A0
(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文章
48230瀏覽量
243206 -
開發板
+關注
關注
25文章
5264瀏覽量
99788 -
語音交互
+關注
關注
3文章
298瀏覽量
28279 -
ESP32
+關注
關注
18文章
991瀏覽量
18217
發布評論請先 登錄
相關推薦
評論