利用什么工具可以对存储在NI Linux实时系统终端上的文件进行传输和访问?

更新 Apr 2, 2020

适用于

操作系统

  • NI Linux Real-Time

问题详述

  • 我想对Linux Real-Time系统终端进行文件上传/下载的操作,这可以通过什么工具完成呢?
  • 我想以编程方式将文件从Real-Time目标传输到主机PC。我怎样才能做到呢?

解决方案

有如下几种方法可以实现:

WebDAV

WebDAV是一个基于HTTP的扩展协议,可用于人工浏览或是以编程的方式传输文件。有关如何为目标配置WebDAV的说明,请参阅使用WebDAV将文件传输到实时目标。


FTP

您可以使用FTP执行文件传输。然而这种方法的安全性得不到保证,因此并不被推荐。需要留意的是FTP服务器在NI Linux Real-Time设备中并不是默认安装的。点击此处可查看如何在Linux Real-Time终端上使用FTP

基于SFTP的FileZilla

FileZilla是一个免费、开源并可以通过易于操作的用户界面对远程系统中的文件内容进行浏览和传输交互的SFTP工具SFTP全称SSH File Transfer Protocol(SSH文件传输协议),是SSH(Secure Shell)的一个扩展协议。当采用这种方式时,确认SSH在您的远程系统中启用是很重要的一点。可按照下述步骤在设备中启用SSH

  1. 给设备上电并将其连入网络,或是直接与开发该设备的电脑连接
  2. 打开NI MAX,在“远程系统”下找到您的设备。
  3. 您可能需要登录到您的控制器以访问其设置(默认用户名是admin,默认无密码)。
  4. 在“启动设置”窗口中选中“Enable Secure Shell Server (sshd)”。
  5. 保存设置,重启终端。

按照下述步骤利用FileZilla连接到您终端的文件系统

  1. 打开FileZilla。
  2. 在Host一栏中,填入您的终端的IP地址,这在MAX该设备下的“系统设置”选项卡中可以看到
  3. 在相应的输入栏中输入您的用户名和密码。
  4. 在Port一栏中输入22,这是SFTP和SSH的默认端口
  5. 点击Quickconnect

此时您就可以利用FileZilla与您的NI Linux Real-Time终端上的文件系统进行交互了

注意 FileZilla属于第三方的软件产品,因此不属于NI技术支持的服务范围,若需要与FileZilla相关的协助,请在FileZilla的网站论坛中发帖询问

基于Web的配置

文件系统访问也可以通过网络配置工具实现。该方式比较简单,只需要在URL输入栏中输入cRIO系统的IP地址,并在显示的界面中点击如下图所标示的“Remote File Browser”按钮即可实现。几点注意事项

  • 需要在cRIO上安装Web-based Configuration and Monitoring软件模块
  • 对cRIO系统的管理员用户而言,必须要设置密码
  • 若要进行文件系统访问,需要登录的账户为lvuser,而非admin。此外若试图编辑lvuser账户无权限访问的文件,将会出现“403: Forbidden”的错误信息

点击文件系统窗口顶部的按钮即可对您的Linux实时终端上的文件进行浏览以及下载等操作

USB或SD卡

您还可以选择将USB驱动器或SD卡用于某些实时设备。有关更多信息,请参见从NI Real-time设备写入USB驱动器或SD

通过Linux Shell访问文件

如果文件名中的字符在其所在操作系统(例如Linux和Windows)上无效,则可能会阻碍文件传输过程。您可以通过访问NI Linux Real-Time设备上的Shell对文件进行重命名和管理。您将需要找到相对应的Linux命令才能进行所需的更改。

Samba

Samba是网络协议SMB/CIFS的具体实现,其能够实现运行Windows系统和运行基于Unix操作系统的计算机间的文件共享,与Windows中共享文件以及路径类似。与上述提及其它的工具或方法相比,Samba的独特之处在于能够令使用者非常具体入微地设置文件访问权限,而与之相应的是,在初期需要花更多的时间进行相关设置。点击此处 可详细了解如何在您的NI Linux的实时终端上配置Samb

注意 Samba是第三方软件产品,并不是Linux Real-Time的一部分。因此其不属于NI技术支持的服务范围,若需要与在Linux实时系统中使用Samba相关的协助,请参见NI Linux Real-Time社区页面,以获取更多资源和论坛支持。