0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派5终极开发方案:VSCode Server避坑实战指南

上海晶珩电子科技有限公司 2025-03-25 16:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导语:

你是否想过将信用卡大小的树莓派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

ab34bd0e-0954-11f0-9434-92fbcf53809c.jpg

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

安装过程如下:

ab49f6ec-0954-11f0-9434-92fbcf53809c.png

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修改配置。例如我修改了端口并关闭了密码登录:

ab5ee99e-0954-11f0-9434-92fbcf53809c.png

简易code-server配置

如上图所示,将绑定地址端口改为10000以允许网络内任意客户端连接,认证方式从默认的password改为none。如需设置密码:

bind-addr: 0.0.0.0:10000auth: passwordpassword: password-hashcert: false

密码哈希值可通过mkpasswd生成。它会要求我们输入密码,并返回一个哈希值,以便复制到上面的密码字段中。完成配置后,打开浏览器体验吧!

运行浏览器中的VSCode

ab740388-0954-11f0-9434-92fbcf53809c.png

在客户端上运行Raspberry PI 5的VSCode

如截图所示,只需在浏览器输入Raspberry Pi IP和指定端口(本例为10000)即可访问。尽管Raspberry Pi已运行多个网络服务(包括LDAP服务器),但VSCode加载速度仍明显快于4代。接下来在终端安装Rust:

ab8906d4-0954-11f0-9434-92fbcf53809c.png

通过VSCode浏览器终端安装Rust

截图中的命令为Rust标准安装命令:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,将在Raspberry Pi 5的VSCode Server上配置Rust环境:

ab9cc214-0954-11f0-9434-92fbcf53809c.png

直接在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:

abb7b268-0954-11f0-9434-92fbcf53809c.png

创建名为web-test的新Rust项目

打开项目文件夹:

abc9fab8-0954-11f0-9434-92fbcf53809c.png

打开新rust项目

让我们编译一下我们的项目,看看效果如何。为此,我们将首先安装rust-analyzer扩展,VSCode为我们提供了全面的rust语言支持:

abd9a7b0-0954-11f0-9434-92fbcf53809c.png

浏览器内安装rust-analyzer VSCode扩展

同时安装LLDB调试器以支持Rust程序调试:

abee5340-0954-11f0-9434-92fbcf53809c.png

为rust安装CodeLLDB调试器

不得不说,安装VSCode扩展感觉比在Raspberry PI 4上快多了。它们就像在本地桌面上一样安装。整个体验感觉就像在本地运行VSCode。再次按F5将会出现下一个问题:没有找到链接器cc,所以让我们使用sudo来安装build-essentials包,以便安装build-essentials:

ac003934-0954-11f0-9434-92fbcf53809c.png

准备好调试rust程序

同样,下载速度是极快的,安装速度稍慢,但Raspberry Pi 5仍然设法在一分钟内安装所有这些。但是这次按F5真的是编译调试项目。最后。让我们拥有我们的rust服务器!

创建小型Rust Web服务器

ac189790-0954-11f0-9434-92fbcf53809c.png

Raspberry Pi 5上运行简易Web服务器

到目前为止,当前的资源占用,CPU波动在1%到3%内存使用1.2 GB。对于树莓PI 5来说,它感觉微不足道,因为它有8 GB的可用内存。但在Raspberry PI 4上,运行稍显吃力

ac331eee-0954-11f0-9434-92fbcf53809c.png

准备静态文件服务Web服务器

ac52ffde-0954-11f0-9434-92fbcf53809c.png

rust中的web服务器项目初具规模

在rust-analyzer下载编译actix依赖并索引源码时,可观察到四核心ARM CPU的负载,但Raspberry Pi 5应对自如。开发体验流畅,代码补全响应及时:

ac69d92a-0954-11f0-9434-92fbcf53809c.png

运行Ubuntu Server 23.10的Raspberry Pi 5监控概览

我们同时要准备基础HTML文件:

ac843b6c-0954-11f0-9434-92fbcf53809c.png

基础HTML文档

现在构建并运行Web服务器。运行cargo build,actix的依赖数量庞大,但Raspberry Pi 5处理起来游刃有余:

ac9a1c48-0954-11f0-9434-92fbcf53809c.png

三分钟后项目构建完成

