【MolunSmartHome】試圖教會你編譯自己的小智固件

源碼下載
蝦哥小智源碼地址:[https://github.com/78/xiaozhi-esp32.git]

直接下載或者安裝git客戶端后命令拉取源碼
gh repo clone 78/xiaozhi-esp32
gh repo clone 78/xiaozhi-esp32
gh repo clone 78/xiaozhi-esp32git clone https://github.com/78/xiaozhi-esp32.git
選擇一種即可

環境配置

在VSCODE中打開文件夾,這里默認已經安裝好樂鑫IDF





連接好開發板后,依次選擇端口號,設置目標芯片,燒錄方式





根據硬件情況選擇,如果是通過串口芯片連接的ESP32S3就選擇UART,否則選擇JTAG

編譯配置
選擇SDK配置編輯器,對應命令
idf.py menuconfig
idf.py menuconfig
idf.py menuconfig

根據自己開發板情況進行以下修改

修改Flash size,因為我用的模組是ESP32-S3-WROOM-1-N4,即4M版本,沒有PSRAM。

修改Custom partition CSV file分區表
partitions.csv 修改為 partitions_4M.csv
partitions.csv 修改為 partitions_4M.csv
partitions.csv 修改為 partitions_4M.csv
自己部署后臺的可以修改這里,看到已有開源項目。

這里選擇對應的開發板,如果是自己DIY的,就選擇默認面包板wifi版本或者4G版本即可


貌似沒有PSRAM,就不能語音喚醒,關掉即可。

切換回源碼,進行IO口配置,如果按照蝦哥推薦的接線方式就不需要動這里。

配置展示
#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_
#include < driver/gpio.h >
#define AUDIO_INPUT_SAMPLE_RATE 16000
#define AUDIO_OUTPUT_SAMPLE_RATE 24000
// 如果使用 Duplex I2S 模式,請注釋下面一行
#define AUDIO_I2S_METHOD_SIMPLEX
#ifdef AUDIO_I2S_METHOD_SIMPLEX
#define AUDIO_I2S_MIC_GPIO_WS GPIO_NUM_5
#define AUDIO_I2S_MIC_GPIO_SCK GPIO_NUM_4
#define AUDIO_I2S_MIC_GPIO_DIN GPIO_NUM_6
#define AUDIO_I2S_SPK_GPIO_DOUT GPIO_NUM_7
#define AUDIO_I2S_SPK_GPIO_BCLK GPIO_NUM_15
#define AUDIO_I2S_SPK_GPIO_LRCK GPIO_NUM_16
#else
#define AUDIO_I2S_GPIO_WS GPIO_NUM_5
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_4
#define AUDIO_I2S_GPIO_DIN GPIO_NUM_6
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_7
#endif
#define BUILTIN_LED_GPIO GPIO_NUM_14
#define BOOT_BUTTON_GPIO GPIO_NUM_0
#define TOUCH_BUTTON_GPIO GPIO_NUM_21
#define VOLUME_UP_BUTTON_GPIO GPIO_NUM_NC
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_NC
#define DISPLAY_SDA_PIN GPIO_NUM_41
#define DISPLAY_SCL_PIN GPIO_NUM_42
#define DISPLAY_WIDTH 128
#define DISPLAY_HEIGHT 64
#define DISPLAY_MIRROR_X true
#define DISPLAY_MIRROR_Y true
#endif // _BOARD_CONFIG_H_
以上是我的項目配置


這里暫且不關閉試試,上次關閉編譯后使用正常。

這里選擇喚醒詞,樂鑫官方提供了一些,默認你好小智,還有諸如小愛同學、Hi樂鑫等,當然也可以付費定制優化自己的喚醒詞。
免費模組
“白嫖”模組,實際上就是別的廠商優化喚醒詞語料!

模組“白嫖”地址在這里,可別說我吃獨食。別忘記填寫邀請碼:RJBGBB



繼續往下翻找,或者搜索PSRAM,關閉PSRAM,如果你采用的是帶有PSRAM的模組如N8R2之類的,可能需要調整對應的通道


我這里選擇關閉PSRAM

固件編譯&燒錄

修改完畢之后保存生效,點擊構建燒錄

耐心等待ing




燒錄成功

至此,可以用手機連接模組熱點進行配網。我這里二次燒錄后盡然不需要配網,直接接入了。
首次燒錄后,配網完成會播報驗證碼,用于小智后臺綁定。
控制臺添加設備

[https://xiaozhi.me/console/devices]


可以設置備注名稱,方便區分不同的設備。

進行智能體配置

保存后重啟設備,開始體驗吧!
審核編輯 黃宇
-
源碼
+關注
關注
8文章
685瀏覽量
31317 -
編譯
+關注
關注
0文章
694瀏覽量
35155 -
esp32s3
+關注
關注
0文章
12瀏覽量
2275
發布評論請先 登錄
深入解析RK平臺編譯核心:build.sh的知識點、調試技巧與開發價值
Linux Swap交換空間詳解:Android編譯內存不足?這樣擴充立竿見影
【CIE全國RISC-V創新應用大賽】+MUSE Pi Pro RiscV UEFI固件開發
【道生物聯TKB-623評估板試用】SDK固件編譯
BEKEN BK7252芯片源碼編譯不過是什么原因?
【HZ-RK3568開發板免費體驗】基于SDK固件編譯
RTsmart源碼編譯錯誤,提醒我缺少文件導致make失敗,為什么?
使用rt-thread構建openmv的固件工程,出現編譯錯誤的原因?
【經驗分享】在Omni3576上編譯Redis-8.0.2源碼,并安裝及性能測試
【道生物聯TKB-620開發板試用】TK8620 RISC-V開發環境搭建和固件編譯和燒錄
KiCad直播活動(三):在 Windows上編譯KiCad 手把手教您編譯/構建 KiCad 源碼
MolunSmartHome蝦哥小智源碼編譯固件演示
評論