跳到主要内容

9. 文件传输

在这章节中我们需要选择通过网线或者通过wifi的形式将pc与armsom板卡处于同一局域网中,以方便文件传输。

如果使用网线或者wifi的形式链接网络请查看《五、网络链接与设置》章节

对于armsom的板卡,文件传输我们推荐使用两种方式:

  1. ssh链接
  2. nfs挂载

他们之间的区别为:

通过ssh链接的方式只能传输普通文件,不能传输链接文件

通过nfs挂载的方式可以在Ubuntu和armsom板卡之间传输任意文件

如果选择使用wifi的形式,我们可以尝试通过以下命令控制wifi的通断(仅用于熟悉命令,可不做):

sudo ip link set dev wlan0 up           //开启wlan0设备,但不会影响wifi的电源状态
sudo ip link set dev wlan0 down //关闭wlan0设备,但不会影响wifi的电源状态

sudo rfkill block wifi //完全关闭Wi-Fi硬件
sudo rfkill unblock wifi //完全开启WIFI硬件

ip a 或 ip addr show //用于显示和操作网络接口的IP层(网络层)属性,主要用于向用户显示ip地址等信息
ip link show //用于显示和操作网络接口的链路层属性,可见接口是否禁用,显示mac地址,显示接口速度,不直接显示ip地址配置

sudo nmtui //图形化界面配置wifi

A. 对于使用ssh链接传输文件:

  1. 在windows桌面环境下同时按下windows键(田型图标键)+r键,在弹出的选项框中输入cmd,之后按下回车键,在cmd终端中输入ipconfig
  2. 在armsom板卡串口终端中输入sudo nmtui,在弹出的图形化界面中选择activate a connection,通过方向键选中想要链接的wifi名,之后按下回车,1s后弹出需要输入密码的对话框,输入密码链接
  3. 在armsom板卡中ping 步骤1中在window下cmd环境中看到的ip地址,如果能ping说明路由器分配了同一个网段的ip地址给pc和板卡
  4. 通过mobaXterm软件连接板卡,在armsom板卡中使用ip a查看板卡ip。之后在pc中打开mobaXterm通过ssh连接板卡

image

image

ssh传输有两点需要注意:

1、ssh只能传输普通文件,不能传输链接文件
2、只能传输到文件夹所属组为图一步骤4输入的用户名的文件夹,如果要传输到其他文件夹,请使用root用户ssh登录板卡

B. 对于使用nfs挂载传输文件

利用NFS搭建上述实验环境。主要包含连接网络、主机开启NFS服务 以及板卡挂载文件系统三个步骤。

我们的目标是使开发主机与板卡的以下目录映射起来:

开发主机共享目录:/home/用户名/nfs

板卡的挂载目录:/mnt

1. 虚拟机ubuntu armsom板卡连接同一wifi

虚拟机中设置模式为桥接模式步骤如下:

image

image

在虚拟网络编辑器中使用管理员权限将桥接模式使用的网卡改为wifi专用的网卡,vmware软件中修改步骤如下:

image

image

在windows下的控制面板中找到如下内容:

image

在虚拟网络编辑器中修改桥接模式使用的网卡为上图中框选的wifi设备名

image

windows下链接名为Avery-m的wifi,之后ubuntu也将借助桥接模式使用wifi网卡链接这个wifi.

ubuntu中可见IP为172.20.10.13

image

windows可见ip为 172.20.10.2

image

armsom板卡中通过sudo nmtui命令进入wifi设置的图形化界面

image

image

键盘方向键选中想要链接的wifi之后按下回车等待连接,在以下界面中输入wifi密码,即可连接成功。

image

连接成功后ip为 172.20.10.11

image

2. ubuntu 开启使能nfs

ubuntu中执行以下命令
# 安装nfs 服务端
sudo apt-get install nfs-kernel-server

# ubuntu创建/nfs路径
sudo mkdir /nfs

# ubuntu中修改/etc/exports
sudo gedit /etc/exports

# 弹出的界面中修改/etc/exports文件,末尾加入以下内容,记得修改完后点选save
/nfs *(rw,sync,no_root_squash)

修改后的/etc/exports文件内容如下:

image

# 之后使用命令重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart

# 这个命令的含义是使用tcp协议将ip为172.20.10.13(linux ubuntu ip,请根据实际情况自行修改)设备中的/nfs路径挂载到当前armsom板卡的/mnt文件夹下
# 在armsom板卡中输入以下命令:
sudo mount -t nfs -o proto=tcp,nolock 172.20.10.13:/nfs /mnt

此时我们在ubuntu中新建一个文件,armsom板卡中的/mnt路径下也将出现一个新的文件,说明nfs传输文件成功