当前位置: 代码迷 >> 综合 >> 【树莓派4B】安装Ubuntu Mate20.04+ROS Noetic+使用电脑自带的xrdp和VNC进行PC端远程控制
  详细解决方案

【树莓派4B】安装Ubuntu Mate20.04+ROS Noetic+使用电脑自带的xrdp和VNC进行PC端远程控制

热度:90   发布时间:2023-11-25 06:43:33.0

目录

前言

一、烧录Ubuntu Mate20.04

1.下载Ubuntu Mate 20.04

 2.格式化SD卡并烧录系统

3*.打开SSH功能

二、配置Ubuntu环境

1.初次开机进行简单的配置

2.更换国内源 

3.更新软件列表和软件

4.实现远程控制

(1)xrdp方式

(2)VNC方式

(3)两种方法总结

5*.设置静态ip

 三、安装ROS noetic

总结


前言

博主是在开发实验室自主巡航SLAM项目时,用到了树莓派4B,直接Write的Ubuntu Mate20.04系统,没使用树莓派自带的系统,没键盘没显示器,本来想试试直接SSH远程连接,把笔记本当显示屏用,但是在CSDN上找了N种方法,试了N天一点卵用都没有,该拉胯还是拉胯,然后跟朋友借了键盘,把家里电视当显示器用了,然后经过不懈的探索,终于实现了笔记本电脑对树莓派Ubuntu Mate系统的远程连接控制,并成功装上了ROS系统,现在将方法分享给大家! 


一、烧录Ubuntu Mate20.04

需要用到的软件 作用
SDFormatter  格式化SD卡
Win32DiskImager 烧录系统
ubuntu-mate-20.04.1-desktop-arm64+raspi Ubuntu Mate20.04系统
VNC-Viewer-6.21.1109-Windows VNC远程控制工具
Notepate3 打开.conf文件

给大家分享网盘连接,里面有需要用到的软件安装包
链接:https://pan.baidu.com/s/1-ieX9j_0cTM_d6Hg7U-Mzg 
提取码:rpdw

1.下载Ubuntu Mate 20.04

对于Ubuntu Mate20.04版本可以参考官网中的架构和版本,我选的是图中的版本,大家注意一下选择合适的版本,需要的可以进官网选择。

然后选一个版本,我选的是猎豹,当然右边这个好像更可爱一点

然后选择直接下载即可

 2.格式化SD卡并烧录系统

取下树莓派4B带的SD卡,插入读卡器,加入电脑USB接口,电脑识别到文件后,打开SDFormatter软件,进行如图所示的操作

待格式化完成后,我们打开Win32DiskImager软件,进行系统的烧录,同样是进行如图所示的操作

3*.打开SSH功能

如果安装Ubuntu Mate20.04的话不需要这一步,但对于安装树莓派系统的用户来说,树莓派4B默认是不打开SSH功能的,需要进行如下配置
烧入系统后,在电脑端读取打开sd卡boot目录(名称为boot分区盘)新建配置文件wpa_supplicant.conf(可以用Notepad3打开)并创建一个文本文件,改名为ssh,无拓展文件名。

切记再此之前不要通电运行,一旦执行一次后系统就会默认使用已经有的配置,导致的后果就是手动添加的文件都会被系统删除(假如已经运行过树莓派需要格式化sd卡后再一次烧录系统)
在新建的文件中写入如下内容:

