树莓派3B+踩坑记录:一、安装Ubuntu Mate

2023-05-16

树莓派3B+踩坑记录:一、安装Ubuntu Mate

    • 树莓派,Ubuntu,ROS
    • 硬件准备
    • 软件准备
    • 系统烧录
    • 安装Ubuntu Mate
    • 更换国内源
    • 网络配置
    • 开启ssh远程
    • 其他
      • 彩虹屏解决方案
      • XShell和Xftp下载
    • 写在最后

树莓派,Ubuntu,ROS

之前刚入手一块树莓派4B,捣鼓了几天之后想用下载个ROS和笔记本上Ubuntu连接玩玩,结果折腾了快一星期都死活装不上,然后就放弃了。现在树莓派官网里面Ubuntu仅支持到3B+,虽然ROS Wiki上面有教怎么在Raspbain上面安装ROS,但是试过之后发现对本小白来说还是不行啊,有兴趣的小伙伴可以看看这个官网的教程。

ROSWiki官网上在Raspbian安装教程

另外国外有大神已经在Pi4上面安装了Ubuntu19.10,大家也可以自己去找一下,不过听装完的人说效果不是很好。

所以身为穷人的我转手在闲鱼上出售了我的Pi4然后转头又入手了3B+,反正在安装Ubuntu和ROS的过程中基本上能踩的坑我都踩了,写这篇博文的目的一方面是给大家提供一些参考,这里记录了一些我折腾树莓派时的一些借鉴的博文、自己的心得等,另一方面也是给我以后的回顾用的。如果有写的不对的地方也希望大家及时指出,我可以进行修改。

硬件准备

在开始我们正式的安装之前,我们需要把材料都准备好,这里我列出了一些比较有必要购买的硬件:

  1. 树莓派3B+
  2. SD卡及读卡器;16G以上即可,不过最好还是32G的 ;
  3. 无线键鼠 ;这个东西同时具备了鼠标和键盘的功能,而且只占用树莓派的一个接口就行了。虽然很多人说这个很好用,其实我个人觉得用起来还是有点麻烦的,其实还不如某宝买一个60多块的鼠标键盘套装,毕竟树莓派有4个USB接口,大部分情况下还是够用的;
  4. 显示屏和HDMI线 ;这个是重点要记下来!因为我之前用的都是Raspbian,而Raspbian基本就是卡插进去之后可以通过ssh远程登录,但是,Ubuntu开机的时候会有个系统的配置过程,因此无论是ssh还是VNC什么的都是不可以直接远程控制的!我当初弄了很久才反应过来,所以非常有必要弄个显示屏。当然其实不买也没事,也可以直接通过HDMI线连到家里的电视上面进行配置;
  5. 网线,可选;

软件准备

DiskGenius, Win32DiskImager

然后是树莓派官方的系统文件,这里我选择的是对应3B+版本的Ubuntu Mate18.04,对应的ROS版本为Melodic。

Ubuntu Mate官方下载地址

进入网页之后依次按如下选择
选择这里
在这里插入图片描述
如果是安装16.04的同学,对应的ROS版本是Kinetic,安装操作类似,以下过程也可以作为参考。

系统烧录

将SD卡插进读卡器之后再插进电脑中,DiskGenius里面读出来的U盘里面应该是有2个分区的,移至这两个分区的蓝色图块上面右键选择“删除当前分区”,然后就会发现蓝色图块合并成1个灰色的区域,再次选中并且右键选择建立新的分区,直接确定,然后左上角提交操作并确认格式化。然后等U盘退出又重新加载回来之后就可以关闭DiskGenius了。

之后通过Win32DiskImager选择镜像文件进行烧录。选择蓝色文件夹的图标,选择镜像文件,然后点击写入,弹窗直接点击确认。
在这里插入图片描述
完成之后,关闭Win32DiskImager,需要再次打开U盘空间,新建一个txt文件然后改为“ssh”文件,来开启ssh服务。
在这里插入图片描述

安装Ubuntu Mate

终于来到了“正餐部分”。拔出读卡器后,将卡插进树莓派中,然后把该差的都插好。这边是我的接线:上面是键鼠的接头,左边红色的是HDMI线(用来接电视的),黑色的是电源线。
在这里插入图片描述
通过HDMI线连接显示器后树莓派上电之后就可以直接进入安装界面,安装的过程和PC上的Ubuntu安装过程相同,进入界面之后依次选择语言,时区,网络连接,设置用户名和密码,键盘布局等,然后就可以进入Ubuntu Mate18.04的界面啦~

在这里插入图片描述

更换国内源

