使用Gemini的串行監(jiān)視器通過(guò)Tiny Xiao ESP32-C3提出問(wèn)題,并在mini 0.96顯示器上得到智能回復(fù)
在這個(gè)項(xiàng)目中,我使用Seeed Studio Xiao ESP32-C3在Mini 128*64OLED顯示器上帶來(lái)了谷歌Gemini AI響應(yīng)。只需要幾個(gè)組件,我就創(chuàng)建了一個(gè)口袋大小的AI終端,它可以從Gemini獲取智能回復(fù),并通過(guò)文本包裝和基于按鈕的導(dǎo)航非常流暢地顯示它們——沒(méi)有麻煩,只是直接和清晰的輸出。
我做這個(gè)是因?yàn)槲乙恢毕胱鲆恍┓浅:?jiǎn)單、智能和嵌入式的東西——一個(gè)緊湊的人工智能界面,而不太依賴于手機(jī)或PC屏幕。這個(gè)項(xiàng)目的靈感來(lái)自于Gemini和ChatGPT等基于聊天的人工智能。所以,我決定制作一個(gè)只通過(guò)文本交流的Pocket AI助手,完全在一個(gè)帶有小型OLED的微控制器上。
我用的是簡(jiǎn)單的硬件
?Xiao ESP32-C3(由Seeed工作室)-緊湊,支持Wi-Fi板
?0.96“I2C OLED顯示屏- 128x64分辨率
?2個(gè)按鈕-用于上下滾動(dòng)
?面包板和跳線
?USB-C電纜
我是如何建造它的
1. 顯示設(shè)置和字體
我使用U8g2庫(kù)來(lái)控制OLED顯示器。它允許干凈的字體和基于緩沖區(qū)的繪圖,非常適合簡(jiǎn)單的文本顯示和動(dòng)畫。
2. 動(dòng)畫和UI
我補(bǔ)充說(shuō):
一個(gè)“開發(fā)由物聯(lián)網(wǎng)樞紐”濺動(dòng)畫與緩慢的蹺蹺板運(yùn)動(dòng)
在獲取答案時(shí),閃爍的“Loading…”動(dòng)畫
換行,避免在行中間換行
3. Wi-Fi和Gemini API
使用ESP32-C3的Wi-Fi功能,我連接了本地網(wǎng)絡(luò),并使用HTTPClient使用其公共API查詢Gemini。
使用ArduinoJson解析響應(yīng),并在屏幕上顯示-一次3行,使用兩個(gè)按鈕垂直滾動(dòng)。
4. 用戶交互
1)通過(guò)串行監(jiān)視器輸入問(wèn)題
2)對(duì)格式清晰的OLED的反應(yīng)
3)使用GPIO按鈕上下滾動(dòng)
如何構(gòu)建它
?將OLED連接到小ESP32-C3上的SDA = GPIO6, SCL = GPIO7
?將兩個(gè)按鈕連接到GPIO8和GPIO9(帶有內(nèi)部拉拔)
?Flash提供的Arduino代碼與您的API和WiFi SSID與密碼
?在串行監(jiān)視器中輸入一個(gè)問(wèn)題,并直接在您的顯示器上獲得AI響應(yīng)
?使用按鈕滾動(dòng)瀏覽較長(zhǎng)的答案
庫(kù)的使用
?U8g2用于OLED
?WiFi和HTTPClient進(jìn)行網(wǎng)絡(luò)通信
?ArduinoJson解析雙子座的JSON響應(yīng)
什么是你可以自己積分的?
你可以——
?使用麥克風(fēng)模塊添加語(yǔ)音到文本的輸入
?使用SD卡模塊在SD卡上保存回答歷史
?添加菜單和其他多任務(wù)功能
本文編譯自hackster.io