您的位置:首页 - 文章 -  - 正文

发布树莓派4B的ROS Melodic完整版v1.0版本镜像

0x00 树莓派4B介绍

树莓派4B从6月份就听说上市开卖了,看了一下介绍还是比较激动。据说性能比树莓派3B+提供3倍,一直想买来测试看看。但是苦于我们国内不在树莓派首发圈内,所以淘宝上都是预售。我从7月份开始下单购买,一直等了一个多月,终于在上周淘宝卖家说树莓派4B的2G版本有现货。提示我可以不用等1G的了,可以更新下订单就可以拿到2G版本的。所以果断修改订单,所以很快树莓派4B的2G内存版本给我发过来了。直接上图:

包装盒正面和背面
包装盒后面侧面
树莓派4B板硬件介绍
树莓派4B和树莓派3B+板子
树莓派4B与3B+参数对比

这里特别要注意下树莓派4B的散热情况,因为树莓派4B内部有一个监控CPU温度的传感器,当检测到温度过高的时候,会主动降低CPU主频,例如从1.5GHz降低到1GHz,这样减少热量,防止烧坏CPU。

树莓派3B+板子的CPU散热
树莓派4B板子CPU散热

所以为了保证树莓派4B发挥出自己应有的性能,我建议大家在使用树莓派4B时候,至少要加一个大号的散热片才行,最好是加上风扇。如果想购买散热片的,也可以选择我们的大号散热片,物美价廉:


0x01 ROS镜像简介

这里的ros melodic镜像虽然是在树莓派4B板子上编译的,但是该镜像确实可以在树莓派的其他型号板子上都能运行。经过测试不仅可以树莓派4完美运行,还可以在树莓派3B+,树莓派3B,甚至树莓派zero w这样的小板子都可以运行该ros系统。

现在树莓派板4B只能使用官方提供的raspbian系统,现在的raspbian系统已经升级为Debian 10 Buster版本了。所以我就在此系统上下载了所有常用的ROS软件包。然后将这些软件包都编译了,最后安装到/opt/ros/melodic目录下。当前共编译了215个软件包,包括常用的slam相关的软件包,move_base、gmapping、amcl、hector_slam等等。包括rqt工具、rviz工具也都编译完成,总体来说感觉跑起来ROS是比树莓派3B+板子上快点,不怎么卡了。

在这里系统制作好以后,我就把桌面的默认背景图片给换成了ROS小课堂的logo。这算是唯一的一个植入性广告了,如果大家不喜欢的话,可以自行更换桌面背景即可。单纯从桌面来看的话,基本上跟以前的镜像没什么区别。

系统启动后的桌面

0x02 ROS镜像下载

花了近一周时间下载ROS源码、编译、测试,最终才做好这份树莓派ROS镜像。所以这个镜像不是免费下载使用的,希望可以理解。当然,我也是建议大家可以自己下载ROS源码来编译,因为我感觉不是难,而是过程太麻烦而已。你要是想节省点时间,那就下载我编译好的镜像吧,镜像烧写好,立刻就能用上ROS的最新melodic版本。

如果你是我们网站的VIP付费用户的话,那么所有需要付费下载的资源都是免费的下载的了。也就是说如果你是本站VIP付费用户,那你就可以免费下载这里的资源。所以建议大家还是购买VIP用户,这样不仅可以下载资源,还可以任意观看付费课程了。

隐藏内容需要支付: ¥30
立即购买 升级VIP

当下载好镜像后,第一件事仍然是校验一下下载镜像的完整性。只有下载完整的镜像才能进行解压和安装,大家可以直接在ubuntu系统中使用md5sum命令来生成镜像的md5校验码。正确的md5校验码是:

233ecaa67862bfede143613bae2d2cfd

当自己得到的校验码跟上述不同,可能由于网络问题,导致下载的文件不完整或错误。所以需要重新下载,如果没问题的话就可以等待烧写了。这里用到的md5校验命令如下:

md5sum raspi_buster_ros_melodic_desktop_full_v1_0.img.xz

这里用的的解压xz文件的命令如下:

xz -dkv raspi_buster_ros_melodic_desktop_full_v1_0.img.xz

如果你使用上述的xz命令在解压时提示xz命令未知,那说明你还没有安装这个工具,可以直接使用如下命令来安装这个xz工具,如果上述xz解压命令可以正常运行,说明你的系统中已经安装了这个xz工具了,这里就没必要再安装了:

sudo apt-get install xz-utils

具体的校验和解压步骤如下图所示:

校验和解压镜像

0x03 ROS镜像烧写

这里需要准备好至少16G大小的microSD卡,如果没有的话,也可以在我们商店中购买,链接如下:

当有了SD卡后,接下来就是开始烧写镜像了。这里建议大家使用Etcher这个软件来烧写,非常的方便。当把microSD卡插入到电脑上时,可以自动的检测到SD卡,我们只需要选择要烧写的镜像即可。如果没有该软件的,可以从其官网下载。官网地址如下:

https://www.balena.io/etcher/

etcher官网

由于从国外网站下载该软件,有可能下载会比较慢。我已经下载好了该软件,不过我只下载了Linux x64版本,在Ubuntu中使用是没有问题的。已经放到百度网盘中,大家可以下载:

链接: https://pan.baidu.com/s/1fGPQs71RNSc-14PhUUtBZQ 提取码: 3d23

烧写过程就比较简单了,我们打开下载好的软件。然后把microSD卡插到电脑上,这样etcher就会自动识别microSD卡设备挂载点,我们只需要选择好解压好的镜像即可,最后点击最后的按钮“Flash !”即可开始烧写了。等待大约5分钟左右即可将镜像烧写完成,下面是演示过程,大家可以看看:

使用etcher烧写镜像过程

当烧写完成后,如果烧写没问题,会有如下的画面,提示Flash Complete! 如果烧写过程有错误,这个页面也会有错误提示:


0x04 系统开机运行

当镜像烧写完成后,我们就可以将microSD卡插入到树莓派中。这时大家可能会遇到一个比较头疼的问题,大多数人在买树莓派的时候,是没有购买显示屏的。那现在我们刚烧写好系统,我们该如何连接到树莓派系统中呢?

我这里有一个简单的方法可以提供给大家,这里需要准备一根网线即可。我们用网线把我们的树莓派和电脑连接在一起,然后我们把自己电脑的IP共享给树莓派,这样树莓派也就可以分到一个IP地址。我们就根据这个IP地址来连接过去就可以了。我发布的镜像中,我已经将22号端口的ssh服务打开了,5900端口的vnc-server也打开了。这样我们不仅可以使用终端ssh远程连接,也可以使用vnc-viewer软件来远程桌面连接到我们的树莓派上了。当连接到树莓派以后,我们就可以进行各种操作了,例如把树莓派连接到我们的无线网络中。具体操作步骤如下:

首先配置电脑的网络,将IPv4配置成:Shared to other Computers,当配置好这个以后。我们就可以将网线连接好,将树莓派开机。此时稍等几秒后,就会有提示网络连接成功,说明树莓派已经获取到IP地址了。操作如下动图所示:

当树莓派和电脑连接成功后,我们就可以来获取树莓派当前分配的IP地址了。我们此时需要在终端中输入以下命令:

nmap 10.42.0.1/24

namp命令扫描得到树莓派IP

当得到树莓派的IP地址后,我们需要记住这个IP地址,因为后面我们会使用ssh来连接到树莓派:

ssh远程连接到树莓派系统

或者我们也可以使用VNC-viewer来远程桌面连接到树莓派,这个操作也很简单:

vnc-viewer远程桌面连接到树莓派

接下来就可以来简单测试下ROS中的各个软件包是否正常,我们这里测试一下仿真小乌龟看看效果:

测试树莓派中的ros系统

还有一个需要注意的事情就是扩展我们microSD卡的容量,因为当安装好镜像启动后,默认的系统空间只有8.4G。因此,当我们把16G的sd卡插到树莓派上就会有空间浪费,因此需要使系统可以识别到sd卡的真实容量。我们可以进行如下操作,如下视频所示:

microSD卡扩容

最后给大家演示下,我们既然已经通过网线连接到树莓派系统中了。如果有无线网络的话,后面我们还是通过无线网来调试树莓派,这样才更方便,不然每次拿网线也麻烦:

连接无线网

0x05 语音板使用

由于在系统镜像中已经安装好了,语音板的驱动程序,因此我们可以直接将语音板插在这个树莓派4B板子上使用。对于语音板的使用,我们会有专门的教程来介绍,这里只做简单的说明,树莓派4B板子也可以使用我们的语音板。

树莓派4B上使用语音板

这里需要下载的语音测试代码扔为代码仓库中的代码,只不过切换为pi4-devel分支即可,可以使用如下命令来直接下载代码:

git clone -b pi4-devel https://code.corvin.cn:3000/corvin_zhang/AIVoiceSystem.git

下载树莓派4B的语音板代码

接下来就可以直接使用make命令来编译了,最后就可以启动语音板进行测试了。启动命令如下:

sudo ./AIVoiceSystem -p profile -w ./resources/models/snowboy.umdl

如果想购买我们语音板的,可以从下面直接下单购买:


0x06 注意事项

[1].系统启动后,默认的用户名是corvin,默认的密码也是corvin。对于系统的root用户,密码也是corvin。

[2].系统已经默认开启了22端口的ssh-server和5900端口的vnc-server,这样大家就可以很方便的ssh连接和vnc远程桌面连接了。

[3].在终端中,无法使用apt命令来安装ros melodic相关的软件包。这是因为该系统中所有的ros软件包,都是我使用源码编译的,默认的raspbian系统是无法使用apt来安装ros各软件包的。

[4].系统镜像虽然是在树莓派4B板子上编译的,但是该镜像可以在树莓派各型号的板子上都能运行起来。例如树莓派3B+、树莓派3B,即使在树莓派zero w这样的小板子中也可以运行起来。

[5].该系统镜像我已经将语音板驱动都安装好了,因此只要购买语音板的,都可以直接将语音板插在树莓派上直接使用。


0x07 参考资料

[1].镜像烧写软件Etcher官网. https://www.balena.io/etcher/

[2].树莓派4B 更新wiringPi库到2.52的方法. http://www.52pi.net/archives/1918

[3].Nmap 主机发现扫描. https://www.cnblogs.com/LyShark/p/10637507.html

[4].树莓派4B性能评测报告及各版本性能比对. http://shumeipai.nxez.com/2019/06/26/raspberry-pi-4-review-the-new-gold-standard-for-single-board-computing.html


0x08 问题反馈

大家在按照教程操作过程中有任何问题,可以直接在文章末尾给我留言,或者关注ROS小课堂的官方微信公众号,在公众号中给我发消息反馈问题也行。我基本上每天都会处理公众号中的留言!当然如果你要是顺便给ROS小课堂打个赏,我也会感激不尽的,打赏30块还会被邀请进ROS小课堂的微信群,与更多志同道合的小伙伴一起学习和交流!

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据