如何使用CrowPanel ESP32-S3高級(jí)HMI顯示器來創(chuàng)建一個(gè)語音交互聊天機(jī)器人
有沒有想過自己的人工智能聊天機(jī)器人項(xiàng)目?現(xiàn)在你可以建造一個(gè)了!在本教程中,我們將使用CrowPanel ESP32-S3高級(jí)HMI顯示器來創(chuàng)建一個(gè)語音交互聊天機(jī)器人,它連接到Wi-Fi,通過WebSocket進(jìn)行通信,記錄和播放語音,甚至在屏幕上顯示實(shí)時(shí)狀態(tài)。讓我們把你的人工智能助手變?yōu)楝F(xiàn)實(shí)吧!
教程概述
本教程涵蓋:
1. 代碼解釋-理解工作流程。
2. 生成十六進(jìn)制圖像數(shù)據(jù)-用于顯示屏幕。
3. 獲取AI模型API -設(shè)置你的AI聊天機(jī)器人項(xiàng)目。
4. 演示-運(yùn)行完整的項(xiàng)目。
安裝和所需文件
打開教程文件夾,其中包含:
?庫-需要Arduino庫。
Sofrware版本
ESP32: 3.0.2
按鈕:1.0.0(這里的按鈕庫需要從庫管理器下載。)
Python: 3.10.6
●display-picture -圖像文件。
●lcd-imager-converter -圖像轉(zhuǎn)換工具。
?代碼-用于ESP32 AI項(xiàng)目和服務(wù)器的Arduino和Python文件。
安裝庫
打開Arduino并在代碼開頭檢查所需的庫。這些庫包含在下載的文件中,應(yīng)該放在正確的Arduino庫目錄中。
代碼瀏覽
1. 初始化組件
●Wi-Fi & WebSocket -設(shè)置Wi-Fi并通過指定IP地址連接到服務(wù)器。
●屏幕設(shè)置-根據(jù)顯示尺寸調(diào)整參數(shù)(可在產(chǎn)品頁面找到參數(shù))并更新image .h。
?麥克風(fēng)和揚(yáng)聲器-確保正確的引腳配置為您的硬件。
對(duì)于小型開發(fā)板,需要設(shè)置這兩個(gè)引腳來放大音量。
2. 聊天機(jī)器人工作流
?按啟動(dòng)鍵會(huì)中斷回放或喚醒項(xiàng)目中的聊天機(jī)器人。
●機(jī)器人圖標(biāo)會(huì)根據(jù)揚(yáng)聲器狀態(tài)進(jìn)行更新。
?web .py中的服務(wù)器事件循環(huán)處理JSON數(shù)據(jù)并控制回放。
●ts.py將文本轉(zhuǎn)換為語音。更新此文件中的API密鑰、URL和其他所需內(nèi)容。
●設(shè)置麥克風(fēng)的檢測(cè)閾值。在聊天機(jī)器人項(xiàng)目中,你可以降低音量,使更安靜的語音更容易識(shí)別。
●板控制揚(yáng)聲器和麥克風(fēng)的文本數(shù)據(jù)和播放音頻的二進(jìn)制數(shù)據(jù),處理它使用asr.py(語音到文本)。還要更新API密鑰、URL和該文件中所需的其他內(nèi)容。
?聊天機(jī)器人邏輯運(yùn)行在llm_openai.py中。相應(yīng)地更改模型、API URL和密鑰。
?在config.py文件中,你是主管!根據(jù)您的喜好自定義角色,將其部署到服務(wù)器上,然后看著它活過來,在這個(gè)ai聊天機(jī)器人項(xiàng)目中與您的開發(fā)板聊天。這將是令人興奮的!
設(shè)置API密鑰
OpenAI(大型模型AI API)
1. 登錄OpenAI,進(jìn)入API Keys。
2. 單擊Create New Secret Key并保存。
3. 在代碼中使用此鍵。
火山引擎(語音到文本和文本到語音)
1. 登錄到Volcano Engine并轉(zhuǎn)到控制臺(tái)。
2. 在搜索欄中搜索關(guān)鍵字,比如“voice”。
3. 創(chuàng)建一個(gè)新的應(yīng)用程序,并獲得應(yīng)用程序ID和密鑰。
4. 按照API文檔進(jìn)行集成。
用于顯示的圖像轉(zhuǎn)換
1. 打開圖像轉(zhuǎn)換工具。
2. 選擇一個(gè)鏡像(鏡像大小不能超過2MB)。點(diǎn)擊“選項(xiàng)”->“轉(zhuǎn)換”。預(yù)設(shè)為R5G6B5,并選擇16位塊大小。
3. 單擊Show Preview,復(fù)制生成的數(shù)據(jù)數(shù)組,并將其替換到Arduino代碼中。
4. 更新主代碼文件中的圖像大小和坐標(biāo)。
運(yùn)行聊天機(jī)器人
1. 將ESP32 HMI顯示器連接到計(jì)算機(jī)并打開Arduino項(xiàng)目。(注意:將開發(fā)板的功能選擇鍵設(shè)置為00)
2. 設(shè)置正確的顯示大小后上傳代碼。
3. 配置Wi-Fi:取消注釋第一次設(shè)置和上傳的相關(guān)代碼。
a.用手機(jī)連接ESP32的Wi-Fi(名稱以“AI”開頭)。
b.輸入Wi-Fi密碼。
一旦你完成了,屏幕就會(huì)亮起來——這意味著你已經(jīng)連接上了!
4. 連接單板和PC服務(wù)器
a.打開Windows命令提示符,進(jìn)入服務(wù)器端代碼的根目錄。
b.如果存在venv文件夾,刪除該文件夾。
c.依次輸入如下命令。
i.為Python項(xiàng)目創(chuàng)建一個(gè)虛擬環(huán)境。
Python -m venv venv
2。激活虛擬環(huán)境。
\ \ acticate venv \腳本
3。從requirements.txt文件中安裝依賴項(xiàng)。
PIP install -r requirements.txt
iv.更新pip(僅在提示時(shí))。
Python -m PIP install——upgrade PIP
v.安裝OpenAI依賴項(xiàng)。
PIP安裝openai dashscope
vi.啟動(dòng)服務(wù)器。
python ws.py
一旦服務(wù)器開始運(yùn)行,您應(yīng)該看到開發(fā)板開始記錄。
本文編譯自hackster.io