在树莓派4B上安装Ubuntu Mate 20.04 和ROS

本文介绍了在树莓派4B上安装Ubuntu和ROS的方法。已配置好的系统镜像可在公众号“汽车软件杂谈”后台回复“rpi4b img”获取。扫码关注:

在这里插入图片描述

最近想在树莓派上装个ROS用来学习,但我的树莓派内存只有2G,有点捉急,前前后后试了好多种方法,终于找到一个能用的,在这里总结一下,供大家参考。

一、关于Linux版本的选择

1.尝试1 —— Ubuntu Desktop:因为对ROS支持得最好的Linux版本就是Ubuntu,所以最开始就是想着直接装个官方的带桌面的Ubuntu版本,也没多想就刷了,结果直接开不了机,仔细看了一下,Ubuntu Desktop版只推荐4G和8G的树莓派安装,这才知道要考虑内存的大小。所以如果是4G或8G版的树莓派,这种方法应该还是首选,毕竟简单方便,支持也好。

系统镜像下载链接:

https://ubuntu.com/download/raspberry-pi

2.尝试2 —— Ubuntu Server:Server版本要比Desktop版节省很多资源,但因为ROS有一些图形化开发环境,还是需要有桌面,但可以装好Ubuntu Server后,自己选择一个资源占用小的桌面版本,我试了Xfce,这款桌面据说是资源占用最小的了,安装方法也比较简单:

① 更换国内源:
Linux的国外软件源下载速度很慢,所以要更换成国内的一些镜像源网站。换源的方法网上有很多,我这里介绍一个简单的批量替换指令,不需要一个个手动替换:

sudo sed -i "s#ports.ubuntu.com#mirrors.ustc.edu.cn#g" sources.list

这个指令就可以把前面的网址替换成后面中科大的镜像源网址,当然也可以选择清华等其他国内镜像,方法一样。

② 更新应用:

sudo apt-get update
sudo apt-get upgrade

以上两步是新安装一个Linux系统的必要操作,完事后再安装其他应用程序会快很多,问题也会少。

③ 安装Xfce:

sudo apt install xfce4

安装好后重启就可以进入桌面,但在我的树莓派上还是贼卡,无奈也放弃了。

3.尝试3 —— 树莓派原生系统直接安装ROS:Ubuntu尝试失败后,只能换回树莓派原生的Raspbian系统,这个系统是基于Debian的,尽管都说它对ROS的支持不如Ubuntu好,但它内存占用真的是小,桌面版才不到200M。在Raspbian上安装ROS的方法在ROS官网上有:

http://wiki.ros.org/ROSberryPi

虽然教程比较详细,但实际安装的时候会出现各种各样的问题,我在初始化ROS的时候总是报timeout错误,尝试了网上所有的办法,还是没能解决,这条路又走不通了。

4.尝试4 —— Ubuntu Mate:Ubuntu Mate是一个轻量版的桌面Ubuntu系统,在网上找了很多办法后才发现Ubuntu Mate也有专门针对树莓派的版本,下载链接在下面。我先尝试了arm64版本,启动后内存占用在1G以上,虽然可以运行了,但稍微开点进程就卡死了,最后试了armhf版,这是专门针对低性能树莓派开发的,资源占用少,开启后内存占用大概在500M,总算是勉强能用了!

https://ubuntu-mate.org/raspberry-pi/

成功安装后界面如下:

在这里插入图片描述

二、安装ROS

ROS的安装方法可以在官网上找到:

http://wiki.ros.org/

因为Ubuntu的版本已经更新到了20.04,所以选择了官方推荐的与这个版本最匹配的ROS Noetic Ninjemys版本。在Ubuntu上安装ROS过程相当顺利,按照教程一步步来即可,我装了好几次都没出过任何问题,想想当时在Raspbian上装ROS的艰难困苦真是想哭。。需要注意的一点就是安装源可以选一个国内的,在教程中也给了相关的说明:

在这里插入图片描述

三、实现远程控制