安装完成之后我们需要将Ubuntu Mate的源更换为国内的镜像源,因为系统默认的apt源是位于国外的服务器上的,因此当使用apt-get下载应用包时会非常慢,所以需要进行替换,国内如清华,中科大和阿里的都可以用。

这里推荐一篇非常好的博文,关于替换Ubuntu Mate源的,博主不仅提供了方法,而且还给出了背后的理由,非常值得学习!

换用国内apt源解决树莓派安装ubuntu后apt-get速度慢的问题

我这里稍微总结一下:很多同学在换源以及进行其他操作的时候都是从网页上面直接照搬的,但实际上里面的一些信息是不符合自己系统的。拿Raspbian打个比方就是你拿着Buster的源去给Stretch版本的用,这怎么行嘛。

我们使用如下命令打开source.list可以查看到里面的源。

sudo vim /etc/apt/sources.list

以其中一条代码行为例

deb http://ports.ubuntu.com/ubuntu-ports bionic main restricted

我们在更换源的时候,实际上只需要把中间的url部分进行替换即可!其他部分完全可以不用动,因为在改动这些东西的时候往往在不经意之间会使得源不符合你的系统版本。这些部分的意思归纳如下:

名称对应Ubuntu版本
bionicUbuntu18.04
xenialUbuntu16.04
wilyUbuntu15.10
vividUbuntu15.04
trustyUbuntu14.04
preciseUbuntu12.04
名称意思
main“基本组件”,只包含符合Ubuntu的协议要求并由Ubuntu团队维护支持的软件
restricted“受限”组件,其中包含了非常重要的,但并不具有合适的自由协议的软件,如显卡驱动,同样有 ubuntu团队维护支持
universe“社区维护”组件,其中包含的软件种类繁多,它们可能采用受限于协议,可能不是,但都不为ubuntu 团队维护
multiverse“非自由”组件,其中包括了不符合自由软体要求而且不被Ubuntu团队支援的软件,通常为商业公司编写的软件

因此,我们在更换源的时候,实际上只需要把对应的url网址进行更换就行了,举例来说,如果你用的是某科大的镜像源,那就是把内部代码里面的“http://ports.ubuntu.com/ubuntu-ports”替换为“http://mirrors.ustc.edu.cn/ubuntu-ports”就可以了,如果你用的是阿里的,那就是替换为"http://mirrors.aliyun.com/ubuntu-ports"。

如果遇到权限问题,使用以下命令修改权限即可

sudo chmod 777 /etc/apt/sources.list

然后进行源的更新

sudo apt-get update

网络配置

尽管在Ubuntu Mate系统初始化配置的时候会提示你连接wifi,但是还是需要配置一下我们的网络。因为我在配置完系统之后发现我只能连接到一开始选择的wifi网络,尽管存在其他wifi,但是我输入密码之后还是死活连不上,一开始还以为是系统问题,所以重新安装了好几遍(呜呜呜,浪费了我超级长的时间),后来仔细研究了一下发现还是需要对系统的网络进行配置(如果大家能直接连上别的wifi就直接跳过这步吧)。

关于网络配置的详细内容请移步这篇博文:树莓派3B+笔记(3)–ubuntu mate下配置wifi

这里仅列出了我配置时的方案,如果有其他问题直接移步上面的博文。执行以下命令:

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

打开之后输入以下内容:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

network={							//你需要连接的其中一个wifi
       ssid="ssid"					//wifi名称
       scan_ssid=1					//连接隐藏WiFi时需要指定该值为1
       psk="密码"					//wifi密码
       priority=5					//优先级,值越大,优先级越高
}
network={							//你需要连接的第二个wifi
       ssid="ssid"
       psk="密码"
       priority=1
}

这里我配置了自己家的wifi,以及手机和电脑的热点,大家可以根据自己的需要自行配置。

配置完成后执行

sudo systemctl restart networking

开启ssh远程

首先执行以下命令

sudo raspi-config

界面中选择 Interfacing Options,进入后选择ssh确定Enable开启(其实顺便也可以把camera、I2C什么的也一起开了)。

开启之后退回界面点击Finish并重启系统(这里插一句,如果是16.04在开启ssh后重启可能会进入彩虹屏,并且一直卡在那里。18.04的用户可能也会遇到,不过等一会就会马上进入系统,所以不用担心。关于16.04彩虹屏的解决方法我写在了最后)。

重启系统之后,我们不管原系统有没有ssh-server,直接进行重装。

sudo apt autoremove openssh-server		//卸载ssh
sudo apt update							//更新源
sudo apt install openssh-server			//安装ssh
sudo service ssh start					//开启ssh
update-rc.d ssh enable					//ssh开机自启动

