我們閱讀每一份回饋,並非常認真地看待您的意見。

欲查看所有可用的限定詞,請參閱我們的文件。

注意:此儲存庫已過時,已移至 valdanylchuk/breezybox/examples/s3-waveshare

這是一個展示如何將 ESP32-S3 微控制器變成一台微型即時啟動個人電腦的範例,它擁有自己的 Shell、編輯器、編譯器以及線上應用程式安裝程式。類似於 Raspberry Pi,但省略了完整伺服器/桌面級作業系統的開銷。我認為 ESP32 在創客社群中,對於這種個人電腦式的應用案例被低估了。此展示使用了 BreezyBox,這是我的迷你 Shell ESP-IDF 元件。

首先,眼見為憑(點擊觀看影片):

更新:BreezyBox 並不限制您只能使用文字。這是另一個展示,顯示了圖形測試以及我 ESP32 Celeste/Scrolleste 移植版的遊戲過程:

它最初是一個「Cyberdeck」風格的製作專案。然後我沉迷於軟體部分。我選擇 ESP32-S3 作為基礎平台。它具有 DOS 時代個人電腦的懷舊吸引力,擁有類似的資源,以及深入底層的位元組編碼體驗,再加上現代無線通訊功能。

ESP32-S3 可以做到那些個人電腦所能做的一切,甚至更多,但開箱即用時並不方便,因為它並非商業定位的用途。它也迫使程式碼精簡。如果您像我一樣,喜歡小巧精緻的東西,以及表現遠超其份量的技術,您應該試試看!

所以,我決定嘗試打包一些關鍵的缺失部分:一個基本的 vterm、目前的現行目錄 (CWD) 追蹤、一些熟悉的類 UNIX 指令,以及一個應用程式安裝程式。信不信由你,其餘部分已經存在於 ESP-IDF 元件中,包括帶有動態連結的 elf_loader。

結果被稱為「BreezyBox」,這是借鑑 BusyBox 指令集。這個名字只是一個輕鬆的玩笑,並非意圖成為完整的複製。您可以在您的 ESP-IDF 專案中用一個指令匯入它,如果您已經有一些 stdio,即使是「Hello World」等級的,它應該大多都能正常運作。我稱之為「迷你 Shell」,一個天真的使用者可能會稱之為作業系統(它不是,它運行在 FreeRTOS 上),您也可以稱之為使用者層。

BreezyBox 元件將顯示和其他板卡配置細節留給使用者的韌體專案,主要提供 vterm/vfs 功能和一些 Shell 指令。這個特定的範例/展示專案僅支援一個特定的開發板:Waveshare ESP32-S3-Touch-LCD-7B(無關聯)。但您可以了解所有部分如何連接,並將其適應到您的顯示器/板卡,或者只是從這裡複製一些程式碼片段。

我建議直接 fork、clone,然後嘗試讓它在您的板卡上運作。我的大約花了 40 歐元;如果您願意,可以從隨便一個 10 美元的兩吋 LCD S3 開發板開始。提示:LVGL 文字標籤控制是在 LCD 上實現 stdout 的最簡單方法,幾乎在所有地方都有效。您也可以從 USB 控制台的無頭板開始,這不需要任何程式碼,並且可以在 VSCode 中的標準 IDF Monitor(或 Tabby)中免費獲得 ANSI 代碼。

您不必像我一樣編寫自己的字體渲染器;那只是為了在一個對該晶片來說稍大的顯示器上突破 30 FPS 的限制。

這是 MIT 授權下的免費軟體。