country=CN
ctrl_interface=DIR=ar/run/wpa_supplicant GROUP=netdev
update_config=1network={
ssid="你的WiFi名称"
psk="你的WiFi密码"
key_mgmt=WPA-PSK#如果你的WiFi是WPA-PSK加密的 
#key_mgmt=NONE  #如果你的WiFi是WEP加密的

 拔出读卡器,将SD卡插入树莓派,用手机充电器给树莓派供电,开机,如果是Ubuntu Mate20.04配置的话,还是需要HDMI线连接显示器,并连接键盘、鼠标。

二、配置Ubuntu环境

1.初次开机进行简单的配置

系统载入完成后,这时候提示用户进行一系列初始化设置:

  1. 选择系统语言:选择简体中文
  2. 键盘语言:选择English(US)
  3. 无线设置:最好先不要连接wifi,避免在系统安装过程中自动更新软件,因为ubuntu系统默认的软件源在国外,这时候更新软件会很慢,系统安装等候时间太长,等到我们第一次进入用户桌面后再连接wifi或者宽带。
  4. 区域选择:默认为Shanghai即可
  5. 用户账号设置:填入用户名、电脑名。一定要点击选择 开机自动登录!!!

如果遇到 waiting for unattended-upgr to exit 的情况卡住直接点cancel,到后面我们遇到问题的话在进行设置就好。

2.更换国内源 

备份软件源文件,以免修改坏了

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

打开软件源文件,使用nano进行修改

sudo nano /etc/apt/sources.list

在sources.list文件中添加如下代码:

#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#添加清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse
#添加中科大源
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main universe restricted multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main universe restricted multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main universe restricted multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main universe restricted multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main universe restricted multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main universe restricted multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main universe restricted multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main universe restricted multiverse

Ubuntu MATE系统无自带gedit和vim编辑器,目前还不能下载软件,只能使用自带的vi或nano,vi编辑器只能在命令模式下删除和换行,编辑模式下只能添加不能删除和换行,而且不支持方向键,相比之下nano就好用很多。

nano快捷键 说明
alt+6 快速复制当前行
Ctrl+u 在新空白行下可粘贴刚复制的当前行
Ctrl+o 写入,保存
enter(回车) 确认保存
Ctrl+x 退出

3.更新软件列表和软件

sudo apt update
sudo apt upgrade

这一步可能会遇到“无法打开锁”等问题,这时只需要运行下面几行代码即可。

sudo rm /var/cache/apt/archives/lock 
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend

4.实现远程控制

(1)xrdp方式

xrdp占用内存较小,并且PC端不需要下载额外的软件,只需要用电脑自带的附件windows远程控制即可。

1.安装

sudo apt install xrdp

2.重启xrdp服务器

sudo service xrdp restart

3.查看服务运行状态

sudo service xrdp status

如果状态显示如下图一样是Active就代表可以了
在这里插入图片描述
4.设置开启自动启动

sudo update-rc.d xrdp defaults

5.连接wifi

打开电脑wifi热点,并让Ubuntu Mate20.04连接上对应的wifi

6.查看树莓派IP地址

ifconfig

这时可能会弹出not found ifconfig错误,我们只需要按提示安装 net-tools即可

sudo apt install net-tools

【注意】可以在树莓派上用ifconfig查看ip地址,如果树莓派和笔记本连接了同一个热点或者wifi,可以在PC端win+R,输入cmd,打开命令行,输入arp -a查看树莓派的ip地址

7.建立远程连接

记下如图所示的ip地址

 在PC端打开远程桌面连接

 输入刚才记下的树莓派系统ip地址

 点击连接,并输入在Ubuntu Mate20.04初始化设置时的用户名、密码即可建立连接

8.成功建立连接 

【BUG解决】连接成功后有些小伙伴会碰到黑屏的问题,这时可以按这篇博客中的操作,一遍成功!!

(2)VNC方式

1.安装VNC

sudo apt-get install x11vnc

2.创建vnc密码

x11vnc -storepasswd

输入两边密码,回车

3.启动vnc

x11vnc -usepw

4.建立远程连接

查询树莓派的ip地址,方法同上,打开VNC Viwer软件,点击file->new connection

双击建立的连接,输入在树莓派终端设置的VNC密码,即可连接

(3)两种方法总结

xrdp方式:占用内存小,不需要下载额外的软件,设置开机自动启动效果很好,经测试,重启后,不需要连接显示器、键盘、鼠标即可与PC端建立连接。

VNC方式:网上有写将VNC方式设置为开机自动启动的方法,但与xrdp方式相比,更加复杂,而且博主的Ubuntu Mate20.04系统并没有测试成功,如果想使用这种方法可以参考这篇博客(但要注意Ubuntu Mate20.04系统不需要安装图形界面,直接按文中第一步开始即可),这种方法在只有一个键盘时可以使用(开机后,直接Ctrl+Alt+T打开终端,输入x11vnc -usepw启动VNC,在电脑上查询IP地址即可,反正都是命令行操作不需要显示器和鼠标),但自我感觉VNC方式似乎更加稳定一点。

5*.设置静态ip

如果不设置静态IP,每次重启树莓派它的IP地址都会变,需要重新查询IP地址。为了方便可以设置一下静态ip,但是我们可以通过上述方法查找ip,这里其实没太有必要

可以参考这篇文章后面的方法进行操作


 三、安装ROS noetic

1.添加ROS软件源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

 2.添加密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

 3.更新软件源

更新太慢,可以切换软件源或者尝试连接手机热点

sudo apt update

4.安装ROS

sudo apt install ros-noetic-desktop-full

5.初始化rosdep

sudo rosdep init
rosdep update

如果这一步报错可以参考这篇博客的方法,博主一遍通过,很好用!也可以参考这篇博客,过程十分详细!

6.设置环境变量

注意版本要对应好自己的Ubuntu版本,20.04对应代码中的noetic,如果不小心输错了,上面第二篇文章也有方法!

 echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc

7.使环境变量立刻生效

source ~/.bashrc

8. 安装rosinstall

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool

9.测试ROS

分别启动三个终端,运行一下三条命令,如果能使用键盘↑↓←→控制海龟运动则安装成功!

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

总结

打开方式:

  1. 先打开电脑热点(要保证树莓派可以自动连接上)
  2. 给树莓派供电,等待开机
  3. 在PC端看到树莓派连接
  4. 使用arp -a命令查看树莓派IP地址
  5. 建立远程连接

博主搞这些玩意搞了三天三夜,问朋友到处借键盘,从网上买的键盘还不支持Ubuntu系统,把家里大液晶电视拆下来当显示屏,然后重新格式化、烧录了至少3遍系统才摸索出了一套成功的方法,希望对大家有所帮助!同时也记录一下流程方法,以便以后使用!