如果在最后一步的时候显示权限不够,用"su root"进入root用户执行。

查看ssh server是否开启可用以下命令,看到sshd时即已经开启

ps -e | grep ssh

然后确保我们的电脑和树莓派处于同一个网段下面(就是说两者接了同一个wifi或同一个热点),树莓派处输入

ifconfig

这里的inet对应的ip就是我们ssh用来远程控制的树莓派ip地址
在这里插入图片描述
用XShell软件登陆连接(该软件可以免费下载的,具体拉到文章最后面)
在这里插入图片描述
初次登陆会让你输入用户名和密码,输入我们初始化Ubuntu Mate系统时配置的用户名和密码,点击记住选项即可,然后我们就登陆进了我们的树莓派。
在这里插入图片描述

其他

这边是关于树莓派彩虹屏的解决方案以及XShell和Xftp的下载方法

彩虹屏解决方案

如果是安装Ubuntu Mate16.04的通信,会在执行完“sudo raspi-config”配置开启ssh重启之后进入彩虹屏。这边给大家一份文件:
链接:https://pan.baidu.com/s/1-9UrpdEQh4nmSdDvH-Lw2A
提取码:ab3o
下载完之后将SD卡从树莓派中拔出,然后插入读卡器中重新在电脑里面打开,然后将boot文件解压,把里面的4个文件拷贝替换卡内的原文件。然后拔出重新插回树莓派里面,开机发现完美解决!

XShell和Xftp下载

首先,不要去下载网上的破解版(我之前下的破解版然后不知道为啥有一天认证过期了。。。)

如果你是学生,可以直接去外文官网申请下载免费版的(非商业用途),不要去中文官网,这里我直接给链接:XSHELL6官网下载

进去之后右下角选择免费授权页面
在这里插入图片描述
填好姓名和邮箱
在这里插入图片描述
这个邮件回复还是很快的,基本上会直接在回复的邮件里面给你免费下载的链接,不过链接的有效期只有1个月,过期之后需要重新申请。

写在最后

关于ROS的安装,由于这篇文章比我预期的写的多,因此就不放在这里了,另外再开一片专门讲树莓派ROS安装的,这个坑真的巨多。。。我把我踩过的坑以及解决方案都总结了一下,希望能对大家有所帮助。
Ubuntu Mate上ROS的安装及问题解决方案总结

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派3B+踩坑记录:一、安装Ubuntu Mate 的相关文章

