結(jié)合嵌入式系統(tǒng)和人工智能推理來創(chuàng)建一個(gè)端到端的會(huì)話助手
ESP32語音助手
步驟1:連接電路一旦你有了所有的部件,開始連接。參考以下原理圖:
記住:
?INMP441嚴(yán)格要求3v3 ONLY
?DAC輸出(GPIO 25)→LM386→揚(yáng)聲器
?TP4056通過5V輸出給ESP32供電
工作流程:
理解整個(gè)工作流程是很重要的:按鈕按-> ESP32開始錄制通過INMP441麥克風(fēng)。I2S音頻捕獲,16千赫的樣本在websocket實(shí)時(shí)流。AI處理(服務(wù)器)
?Whisper轉(zhuǎn)換音頻→文本
?Gemini 2.5 Flash生成上下文回復(fù)
?Piper轉(zhuǎn)換文本→自然語音
響應(yīng)回放,服務(wù)器將8位PCM塊流回ESP32用于DAC輸出。用戶聽到AI語音,LM386放大器驅(qū)動(dòng)揚(yáng)聲器。
步驟2:Flash代碼到ESP32
首先確保安裝了WebSocketsClient庫(kù)。對(duì)于Arduino IDE,您可以簡(jiǎn)單地下載zip文件并將庫(kù)安裝到IDE。
1. ESP32草圖
2. 秘密文件
你還需要一個(gè)secrets.h文件:
步驟3:AI后端設(shè)置(Python)
為此,我建議托管一個(gè)分配了靜態(tài)ip的AWS EC2實(shí)例?;蛘?,您可以在筆記本電腦上運(yùn)行本地服務(wù)器,并通過熱點(diǎn)連接ESP32。把這個(gè)后端看作是系統(tǒng)的大腦,因?yàn)樗械奶幚矶及l(fā)生在這里。在/server目錄下查找源代碼。下面是如何設(shè)置它:
1)安裝所有依賴項(xiàng):
或者使用Docker:
2)需要的環(huán)境變量和模型
?GEMINI_API_KEY
?你還需要一個(gè)風(fēng)笛手的聲音模型。使用以下命令下載它:
你也可以選擇其他型號(hào),在這里找到它們。
就這些!你的語音助手現(xiàn)在應(yīng)該回應(yīng)你的查詢,一旦你按下按鈕!
本文編譯自hackster.io





