上位机图像处理和嵌入式模块部署(树莓派4b安装dockerros)

news2024/11/25 10:05:49

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们讨论过树莓派4b安装ros的问题,当时的解决方案就是利用docker来安装ros。我们都知道,每一个ros版本都是和特定的ubuntu版本bind在一起的。但是树莓派4b的镜像是一直在update的,不可能一直停在过去的某一个版本上。那这个时候,怎么解决在树莓派4b上安装ros的问题呢,方法就是docker。docker相当于在file system这一层做了软件隔离。也就是说,通过docker,我们可以让不同版本的ros、不同版本的debian、不同版本的ubuntu同时运行,并且赋予它们不同的额度的cpu资源、ram资源、存储资源和网络资源,这就是docker的优势所在。

        当然不仅如此,docker的另外一个优势就是软件部署。在嵌入式开发板部署软件是一个麻烦的事情,但是有了docker,我们就可以把相关的软件、配置文件和资源打包成一个镜像来处理。这样有了这个打包好的镜像之后,就再也不用因为软件配置的事情而烦恼了。

1、下载docker软件

        下载的方法比较简单,直接运行一行命令就可以。它会首先下载一个脚本,然后执行这个脚本,

sudo apt-get install docker
sudo curl -sSL https://get.docker.com | sh

        

2、执行最简单的hello-world程序

        docker是可以执行最简单的hello-world程序,使用方法需要在sudo模式下进行,

sudo docker run hello-world

        如果本地没有hello-world,它会从remote server下载一个hello-world,只要server上面有这样的程序或者是镜像。

3、执行一个ubuntu程序

        我们可以重新下载一个ubuntu镜像,并且进入到里面的bash,

sudo docker run -it ubuntu bash

        进入之后,用户名就变成了root,如果要退出这个镜像,那么输入exit返回即可。这样就可以回到之前的树莓派4b环境中。

4、安装ros

        如果在树莓派4b下面pull一个ros,也是比较简单的,只需要执行这条命令即可,

sudo docker pull ros:kinetic-robot

        下载好了docker命令之后,就可以进入到它的bash环境当中了,

sudo docker run -it  ros:kinetic-robot /bin/bash

        那怎么确认当前环境已经有ros的相关功能了呢?最简单的方法,就是查找一下catkin的相关命令。操作方法就是输入cat,然后按一下tab键,

feixiaoxing@raspberrypi:~/Desktop $ sudo docker run -it  ros:kinetic-robot /bin/bash
root@81471a505d2e:/# cat
cat                        catkin_find                catkin_init_workspace      catkin_package_version     catkin_test_changelog
catchsegv                  catkin_find_pkg            catkin_make                catkin_prepare_release     catkin_test_results
catkin_create_pkg          catkin_generate_changelog  catkin_make_isolated       catkin_tag_changelog       catkin_topological_order

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1651379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于参数化建模的3D产品组态实现

我们最近为荷兰设计师家具制造商 KILO 发布了基于网络的 3D 配置器的第一个生产版本。我们使用了 Salsita 3D 配置器,这是一个内部 SDK,使新的 3D 配置器的实施变得轻而易举。虽然它给我们带来了巨大帮助,但我们仍然面临一些有趣的挑战。 NSD…

LINUX 入门 6

LINUX 入门 6 day10 20240505 耗时:41min day10 20240506 耗时:155min 课程链接地址 第6章 DNS协议与请求 1 DNS协议分析与项目介绍 自己去看教程 快速扫了一下,还是结合实践去看概念有感觉 回答以下几个问题: dns作用dns分层…

python网络爬虫学习——编写一个网络爬虫

参考资料:用Python写网络爬虫(第2版) 1、编写一个函数 (1)用于下载网页,且当下载网页发生错误时能及时报错。 # 导入库 import urllib.request from urllib.error import URLError,HTTPError,ContentTooS…

Shell编程规范和变量

一.Shell脚本概述 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各种Shell控制语句以完成更复杂的操作 Shell脚本应用场景 重复性操作交互性任务批量事务处理服务运行状态监控定时任务执行 Shell的作用 1)介于系统内核与用…

《Fundamentals of Power Electronics》——隔离型CUK转换器、

以下是隔离型CUK转换器的相关知识点: Cuk电路的隔离型版本获得方式不同。基础非隔离型Cuk电路如下图所示。 将上图中电容C1分成两个串联的电容C1a和C1b,得到结果如下图所示。 在两个电容之间插入一个变压器,得到如下图所示电路。 变压器极性…

网络基础-默认网关

默认网关,又称缺省网关,缺省路由器;它是指在一个连接两个不同网络的设备,为网关设备;当主机需要发送数据包到另一个子网或者另一个网络时,它会首先检查目标地址是否在本地子网内;如果不在本地子…

