導語:
你是否想過將信用卡大小的樹莓派5打造成隨身攜帶的云端開發神器?開發者 Radu Zaharia 歷經反復試驗,終于突破性實現VS Code Server在樹莓派5的完美部署!本文深度解析從硬件配置到云端調試的全流程,揭秘SSH隧道穿透、GPU加速等關鍵技術細節,更附贈獨家性能調優參數。無論你是想解鎖超便攜開發環境,還是探索邊緣計算新姿勢,這篇手把手教學都能讓你擺脫開發環境束縛,用15美元設備實現媲美高端主機的編碼體驗!
上一次我們討論這個話題時,Raspberry Pi 5尚未發布,VSCode Server版本停留在4.0.2。當時的體驗并不理想,完全無法勝任嚴肅的開發工作——VSCode運行緩慢,編譯時間更是令人抓狂(尤其是對Rust等語言而言)。因此,我們暫停了實驗,等待更強大的硬件。幸運的是,如今期待的硬件終于到來:Raspberry Pi 5。
Raspberry Pi 5的基準測試速度比Raspberry Pi 4快達三倍,配備更多內存、更高的I/O帶寬和更強的GPU,使其成為個人編碼與構建工作站的強勁候選。現在的問題是:我們能否用它搭建家庭版VSCode Server?讓我們一探究竟!
安裝與配置VSCode Server

VSCode Server本身也在持續改進,當前版本已升級至4.20.0,基于VSCode 1.85.1構建,較之前測試版有了顯著改進。我們仍通過curl從官網下載,但這次選擇Ubuntu適用的Debian包(Fedora內核暫不支持Raspberry Pi 5):
#curl -fOL https://github.com/coder/code-server/releases/download/v4.20.0/code-server_4.20.0_arm64.deb#sudo apt install ./code-server_4.20.0_arm64.deb
安裝過程如下:

Ubuntu Server 23.10正在安裝 VSCode Server 4.20.0
安裝完成后,通過經典命令啟用服務:
#sudo systemctl start code-server@ubuntu#sudo systemctl enable code-server@ubuntu
@ubuntu指定運行服務的用戶(此處為ubuntu,可根據實際修改為Raspberry Pi用戶名)。服務默認運行在8080端口,可通過編輯~/config/code-server/config.yaml修改配置。例如我修改了端口并關閉了密碼登錄:

簡易code-server配置
如上圖所示,將綁定地址端口改為10000以允許網絡內任意客戶端連接,認證方式從默認的password改為none。如需設置密碼:
bind-addr: 0.0.0.0:10000auth: passwordpassword: password-hashcert: false
密碼哈希值可通過mkpasswd生成。它會要求我們輸入密碼,并返回一個哈希值,以便復制到上面的密碼字段中。完成配置后,打開瀏覽器體驗吧!
運行瀏覽器中的VSCode

在客戶端上運行Raspberry PI 5的VSCode
如截圖所示,只需在瀏覽器輸入Raspberry Pi IP和指定端口(本例為10000)即可訪問。盡管Raspberry Pi已運行多個網絡服務(包括LDAP服務器),但VSCode加載速度仍明顯快于4代。接下來在終端安裝Rust:

通過VSCode瀏覽器終端安裝Rust
截圖中的命令為Rust標準安裝命令:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,將在Raspberry Pi 5的VSCode Server上配置Rust環境:

直接在Raspberry PI 5上的VSCode Server安裝Rust
Raspberry Pi 5的Wi-Fi速度提升顯著,下載Rust的體驗接近本地機器,盡管是通過VSCode Server中轉。不過安裝速度仍低于預期因為與最新Intel i7臺式機相比確實存在差距,但較4代已有明顯進步:4代需約10分鐘,5代僅需4分鐘。
接下來創建包含依賴的Rust項目如小型Web服務器并進行構建。新建名為projects的文件夾,通過VSCode瀏覽器端打開,運行cargo new web-test --bin:

創建名為web-test的新Rust項目
打開項目文件夾:

打開新rust項目
讓我們編譯一下我們的項目,看看效果如何。為此,我們將首先安裝rust-analyzer擴展,VSCode為我們提供了全面的rust語言支持:

瀏覽器內安裝rust-analyzer VSCode擴展
同時安裝LLDB調試器以支持Rust程序調試:

為rust安裝CodeLLDB調試器
不得不說,安裝VSCode擴展感覺比在Raspberry PI 4上快多了。它們就像在本地桌面上一樣安裝。整個體驗感覺就像在本地運行VSCode。再次按F5將會出現下一個問題:沒有找到鏈接器cc,所以讓我們使用sudo來安裝build-essentials包,以便安裝build-essentials:

準備好調試rust程序
同樣,下載速度是極快的,安裝速度稍慢,但Raspberry Pi 5仍然設法在一分鐘內安裝所有這些。但是這次按F5真的是編譯調試項目。最后。讓我們擁有我們的rust服務器!
創建小型Rust Web服務器

Raspberry Pi 5上運行簡易Web服務器
到目前為止,當前的資源占用,CPU波動在1%到3%內存使用1.2 GB。對于樹莓PI 5來說,它感覺微不足道,因為它有8 GB的可用內存。但在Raspberry PI 4上,運行稍顯吃力

準備靜態文件服務Web服務器

rust中的web服務器項目初具規模
在rust-analyzer下載編譯actix依賴并索引源碼時,可觀察到四核心ARM CPU的負載,但Raspberry Pi 5應對自如。開發體驗流暢,代碼補全響應及時:

運行Ubuntu Server 23.10的Raspberry Pi 5監控概覽
我們同時要準備基礎HTML文件:

基礎HTML文檔
現在構建并運行Web服務器。運行cargo build,actix的依賴數量龐大,但Raspberry Pi 5處理起來游刃有余:

三分鐘后項目構建完成
雖然三分鐘看似漫長,但相比4代Rust項目動輒10分鐘的構建時間,這已是巨大進步。我的AMD Ryzen 5 3000筆記本完成相同任務需約1.5分鐘(同時運行更多程序),但考慮到Raspberry Pi 5的資源限制,這個表現已相當出色。
這次體驗令人印象深刻。Raspberry Pi 4作為家庭網絡編碼服務器完全不可用,而Raspberry Pi 5的表現讓我非常滿意。即使以資源消耗著稱的Rust構建過程,在Raspberry Pi 5上也如本地開發般流暢。這是最高的贊譽——不再像4代那樣因服務器限制而中斷工作。本次實驗圓滿成功,我將繼續運行VSCode Server進行更多探索。
這為使用平板等設備編碼開辟了新可能,也讓家庭網絡中的其他設備有了用武之地。感謝跟隨我完成這段精彩旅程,我們下次再見!
-
Server
+關注
關注
0文章
94瀏覽量
24300 -
樹莓派
+關注
關注
118文章
1882瀏覽量
106258 -
vscode
+關注
關注
1文章
162瀏覽量
8148
發布評論請先 登錄
相關推薦
嵌入式系列:樹莓派專題資料合集
使用樹莓派設計智能小車教程之樹莓派超聲波避障實驗的詳細資料說明

從樹莓派帶你掌握嵌入式linux產品實戰開發-- 我們實戰開發的paipai one設備介紹附原理圖(三)

樹莓派pico入門學習筆記(一)

評論