【ROS学习】ROS主从机通信的利器——NFS文件系统挂载


我们都知道在与从机进行通信的时候,可以采用SSH进行通信,但是,运行的环境却是从机的配置。比如,我们的从机是树莓派这种小型的嵌入式设备,在安装ROS的时候并不能像笔记本那样高性能的设备安装全部配置,如一些gazebo、rviz仿真就不太支持!因此将树莓派的文件挂载到我们笔记本上,不仅采用主机的性能,而且编写的代码可以同步到树莓派的文件中,这就是我接下来要介绍的NFS文件系统

目录

一、安装SSH

1、安装openssh-server

2、检查ssh服务是否开启

3、启动ssh服务

二、配置NFS

1、配置服务端(树莓派)

①安装NFS

②编写配置文件

③修改挂载目录的权限

④启动NFS

⑤挂载NFS

⑥查看是否挂载成功

2、配置客户端(笔记本主机)

1、安装NFS客户端

2、挂载服务端的文件到本地主机

3、查看是否挂载成功


一、安装SSH

1、安装openssh-server

sudo apt-get install openssh-server

2、检查ssh服务是否开启

sudo ps -e | grep ssh

3、启动ssh服务

sudo service ssh start

二、配置NFS

1、配置服务端(树莓派)

①安装NFS

sudo apt-get install nfs-kernel-server

②编写配置文件

(注:没安装vim的话记得sudo apt install vim 即可哦!)

sudo vim /etc/exports

配置内容:

/home/qsx/robot_ws *(rw,sync,no_root_squash,no_subtree_check)

前面是你要挂载的文件夹路径,后面你就跟着一样就行!*号表示可以任何IP访问该文件夹

 ③修改挂载目录的权限

(注:“-R”表示包含该文件夹及其子文件夹)

sudo chmod -R 777 /home/qsx/robot_ws

④启动NFS

sudo /etc/init.d/nfs-kernel-server start

⑤挂载NFS

(注:192.168.31.23是树莓派的IP地址,后面是挂载的文件夹路径,/mnt 的挂载的路径名,可以写成别的!)

sudo mount -t nfs -o nolock 192.168.31.23:/home/qsx/robot_ws /mnt

(注意:如果出现mount.nfs: access denied by server while mounting 解决办法如下:)

 重新打开/etc/exports,加入insecure选项,并重启nfs服务

/home/qsx/robot_ws *(insecure,rw,sync,no_root_squash,no_subtree_check)

然后在重启:

sudo service rpcbind restart
sudo service nfs-kernel-server restart

⑥查看是否挂载成功

df -h

(我们可以看到最后一行已经成功挂载!)

 也可以通过cd进入

 (注:每次重启树莓派记得重新挂载文件哦!)

2、配置客户端(笔记本主机)

1、安装NFS客户端

sudo apt-get install nfs-common

2、挂载服务端的文件到本地主机

sudo mount -t nfs 192.168.31.23:/home/qsx/robot_ws /mnt

3、查看是否挂载成功

df -h

也同样可以通过cd进入该路径

cd /mnt

 

 这样就大功告成啦!

————————————————————————————————————————

每次开机需要:

1、远程连接树莓派

sudo ssh qsx@192.168.31.23

输入密码

2、重启树莓派的nfs服务

sudo /etc/init.d/nfs-kernel-server restart

3、主机(笔记本)重新挂载nfs

sudo mount -t nfs 192.168.31.23:/home/qsx/robot_ws /mnt

设置开机自启动:

1、制作脚本

sudo vim startup.sh

2、在startup.sh中加入(ip地址为树莓派的ip地址,后面的路径是nfs共享的文件夹路径)

#! /bin/sh
sudo mount -t nfs 192.168.0.100:/home/robotcar/robotcar_ws /mnt

3、给脚本添加权限

sudo chmod 777 startup.sh

4、将脚本添加到rc.local文件中(一开始可能没有存在需要创建一个新的)

sudo vim /etc/rc.local
#! /bin/bash
/home/robotcar/robotcar_ws

5、给rc.local赋予权限

sudo chmod 777 /etc/rc.local

重启即可!

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值