文章目录
概要
背景介绍:我现在有一块树莓派Pi 4的板子,一个大概11寸显示屏,一个笔记本电脑。我安装的是双系统,需要不断的重启来转换系统,在Ubuntu中跑ROS,在win中利用Gemini问问题,太不方便了,利用现有的资源让我的ROS学习更方便一些,选择在win用code的ssh控制树莓派来跑ROS。我的这个开发环境配置**(Windows VS Code + Remote SSH -> Raspberry Pi)**是机器人工程领域非常专业且主流的“无头模式(Headless)”开发方式。这比频繁重启切换双系统要高效得多,也更贴近实际的工业机器人开发场景。
第一阶段:准备工作(在你的 Windows 电脑上操作)
1. 硬件准备
- 树莓派 4B 主板
- Micro SD 卡(建议 32GB 或以上,速度 Class 10 以上)
- 显示器 + Micro HDMI 线(连接树莓派)
- 读卡器
- 网线(强烈建议第一次配置时用网线连接路由器和树莓派,或者确保 WiFi 信号良好)(没有也没事,我没用网线就是比较麻烦点)
2. 软件下载,我们需要两个核心软件,请现在就去下载安装:
- Raspberry Pi Imager(树莓派官方烧录工具):官网下载
- VS Code(代码编辑器):官网下载
第二阶段:烧录“灵魂” —— 安装 Ubuntu 20.04 (Server 版)(Desktop版本我没找到资源)
为什么选 20.04? 因为我们要用 ROS 1 (Noetic) 版本,它和 Ubuntu 20.04 是锁死的官方搭配,最稳定,教程最多,坑最少。具体步骤如下:
1. 把 SD 卡 插入读卡器,插到电脑上。
2. 打开 Raspberry Pi Imager。
3. 选择设备 (CHOOSE DEVICE): 选 Raspberry Pi 4。
4. 选择操作系统 (CHOOSE OS):
⚠️ 关键一步: 请务必选择 Ubuntu Server 20.04.5 LTS (64-bit)。
(不要选 22.04 或 24.04,否则装不上 ROS Noetic!)
**注意:**由于咱们下载的是Ubuntu 20.04,版本太老了,Raspberry Pi Imager的官方例程里面没有需要自定义镜像 。


- 首先先点击一下格式化,避免烧录的最后出现错误(一定要做,我在这踩坑了)
- 然后点击使用自定义镜像,如上图所示(自己在网上下载就行,资源比较好找)
- 接下来按部就班的点下一步就行。
- 重要提醒:由于咱们使用的是自定义镜像,没有办法在Raspberry Pi Imager设置自己的主机名,用户名,密码,配置WIFI等。这些需要进入树莓派后进行设置。
5. 选择存储卡 (CHOOSE STORAGE): 选你的 SD 卡。
6. 保存并烧录: 点击 SAVE,然后点击 WRITE。等待烧录完成。
第三阶段:点亮树莓派 & 寻找 IP
3.1 组装“手术台” (物理接线)
1. 插入 SD 卡: 将卡插入板子背面的卡槽(金手指触点朝向绿色的板子)。
2. 连接显示器 (⚠️最关键一步):
- 树莓派 4B 有两个微型 HDMI 口。
- 必须插在紧挨着 Type-C 电源口的那个口(这叫 HDMI 0)。
- 如果是插在远端的 HDMI 1,开机屏幕可能不亮。
3. 连接键盘: 插在 USB 口上。
4. 最后插电源: 插上 Type-C 电源线,通电!
3.2 面对“黑底白字” (登录系统)
通电后,屏幕会跳动很多代码(此时不要动),直到屏幕下方停止滚动,出现: ubuntu login:
这时,你需要进行登录(注意:这里有一个新手必坑点!):
注意:由于前面咱们没有设置有户名,密码之类的,按系统默认设置。
1. 输入账号: ubuntu -> 按回车。
2. 输入密码: ubuntu -> 按回车。
3.强制改密码:
(新密码最好是字母加数字,太简单他会让你重新输,比如123456)
- 系统会提示 Current password:(当前密码)。再输一次
ubuntu-> 回车。 - 系统提示 New password:(新密码)。输入你想设的新密码 -> 回车。
- 系统提示 Retype new password:(再次输入新密码)。再输一次 -> 回车。
⚠️ 新手必坑高能预警: 在 Linux 终端里输入密码时,屏幕上是连“星号 ”都不会显示的! 看起来像没输入进去一样。 别慌! 实际上已经输进去了,你就*盲打**,打完直接按回车就行。
3.3 解决网络问题
登录成功后,你会看到类似 ubuntu@Ubuntu:~$ 的提示符。 我们要装桌面,必须要有网。如果你【没有网线】,必须连 WiFi (硬核教程): Server 版没有图形界面,你需要修改一个配置文件来告诉它 WiFi 密码。
- a. 查看网卡名字: 输入
ip link,找到一个以 w 开头的名字(通常是 wlan0)。 - b. 修改配置文件 (小心输!): 输入命令:
sudo nano /etc/netplan/50-cloud-init.yaml
(注意:文件名可能是 50-cloud-init.yaml 或 00-installer-config.yaml,输入到 50 的时候按 Tab 键它会自动补全)
- c. 编辑文件: 屏幕会变成一个编辑器。请用方向键移动光标,把内容改成下面这样(注意:缩进必须严格对齐,不能用 Tab 键,只能用空格!):

