当前位置: 首页 > news >正文

实验环境搭建集锦(docker linux ros2+强化学习环境+linux上单片机串口调试)

为了记住一些实验环境配置开的文章,边配置边记,免得之后忘了。

Docker环境搭建

yay -S docker  //下载docker
docker info    //查看docker配置
sudo systemctl start docker //系统配置打开docker 
sudo systemctl enable docker //系统配置后台开启docker
systemctl status docker.service  //查看docker服务状态

如果配置了代理端口,需要加入端口号,例如127.0.0.1:8080这种

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
sudo vim /etc/systemd/system/docker.service.d/https-proxy.conf

之后重启一下网络服务和docker

sudo systemctl daemon-reload 
sudo systemctl restart docker

开始拉取最新的ubuntu镜像,并创建ubuntu容器,查看一下镜像名称和相关信息

sudo docker pull ubuntu
sudo docker run -it ubuntu
sudo docker ps -a          //新开一个命令行

 Docker中安装ros2并运行

每次重新打开docker容器需要:

sudo docker start 容器名
sudo docker exec -it 容器名 /bin/bash

在docker ubuntu命令行中,完成一些基础设置:

apt update 
apt upgrade
apt install wget
apt install vim
sudo apt update && sudo apt install locales
locale-gen en_US en_US.UTF-8
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 
export LANG=en_US.UTF-8                                  //设置时区和编码
cp /etc/apt/sources.list /etc/apt/sources.list.backup    //备份换源文件
vim /etc/apt/sources.list               //开始编辑文件,换源
apt-cache policy | grep universe        //查看自己设置的源

开始安装ros2最新版

apt update
apt upgrade
apt install curl gnupg lsb-release

添加ros2源的时候,容易遇到无法登陆上github端口的问题,其实只要打开梯子就能解决,但是这么下载东西会很慢,所以还是建议加个端口

1.登录网站:https://www.ipaddress.com

2. 在打开的网站中将“raw.githubusercontent.com”复制到查询栏中进行搜索,可以看到域名对应的IP地址信息

然后编辑端口文件并保存:

sudo vim /etc/hosts

这样就可以添加ros2官方源了

curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

下载ros2最新版

apt update
apt upgrade
apt install ros-jazzy-desktop
source /opt/ros/jazzy/setup.bash     //设置环境变量
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc                     //添加到/.bashrc文件

之后就可以测试ros2了,如下所示,docker上运行ros2和裸机运行ros2的区别只是需要提前打开容器,布置好两个节点

发现使用openocd调试时端口被占用

查一下被哪个进程占用了端口:

sudo netstat -tulnp | grep 3333

tcp        0      0 127.0.0.1:3333          0.0.0.0:*               LISTEN      3178/omni-discovery

属于gnome桌面环境的远程文件系统发现服务,该服务主要用于局域网文件共享发现,临时关闭不会影响系统基本功能。

sudo systemctl stop omni-discovery   //临时终止进程# 修改 OpenOCD 配置,改用 3334 端口
openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c "gdb_port 3334"sudo systemctl start omni-discovery  //恢复服务


http://www.mrgr.cn/news/92839.html

相关文章:

  • nuxt常用组件库html-validator、@nuxtjs/i18n、@nuxt/image、@unocss/nuxt使用解析
  • dj算法与分层图最短路径
  • LeetCode 解题思路 6(Hot 100)
  • 机器学习:线性回归,梯度下降,多元线性回归
  • 入门基础项目(SpringBoot+Vue)
  • AI辅助学习vue第十四章
  • 进程的状态 ─── linux第11课
  • C++22——哈希
  • Cybellum的使用场景开始之一
  • “深入浅出”系列之C++:(32)“流”的本质
  • Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比
  • 关于流水线的理解
  • c语言实现三子棋小游戏(涉及二维数组、函数、循环、常量、动态取地址等知识点)
  • 模块七_面向对象
  • 新版的 distrobox 首先需要:设置密码
  • 深度探索推理新境界:DeepSeek-R1如何用“自学”让AI更聪明?
  • 【3天快速入门WPF】11-附加属性
  • DeepSeek行业应用实践报告-智灵动力【112页PPT全】
  • 《动手学习深度学习》的笔记,将会持续更新。
  • LeetCode热题100JS(20/100)第四天|​41. 缺失的第一个正数​|​73. 矩阵置零​|​54. 螺旋矩阵​|​48. 旋转图像​