随机推荐

  • java prometheus 自定义exporter开发,以及实现多个接口返回metrics

    普罗 自定义exporter开发 exporter的作用是采集需要监控的数据 xff0c 并将采集到的数据转换成prometheus所需要的数据格式 xff0c 将这些转换后的数据返回 xff0c 供给prometheus 使用 java
  • 双系统重装Ubuntu经验分享

    真的很喜欢ubuntu 但又没有恒心把它学通透 xff0c 毕竟不是相关专业 第一次重装是因为没多少经验 xff0c 安装qqforlinux的时候多了两个东西 xff0c 还自己生成了快捷方式 xff0c 就想点开看看是啥 xff0c 结
  • 还在迷茫不知Dashboard是什么?答案在文中揭晓

    Dashboard的中文翻译是 仪表盘 xff0c 与汽车的仪表盘相同 一种反映车辆各系统工作状况的装置 xff0c 有车速里程表 转速表 燃油表等 司机可以很方便地从汽车仪表盘中获得汽车整体状况 而Dashboard沿袭了汽车仪表盘理念
  • 问题:UPDATE 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。

    解决方案 1 你可以在TSQL前Set ARITHABORT ON 代码如下 Set ARITHABORT ON GO INSERT INTO ta 2 在ADO NET中 你可以这样来写 C 代码 MyConnection Execute
  • 智能制造:三体智能革命

    赵敏 宁振波 郭朝晖是走向智能研究院资深专家 xff0c 三体智能革命 编委会中三位重要作者 他们从去年5月起多次参加了中国工程院主持的 中国智能制造发展战略研究报告 的研讨 评审与修订工作 xff0c 对该报告的形成过程 研究主旨和详细内
  • 小觅相机SDK samples安装Link error: cannot find -lvtkproj4

    Link error cannot find lvtkproj4 error ld returned 1 exit status 找不到相关动态库文件 设置软链接 xff1a ln s usr lib x86 64 linux gnu li
  • 年度回忆录(2011.12----2012.09)

    前几天刚刚参加了提高班十期的开学典礼 xff0c 最近师院的新生也陆 陆续 续的开始报道了 每年到这个时候都会感慨 年年岁岁花相似 xff0c 年年岁岁人不同 啊 对于提高班来说每年都有新的血液注入进来 xff0c 提高班的队伍在不断的扩大
  • python函数(变量,参数)

    函数的变量 1 xff0c 全局变量 定义在最外层的变量 xff0c 对于所有的内函数都能调用 2 xff0c 局部变量 定义在函数内的变量叫做局部变量 xff0c 在函数外是不能访问局部变量 注 xff1a 全局变量不能直接在函数内部进行
  • 程序员读书和练习的方法(个人观点)

    lt 传送门 gt 针对本文的交流探讨 gt 总宗旨 xff1a 打好计算机通用理论基础 通用实战能力 xff0c 便于需要时对各领域的无障碍深钻 时间宝贵 xff0c 不要为了学习而学习 计算机通用理论基础 xff1a 计算机各领域理论基
  • 从零开始的Ubuntu 16.04下PX4编译环境的搭建

    近来入手了一块pixhawk xff0c 想进行一些基于已有代码的二次加工 xff0c 于是到官网https dev px4 io 上看教程 官网上的教程是分为中文 英文以及韩文的版本 很多人肯定第一反应就是看中文的版本 但是这样做弊端真的
  • 驱动程序开发:SPI设备驱动

    目录 Linux下SPI驱动简介SPI架构概述SPI适配器 xff08 控制器 xff09 SPI设备驱动spi driver注册示例SPI 设备和驱动匹配过程编写imc20608六轴传感器SPI驱动设备树编写操作具体的imc20608驱动
  • 操作系统知识点(二)

    文章目录 内存管理程序执行过程内存保护 连续分配非连续分配基本分页存储管理方式基本分段存储管理方式段页式存储管理方式 虚拟内存局部性原理请求分页存储管理 内存管理 内存管理 Memory Management 是操作系统设计中最重要和最复杂
  • VR行业发展的前景和现状?

    标题 VR行业发展的前景和现状 xff1f 1 一个新事物的产生 xff0c 总是伴随着看好和唱衰两种声音 这两种态度自然有其可以理解的地方 xff0c 因为摆在我们面前的是未知 xff0c 而坐在餐桌前的两拨人 xff0c 站在不同的角度
  • 头文件与库的区别

    昨天突然问了一下什么是头文件 xff0c 我一听就傻了 xff0c 虽然上课的时候老师在讲编译的四个过程的时候说了一下 xff0c 但是还是不太理解 xff0c 我们知道编译过程中的预处理阶段会进行头文件展开 xff0c 宏替换以及条件编译
  • 进程、线程

    线程 xff08 thread xff09 线程其实是操作系统能够进行运算调度的最小单位 它是被包含在进程之中的 xff0c 是进程中的实际运作单位 一条线程指的是进程中一个单一顺序的控制流 xff0c 一个进程中可以并发多个线程 xff0
  • 基于Zynq7020双千兆以太网的数字信号处理板设计

    一 背景 背景 Xilinx公司在2010年发布了可扩展的处理器平台Zynq7000系列 xff0c 它采用了28nm工艺 xff0c 将FPGA与ARM cortex A9集成在一颗芯片上 xff0c 实现了高性能 高集成度 低功耗 Zy
  • 深入理解JS中的变量作用域

    在 JS 当中一个变量的作用域 xff08 scope xff09 是程序中定义这个变量的区域 变量分为两类 xff1a 全局 xff08 global xff09 的和局部的 其中全局变量的作用域是全局性的 xff0c 即在 JavaSc
  • 硬件工程师,从零开始无人机开发。

    毕业已经五年了 xff0c 一直在杭州某大厂 xff0c 做无人机硬件开发 无人机这块 xff0c 我进去的时候大厂刚开始 做 xff0c 有幸参与到整个无人机的硬件开发 我这个刚毕业的技术小白 xff0c 在这五年间成长了很多 无奈 今年
  • 个人总结:板球控制系统之串级PID整定方法,速度环与位置环,40S任务10S完成

    其实单环我们先出了所有题目 xff0c 但是效果显然没有串级PID的效果好 xff0c 有人需要的话可以把程序包发出来 xff0c 板球运行视屏也有 另外 xff1a 天下舵机参差不齐 xff08 哪怕型号相同 xff09 xff0c 想要
  • 树莓派3B+踩坑记录:一、安装Ubuntu Mate

    树莓派3B 43 踩坑记录 xff1a 一 安装Ubuntu Mate 树莓派 xff0c Ubuntu xff0c ROS硬件准备软件准备系统烧录安装Ubuntu Mate更换国内源网络配置开启ssh远程其他彩虹屏解决方案XShell和X