通常在使用树莓派的时候并不会给它直接连接一个屏幕,而是在PC端远程操控。实现方法有两种,一种是VNC,在树莓派上安装VNCServer,在PC端用VNCViewer进行连接控制。第二种是安装Xrdp,在PC端用远程桌面控制。我选择的是第二种,因为经过对比发现Xrdp内存占用略小。安装方法如下:

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.以上步骤完成后,即可用PC端的远程桌面连接树莓派,先查看树莓派IP地址:

ifconfig

然后在远程桌面直接输入树莓派IP地址进行连接。
在这里插入图片描述
6.如果用PC端的远程桌面连接时出现灰屏现象,就需要再进行以下设置:

① 创建一个配置文件:

sudo touch ~/.xsession

② 进入文件编辑:

sudo nano ~/.xsession

③ 复制以下内容到文件:

unset DBUS_SESSION_BUS_ADDRESS
mate-session
TZ='Asia/Shanghai'; export TZ

④ ctrl+x退出编辑,提示是否保存的时候选择Y,再回车即可保存。

⑤ 重启树莓派,再次连接的时候即可进入桌面。

连接时界面:
在这里插入图片描述
输入安装Ubuntu Mate时设置的用户密码,即可进入桌面,连接成功后:
在这里插入图片描述

四、设置静态IP

如果不设置静态IP,每次重启树莓派它的IP地址都会变,需要重新查询IP地址。这里先介绍一个查询树莓派IP地址的方法,当树莓派不能连接显示器无法直接查询IP地址时,可以在PC上用下面的方法进行查询:

Linux:

arp -na | grep -i "b8:27:eb"

或:

arp -na | grep -i "dc:a6:32"

Windows:
运行cmd,输入以下指令:

arp -a | findstr b8-27-eb

或:

arp -a | findstr dc-a6-32

如果树莓派成功连接WIFI,就可以查询到IP地址:
在这里插入图片描述
如果我们设置了静态IP,就不需要每次都查询了,Ubuntu Mate的设置方法如下:

1.查询IP地址等信息,点击网络连接信息,记下红框中的IP地址等内容,一会要填写。
在这里插入图片描述
2. 按下图中的方法,修改IP地址获取方式为手动,在第4步中添加刚刚查询到的IP地址等信息。

这里有可能是不可编辑的状态,这个时候编辑一下/etc/network/interfaces这个文件,网上有一些教程是编辑这个文件来实现静态IP的,但我编辑完之后就直接连不上网了,但上图中的编辑栏变成了可编辑状态,再把interfaces的内容恢复,这里也会维持可编辑状态,就可以进行手动获取IP的设置了。具体原因我也没有深究。
在这里插入图片描述

五、安装系统监视插件

有个系统资源监视小插件很好用,推荐给大家:indicator-sysmonitor

安装步骤如下:

sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor  
sudo apt-get update  
sudo apt-get install indicator-sysmonitor
indicator-sysmonitor &

安装完成后可以设置开机自启:
在这里插入图片描述
可以编辑要显示的内容和更新时间:
在这里插入图片描述
完成后的状态如图:
在这里插入图片描述

六、安装风扇自动控制程序

买了个小风扇,用一段Python脚本来控制它根据CPU温度自动开启、关闭和调速,脚本如下:

import RPi.GPIO as GPIO  #引入函数库
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)  #设置引脚编号规则
GPIO.setup(7, GPIO.OUT)    #风扇控制引脚为7号,设置成输出模式
pwm=GPIO.PWM(7, 10)
GPIO.output(7, 0)
pwm.start(0)

while True:
 # 获取CPU温度 
    tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' )
    cpu_temp_raw = tmpFile.read() 
    tmpFile.close() 
    cpu_temp = round(float(cpu_temp_raw)/1000, 1) 
    # print ("te,p = %f" % cpu_temp) 
    if cpu_temp >= 58 :
         pwm.ChangeDutyCycle(cpu_temp-10)
    if cpu_temp <= 50 :
        pwm.ChangeDutyCycle(0)
    time.sleep(10)