Flask gevent启动报错UnicodeDecodeError

文章目录 环境代码报错Track解决思路 环境 acondana 24.1.2python 3.7.13 32bitflask 2.2.3gevent 21.8.0 代码 port 7236 logging.basicConfig(levellogging.INFO, # 控制台打印的日志级别filename./logs/app.log, # 将日志写入log_new.log文件中filemodea, # 模式&…

nodejs里面的 http 模块介绍和使用

Node.js的HTTP模块是一个核心模块,它提供了很多功能来创建HTTP服务器和发送HTTP请求。 http.Server是一个基于事件的http服务器,内部是由c实现的,接口是由JavaScript封装。 http.request是一个http客户端工具。 用户向服务器发送数据。 创…

Cordova 12 Android 不支持 http 原因探索

最近在升级 Cordova 到最新版本,升级完成后发现无法请求网络,研究了两次最终发现解决方案。 发现控制台中有日志输出,提示当前是 https ,无法直接访问 http。 [INFO:CONSOLE(225)] "Mixed Content: The page at https://lo…

怎么设置电脑开机后自动启动某个程序 ?(电脑如何设置自动运行?)

​在现今的信息化社会,电脑已经成为我们生活和工作中不可或缺的一部分。而一些特定的程序,如杀毒软件、系统优化工具等,我们可能希望它们在每次开机后都能自动启动,以便更好地保护和管理我们的电脑。那么,如何设置电脑…

白色或类白色的粉末/固体,DOTA-Ala-Ala-Tyr-COOH,是一种具有特定氨基酸序列的多肽,具有良好的稳定性和溶解性

一、试剂信息 英文名:DOTA-Ala-Ala-Tyr-COOH,DOTA-AAY-OHCAS号:N/A分子式:C31H47N7O12分子量:709.74结构式: 纯度标准:≥95%包装规格:1g,5g,10g&#xff08…

什么是HTTP/2?

HTTP/2(原名HTTP 2.0)即超文本传输协议第二版,使用于万维网。HTTP/2主要基于SPDY协议,通过对HTTP头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措,来减少网络延迟,提高客户端的页面加载…

探索希尔排序算法:优雅而高效的增量排序

在计算机科学领域,排序算法是一项至关重要的技术,在各种应用场景中都扮演着重要角色。而希尔排序算法作为一种增量排序方法,在实际应用中展现了其优雅而高效的特性。本文将深入探讨希尔排序算法的原理、实现细节以及优化方法,带您…

free5gc+ueransim操作

启动free5gc容器 cd ~/free5gc-compose docker-compose up -d 记录虚拟网卡地址,eth0 ifconfig 查看并记录amf网元的ip地址 sudo docker inspect amf "IPAddress"那一行,后面记录的即是amf的ip地址 记录上述两个ip地址,完成UER…

C#高级编程笔记-泛型

本章的主要内容如下: ● 泛型概述 ● 创建泛型类 ● 泛型类的特性 ● 泛型接口 ● 泛型结构 ● 泛型方法 目录 1.1 泛型概述 1.1.1 性能 1.1.2 类型安全 1.1.3 二进制代码的重用 1.1.4 代码的扩展 1.1.5 命名…

2024高校网络安全管理运维赛wp

文章目录 misc签到钓鱼邮件识别easyshellSecretDBGatewayzipApachef for r webphpsqlMessy Mongo misc 签到 钓鱼邮件识别 两部分解base64,各一个flag 后面没有什么地方有有用信息了,根据题目钓鱼邮件,可能第三段flag就跟DMARC、DKIM 和 SP…

LED显示屏的维护与使用指南

LED显示屏作为一种先进的显示技术,广泛应用于广告、信息显示、舞台背景等领域。然而,为了确保显示屏的长期稳定运行和良好的显示效果,对其进行正确的维护和使用是非常必要的。以下是一些专业的维护与使用建议: 维护建议&#xff1…

个人IP打造孵化运营产业链商业计划书

【干货资料持续更新,以防走丢】 个人IP打造孵化运营产业链商业计划书 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT共90页(完整资料包含以下内容) 目录 个人IP运营方案: 1. 个人IP定位与构建 1.1 人格画像构…

Chromium编译指南2024 Windows11篇-Git工具准备(四)

前言 在《Chromium编译指南2024(三)》中,我们已经完成了对 Chromium 编译环境的其他相关环境变量的设置, 接下来,我们将进一步探讨如何初始化配置 Git,为获取 Chromium 源代码做好准备。 1. 配置Git 用户…

计算有效声压

计算有效声压 clear all; %%----------------------------------------------读取文件------------------------------------------ % 从wav文件读入语音数据,该语音采样率16k,故信号最高频率8k。 [x,fs]audioread(C2_3_y.wav); % 取x的一个通道 xx(:,1)…