虽然三分钟看似漫长,但相比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

    浏览量

    25157
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109643
  • vscode
    +关注

    关注

    1

    文章

    171

    浏览量

    8993
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    树莓权威用户指南

    `树莓权威用户指南树莓(raspberry pi),是一款基于linux系统的、只有一张信用卡大小的卡片式计算机。研发
    发表于 07-01 00:23

    树莓学习指南三部曲,从编程到实战一应俱全

    本资料介绍的是树莓派系列教程资料汇总,包括了:树莓python编程指南实战指南
    发表于 09-10 18:23

    树莓(Raspberry+Pi)实战指南+手把手教你掌握100个精彩案例

    树莓(Raspberry+Pi)实战指南+手把手教你掌握100个精彩案例
    发表于 04-02 14:18

    100+个实战案例(硬件+源码),树莓就这么玩

    树莓方案集锦:树莓实战指南:由浅入深、图文并茂地
    发表于 05-19 15:26

    嵌入式系列:树莓专题资料合集

    ://bbs.elecfans.com/jishu_1936643_1_1.html100+个实战案例(硬件+源码),树莓就这么玩包含:树莓
    发表于 05-22 15:37

    使用树莓搭建stm32开发环境踩过的以及碰到的问题

    使用树莓搭建stm32开发环境踩了很多,下面主要是记录一下踩过的,以及碰到的问题。##开发
    发表于 08-24 07:47

    树莓4B Ubuntu 21.04自动温控开关风扇

    树莓4B Ubuntu 21.04 自动温控开关风扇以及RPi.GPIO指南本人对树莓
    发表于 09-08 07:38

    树莓带你掌握嵌入式linux产品实战开发

    树莓带你掌握嵌入式linux产品实战开发–我们实战开发的paipai one设备介绍附原理图
    发表于 11-05 06:39

    树莓zero wh分享

    树莓型号:树莓zero wh一:电源线按照网上的教程烧录好SD卡,使用5v2a的电源,结果
    发表于 01-13 06:25

    树莓(Raspberry Pi)实战指南.pdf

    树莓实战指南
    发表于 05-07 15:17 130次下载

    使用树莓设计智能小车教程之树莓超声波障实验的详细资料说明

    本文档的主要内容详细介绍的是使用树莓设计智能小车教程之树莓超声波障实验的详细资料说明。
    发表于 06-25 08:00 30次下载
    使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>设计智能小车教程之<b class='flag-5'>树莓</b><b class='flag-5'>派</b>超声波<b class='flag-5'>避</b>障实验的详细资料说明

    树莓带你掌握嵌入式linux产品实战开发-- 我们实战开发的paipai one设备介绍附原理图(三)

    树莓带你掌握嵌入式linux产品实战开发–我们实战开发的paipai one设备介绍附原理图
    发表于 11-02 13:35 25次下载
    从<b class='flag-5'>树莓</b><b class='flag-5'>派</b>带你掌握嵌入式linux产品<b class='flag-5'>实战</b><b class='flag-5'>开发</b>-- 我们<b class='flag-5'>实战</b><b class='flag-5'>开发</b>的paipai one设备介绍附原理图(三)

    使用树莓障车

    电子发烧友网站提供《使用树莓障车.zip》资料免费下载
    发表于 12-09 10:22 0次下载
    使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的<b class='flag-5'>避</b>障车

    虹科干货 | 工业树莓开发工具指南之文件传输工具篇

    虹科IIoT工业树莓开发工具指南文件传输工具篇前言实现PC端和工业树莓之间的文件传输在工业
    的头像 发表于 06-09 10:17 2021次阅读
    虹科干货 | 工业<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>开发</b>工具<b class='flag-5'>指南</b>之文件传输工具篇

    指南!RK3568开发板选型,这5点没看清千万别下手!(附迅为驱动开发指南资源)

    指南!RK3568开发板选型,这5点没看清千万别下手!(附迅为驱动开发指南资源)
    的头像 发表于 10-30 15:49 327次阅读
    <b class='flag-5'>避</b><b class='flag-5'>坑</b><b class='flag-5'>指南</b>!RK3568<b class='flag-5'>开发</b>板选型,这<b class='flag-5'>5</b>点没看清千万别下手!(附迅为驱动<b class='flag-5'>开发指南</b>资源)