注意,这个脚本需要用到rpi.gpio库,如果还没有安装过需要用下面的指令进行安装:

sudo apt-get -y install python3-rpi.gpio

然后设置这个脚本为开机自动运行:

  1. 首先新建一个脚本文件,用来启动上面的Python脚本:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          fanStartup.sh
# Required-start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the svnd.sh daemon
# Description:       starts svnd.sh using start-stop-daemon
### END INIT INFO

#任务脚本
#取得root权限,'123456'为密码,不用加引号,'ls'无实际作用
echo 123456|sudo -S ls
#用python3执行执行脚本~/桌面/python/SmartFan.py,sudo -S需要加上
sudo -S python3 ~/桌面/python/SmartFan.py
  1. 按下图中的方法添加上面的脚本到开机自动程序列表,之后每次登陆后就可以自动启动风扇控制脚本了。
    在这里插入图片描述

七、系统备份

装完系统配置好之后,最好记得备份一下系统以防系统损坏,这里推荐一篇博客,里面例举了常见的系统备份方法:

https://post.smzdm.com/p/apzkgne7/

我是用第3个gparted这种方法备份成功的,其它几个脚本我试了试都容易出问题。我的系统还把UbuntuMate自带的Firefox浏览器换成了Chromium,占用资源更小。可在下方公众号后台回复“rpi4b img”获取系统镜像,以及刷写和备份工具。镜像刷写进树莓派的方法很简单,用imager工具选好镜像和树莓派SD卡,一键写入。

在这里插入图片描述

  • 13
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
树莓派4B可以安装Ubuntu 20.04桌面版。首先,你需要下载适用于树莓派4BUbuntu 20.04桌面版的映像文件。你可以在官方网站上找到适用于树莓派4BUbuntu Mate 20.04桌面版的种子文件。安装Ubuntu 20.04桌面版有几种方法,其中一种是安装Server版本并手动安装图形界面。然而,这种方法可能导致GPU驱动无法正常安装,从而导致界面卡顿和图形显示异常。另一种方法是参考国外大神的教程[Raspberry Pi 4 / 400 Ubuntu USB Mass Storage Boot Guide],在他的博客里也可以找到Ubuntu 18.04桌面版镜像的安装方法。下文将详细介绍这种方法以安装官方支持的Ubuntu Mate。请注意,此方法适用于Ubuntu 20.04桌面版的安装。 在开始安装之前,请确保你已经准备好以下工作: 1. 下载适用于树莓派4BUbuntu 20.04桌面版的映像文件。 2. 一个至少16GB的SD卡。 3. 一个SD卡读卡器。 4. 一台具有Ubuntu操作系统的电脑。 接下来,按照以下步骤进行安装: 1. 使用SD卡读卡器将SD卡连接到你的电脑。 2. 在你的电脑上打开终端(Terminal)。 3. 使用以下命令列出当前连接的设备,找到你的SD卡的设备名称: ``` lsblk ``` 4. 使用以下命令卸载SD卡的分区(假设设备名称为/dev/sdb): ``` sudo umount /dev/sdb* ``` 5. 使用以下命令将Ubuntu 20.04桌面版的映像文件写入SD卡(请将`path/to/image`替换为你下载的映像文件的路径,`/dev/sdb`替换为你的SD卡的设备名称): ``` sudo dd bs=4M if=path/to/image of=/dev/sdb status=progress conv=fsync ``` 6. 写入完成后,使用以下命令弹出SD卡: ``` sudo eject /dev/sdb ``` 7. 将SD卡插入树莓派4B中,并启动它。 这样,你就成功安装树莓派4BUbuntu 20.04桌面版。现在,你可以按照自己的需求进行进一步的配置和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [树莓派4b安装Ubuntu20.04桌面版并安装ROS1-Noetic和ROS2-Foxy](https://blog.csdn.net/oXiaoLingTong/article/details/123161254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [树莓派4Bubuntu-mate-20.04.1种子](https://download.csdn.net/download/sf877/85175845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孟的孟不是很老的孟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值