network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
dhcp4: true
access-points:
"你的WiFi名字":
password: "你的WiFi密码"
wifis: 这一级要和 ethernets: 对齐(通常是4个空格缩进)。
WiFi 名字和密码如果有特殊字符,最好保留双引号。
- 保存并应用:
– 按Ctrl + O-> 回车(保存)。
– 按Ctrl + X(退出编辑器)。
– 应用配置:
sudo netplan apply
(如果报错,说明缩进不对,重新进去改)
- 验证是否有网: 等几秒,输入:
ip a - 看 wlan0 下面有没有出现 inet 192.168.x.x?
有: 成功!记下这个 IP 地址(比如 192.168.1.105),你可以拔掉显示器和键盘了。
没有: 检查 WiFi 密码和 YAML 缩进,重新 sudo netplan apply。
第四阶段:Windows 远程连接 (SSH),配置“神器” VS Code
用黑框框(CMD)写代码很痛苦,我们用 VS Code 来接管树莓派。
- 在 Windows 上打开 VS Code。
- 安装插件:
– 打开 VS Code,点击左侧扩展图标(四个方块)。
– 搜索 Remote - SSH,点击安装(Microsoft 出品的那个)。 - 连接树莓派:
– 安装完后,左下角会出现一个绿色的><图标,点击它。
– 选择Connect to Host...(连接到主机)。
– 选择Add New SSH Host...。
– 输入:ssh ubuntu@192.168.1.105(换成你的IP)。
– 保存配置文件(选第一个路径即可)。
– 右下角会弹窗提示“Host added”,点击Connect。
– 输入密码。 - 成功效果:
–VS Code 左下角会显示 SSH: 192.168.1.105。
–你点击左侧“资源管理器”->“打开文件夹”,看到的是树莓派里的文件系统!
–你可以像编辑本地文件一样写 ROS 代码,保存时它自动同步到树莓派。
注意:使用方法
以后上电的时候登入,不用插显示屏来查看IP来进行SSH,要学会使用主机名
操作方法: 以后在 Windows 的 VS Code 或终端里,不要输 IP 了,直接输:ssh ubuntu@ubuntu.local
- 原理: .local 后缀告诉电脑:“去局域网里喊一声,谁叫 ubuntu?” 树莓派听到后会回答:“是我!我的 IP 是 xxx。” 电脑就会自动连上去。
- 优点: 无论树莓派的 IP 变成什么,只要名字没变,这招永远管用。
- 注意: 如果你的 Windows 比较老(Win 10 以前),可能不支持。但现在的 Win 10/11 和 Ubuntu 都是默认支持的。
第五阶段:在树莓派上安装 ROS 1 (Noetic)
现在你在 VS Code 的终端里(或者 Windows CMD 里),给树莓派装 ROS。 注意:Ubuntu 20.04 对应的是 ROS Noetic。
- 添加清华源(加速下载):
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
- 设置密钥:
sudo apt install curl -y
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
注意:sudo apt install curl -y输入这一指令后,你需要等好久,这是因为你刚装好系统并连上网,Ubuntu Server 的后台服务 unattended-upgr(自动更新服务)非常尽职尽责地检测到了网络,于是它自动开始在后台下载并安装安全更新。

(我在这里等了40分钟)
- 更新列表:
sudo apt update
- 安装 ROS 核心:因为你是 Server 版,为了节省空间和时间,建议先装基础版(Base),以后缺什么包再装什么。如果你硬盘够大(32G以上),也可以装桌面版。
基础版:sudo apt install ros-noetic-ros-base
全家桶:sudo apt install ros-noetic-desktop(我装的这个,以后比较省事) - 初始化环境:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
- 安装构建工具:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
- 验证环境:
roscore
如果看到 started core service [/rosout],恭喜你!你的 ROS 机器人大脑已经启动了!
现在,你就可以愉快地在 Windows 上查 CSDN/Google 解决报错,在 VS Code 里写代码,代码在树莓派上跑,完美闭环!
小结
在树莓派跑ROS出现的一些问题在win上SSH远程连接树莓派跑ROS设置流程–详细版(二)


&spm=1001.2101.3001.5002&articleId=157426380&d=1&t=3&u=bd18a830f9f444759c504b728bfc54d8)
1万+

被折叠的 条评论
为什么被折叠?



