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

VSCode Server本身也在持續(xù)改進,當(dāng)前版本已升級至4.20.0,基于VSCode 1.85.1構(gòu)建,較之前測試版有了顯著改進。我們?nèi)酝ㄟ^curl從官網(wǎng)下載,但這次選擇Ubuntu適用的Debian包(Fedora內(nèi)核暫不支持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
安裝完成后,通過經(jīng)典命令啟用服務(wù):
#sudo systemctl start code-server@ubuntu#sudo systemctl enable code-server@ubuntu
@ubuntu指定運行服務(wù)的用戶(此處為ubuntu,可根據(jù)實際修改為Raspberry Pi用戶名)。服務(wù)默認運行在8080端口,可通過編輯~/config/code-server/config.yaml修改配置。例如我修改了端口并關(guān)閉了密碼登錄:

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

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

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

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

創(chuàng)建名為web-test的新Rust項目
打開項目文件夾:

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

瀏覽器內(nèi)安裝rust-analyzer VSCode擴展
同時安裝LLDB調(diào)試器以支持Rust程序調(diào)試:

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

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

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

準(zhǔn)備靜態(tài)文件服務(wù)Web服務(wù)器

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

運行Ubuntu Server 23.10的Raspberry Pi 5監(jiān)控概覽
我們同時要準(zhǔn)備基礎(chǔ)HTML文件:

基礎(chǔ)HTML文檔
現(xiàn)在構(gòu)建并運行Web服務(wù)器。運行cargo build,actix的依賴數(shù)量龐大,但Raspberry Pi 5處理起來游刃有余:

三分鐘后項目構(gòu)建完成
雖然三分鐘看似漫長,但相比4代Rust項目動輒10分鐘的構(gòu)建時間,這已是巨大進步。我的AMD Ryzen 5 3000筆記本完成相同任務(wù)需約1.5分鐘(同時運行更多程序),但考慮到Raspberry Pi 5的資源限制,這個表現(xiàn)已相當(dāng)出色。
這次體驗令人印象深刻。Raspberry Pi 4作為家庭網(wǎng)絡(luò)編碼服務(wù)器完全不可用,而Raspberry Pi 5的表現(xiàn)讓我非常滿意。即使以資源消耗著稱的Rust構(gòu)建過程,在Raspberry Pi 5上也如本地開發(fā)般流暢。這是最高的贊譽——不再像4代那樣因服務(wù)器限制而中斷工作。本次實驗圓滿成功,我將繼續(xù)運行VSCode Server進行更多探索。
這為使用平板等設(shè)備編碼開辟了新可能,也讓家庭網(wǎng)絡(luò)中的其他設(shè)備有了用武之地。感謝跟隨我完成這段精彩旅程,我們下次再見!
-
Server
+關(guān)注
關(guān)注
0文章
94瀏覽量
24431 -
樹莓派
+關(guān)注
關(guān)注
120文章
1906瀏覽量
106693 -
vscode
+關(guān)注
關(guān)注
1文章
166瀏覽量
8279
發(fā)布評論請先 登錄
相關(guān)推薦
樹莓派權(quán)威用戶指南
樹莓派學(xué)習(xí)指南三部曲,從編程到實戰(zhàn)一應(yīng)俱全
樹莓派(Raspberry+Pi)實戰(zhàn)指南+手把手教你掌握100個精彩案例
嵌入式系列:樹莓派專題資料合集
使用樹莓派搭建stm32開發(fā)環(huán)境踩過的坑以及碰到的問題
樹莓派4B Ubuntu 21.04自動溫控開關(guān)風(fēng)扇
樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)
使用樹莓派設(shè)計智能小車教程之樹莓派超聲波避障實驗的詳細資料說明

從樹莓派帶你掌握嵌入式linux產(chǎn)品實戰(zhàn)開發(fā)-- 我們實戰(zhàn)開發(fā)的paipai one設(shè)備介紹附原理圖(三)

樹莓派pico入門學(xué)習(xí)筆記(一)

虹科干貨 | 工業(yè)樹莓派開發(fā)工具指南之文件傳輸工具篇

評論