查看: 393|回复: 0

[应用笔记] Lierda NT26U FTP(S)应用指导

[复制链接]

77

主题

118

帖子

1403

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1403
发表于 2023-10-11 16:20:05 | 显示全部楼层 |阅读模式
  1 引言

  Lierda NT26U系列模组支持FTP和FTPS文件传输协议(下文简称“FTP(S)”)。FTP(File Transfer Protocol,文件传输协议)是一种标准的网络协议,用于在计算机网络上的客户端和服务器之间传输计算机文件,具有很高的传输速率。

  FTPS(FTP over SSL或FTP Secure)是一种对常用的文件传输协议(FTP)添加传输层安全(TLS)和安全套接层(SSL)加密协议支持的扩展协议。

  本文档主要介绍如何通过AT命令应用利尔达模组的FTP(S)功能。

  1.1  AT命令说明


  1.1.1  定义

  1.1.2  AT命令语句


  前缀AT或at必须加在每个命令行的开头。输入<CR>将终止命令行。通常,命令后面跟随形式为<CR><LF><response><CR><LF>的响应。在本文档中表现命令和响应的表格中,省略了<CR><LF>,仅显示命令和响应。
表1-1 AT命令及响应类型

  1.1  AT示例声明


  本文中的示例仅为方便用户了解AT命令的使用方法,不构成利尔达对终端流程设计的建议或意见,也不代表模组应被设置成相应示例中的状态。某些AT命令存在多个示例,这些示例之间不存在承接关系或连续性。

  1.2.1 特殊符号定义
  1.2  FTP(S)命令使用流程


  Lierda NT26U模组支持FTP(S)协议,因此FTP(S)服务器上的文件和目录可以通过FTP(S)相关的AT命令进行操作。FTP(S)相关的AT命令使用流程如下:

  第一步:配置和激活PDP上下文。
  (1)使用AT+QICSGP配置PDP上下文的<APN>、<username>、<password>和其他参数,详细信息可参考文档[1]。
  (2)通过AT+QIACT激活PDP上下文,详细信息可参考文档[1]。
  (3)通过AT+QFTPCFG="contextid",<contextID>配置FTP(S)的PDP上下文ID。需提前激活PDP上下文。

  第二步:配置用户账号和FTP(S)服务器。
  (1)通过AT+QFTPCFG="account",<username>,<password>配置账号信息。
  (2)通过AT+QFTPCFG="filetype",<file_type>配置文件类型。在FTP(S)服务器和客户端间传输的文件类型可以是二进制数据或ASCII数据。
  (3)通过AT+QFTPCFG="transmode",<transmode>配置传输模式,即在FTP(S)服务器端口或客户端端口监听数据连接。注意,FTPS当前不支持主动模式。AT+QFTPCFG="transmode",1后才能进行FTPS操作。
  (4)通过AT+QFTPCFG="rsptimeout",<timeout>配置命令的最大响应时间。
  (5)若模组作为FTPS客户端,需执行如下命令:
  (6)执行AT+QFTPCFG="ssltype",1;
  (7)执行AT+QFTPCFG="SSL_ctxID",<SSL_ctxID>设置SSL上下文ID;
  (8)AT+QSSLCFG配置所指定的<SSL_ctxID>,详细信息可参考文档[3]。

  第三步:登录FTP(S)服务器。
  通过AT+QFTPOPEN=<hostname>,<port>登录FTP(S)服务器,命令执行后,若响应URC+QFTPOPEN:0,0,表示操作成功。注意FTPS和FTP端口不同。FTPS服务器的端口取决于FTPS服务器提供商,通常为990。

  第四步:文件操作。
       (1)通过AT+QFTPCWD设置当前目录;
       (2)上传文件至FTP(S)服务器;
       (3)通过AT+QFUPL可以将文件上传至UFS或SD卡,再通过AT+QFTPPUT将文件上传至FTP(S)服务器。文件上传成功后,可通过AT+QFDEL将其删除。详细信息可参考文档[4];
       (4)在COM口通过AT+QFTPPUT将文件上传至FTP(S)服务器。执行+++可结束文件上传。
       (5)通过AT+QFTPGET从FTP(S)服务器下载文件。文件将在COM口输出或被保存至UFS或SD卡。若COM口输出文件,模组将进入数据模式;
       (6)通过AT+QFTPSIZE获取FTP(S)服务器文件大小;
       (7)通过AT+QFTPLEN获取FTP(S)服务器和客户端之间传输的数据长度;
       (8)通过AT+QFTPDEL删除FTP(S)服务器文件;
       (9)通过AT+QFTPRENAME重命名FTP(S)服务器文件。

  第五步:FTP(S)服务器目录操作。
       (1)通过AT+QFTPCWD设置当前目录;
       (2)通过AT+QFTPMKDIR创建文件夹;
       (3)通过AT+QFTPLIST列出目录内容;
       (4)通过AT+QFTPNLST列出目录文件名;
       (5)通过AT+QFTPRENAME重命名文件或文件夹;
       (6)通过AT+QFTPRMDIR删除文件夹;
       (7)通过AT+QFTPMLSD列出标准文件和目录信息;
       (8)通过AT+QFTPMDTM获取FTP(S)服务器文件修改时间。

  第六步:关闭和FTP(S)服务器的连接。
  通过AT+QFTPCLOSE关闭和FTP(S)服务器的连接,命令执行后,若响应URC+QFTPCLOSE:0,0,表明操作成功,即可重复上述第三步至第六步。

  第七步:去激活PDP上下文。
  通过AT+QIDEACT=<contextID>去激活PDP上下文,详细信息可参考文档[1]。

  1.3  数据模式说明


  Lierda NT26U模组的COM口有两种工作模式:一种是AT命令模式,另一种是数据模式。在AT命令模式下,通过COM口输入的数据被认为是AT命令;在数据模式下,则被认为是数据。

  用户可以通过输入+++或拉高DTR(需先设置AT&D1)使COM口退出数据模式。为防止+++被误认为是数据,在使用COM口之前应遵循以下标准:
       (1)+++输入前1秒内不能输入其它任何数据。
       (2)必须在1秒内输入+++,并且不能输入其它任何数据。
       (3)+++输入后1秒内不能输入其它任何数据。

  在COM口执行AT+QFTPPUT、AT+QFTPGET、AT+QFTPLIST和AT+QFTPNLST时,若本地文件路径为"COM:",数据将从COM口接收和输出,COM口会进入数据模式。用户可使用+++或拉高DTR退出数据模式。

  注:为方便阅读,本文AT示例省略了部分回车换行,实际返回值以《AT指令手册》或模组实测为准。

  2  FTP(S)AT命令详解

  2.1  AT+QFTPCFG 配置FTP(S)服务器参数


  该命令用于配置FTP(S)服务器参数,包括用户账号、文件类型、传输模式和上下文ID等。设置命令省略可省参数时,将查询当前配置。
  注:由于FTPS当前不支持主动模式,操作FTPS时,必须将<transmode>设置为1。


  2.2  AT+QFTPOPEN 登录FTP(S)服务器


  该命令用于登录FTP(S)服务器。执行该命令前,需先通过AT+QIACT激活PDP上下文。+QFTPOPEN:<err>,<protocol_error>表示AT+QFTPOPEN的操作结果,应在AT+QFTPCFG配置的<timeout>时间内输出。
  注:注意FTPS和FTP端口不同,FTPS服务器的端口通常为990。


  2.3  AT+QFTPCWD 配置FTP(S)服务器当前目录


  该命令用于配置FTP(S)服务器当前目录。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPCWD:<err>,<protocol_error>。所有文件和目录均可在当前目录中进行操作。
  2.4  AT+QFTPPWD 获取FTP(S)服务器当前目录


  该命令用于获取FTP(S)服务器当前目录。执行该命令响
应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPCWD:<err>,<protocol_error>。
  2.5  AT+QFTPPUT 上传文件至FTP(S)服务器

  该命令用于上传文件至FTP(S)服务器。若通过COM口上传文件,模组将进入数据模式。使用+++可终止文件上传。本地文件,例如UFS或SD文件,可上传至FTP(S)服务器。通过AT+QFUPL可以将文件上传至UFS或SD卡,再通过AT+QFTPPUT将其上传至FTP(S)服务器。文件上传成功后,即可使用AT+QFDEL删除文件。详细信息可参考文档[4]。

  <startpos>用于将文件从指定位置上传。若<local_name>为"COM:",应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPPUT:<err>,<protocol_error>。若<local_name>不为"COM:",执行该命令后,将先响应OK,数据传输完成后再响+QFTPPUT:0,<transferlen>。

  若模组进入数据模式或<local_name>不为"COM:",AT+QFTPCFG配置的<timeout>则表示接收或发送两包数据之间的最大时间间隔。
  注:若省略<uploadlen>和<beof>,将上传所有数据至FTP(S)服务器,此时数据发送时长不得超过90s,否则会失败。


  2.6  AT+QFTPGET 从FTP(S)服务器下载文件


  该命令用于从FTP(S)服务器下载文件。通过设置AT+QFTPGET="filename","COM:"文件可从COM口输出。模组从服务器接收数据时将进入数据模式。数据传输完成后,模组将自动退出数据模式并输出+QFTPGET:0,<transferlen>。通过AT+QFTPGET="filename","UFS:localname"或AT+QFTPGET="filename","SD:localname"可将文件保存至UFS或SD。文件传输成功后,模组将响应+QFTPGET:0,<transferlen>。

  若<local_name>为"COM:",应在AT+QFTPCFG配置的<timeout>时间内响应CONNECT;若<local_name>不为"COM:",将先响应OK,数据传输完成后才会响应+QFTPGET:0,<transferlen>。

  若模组进入数据模式或<local_name>不为"COM:",AT+QFTPCFG配置的<timeout>则表示接收或发送两包数据之间的最大时间间隔。
  注:当<local_name>为"COM:"时,若省略<startpos>和<downloadlen>,将从FTP(S)服务器下载整个文件。


  2.7  AT+QFTPSIZE 获取FTP(S)服务器文件大小


  该命令用于获取FTP(S)服务器文件大小。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPSIZE:0,<file_size>或+QFTPSIZE:<err>,<protocol_error>,否则应断开FTP(S)连接,并去激活后重新激活网络。
  2.8  AT+QFTPMKDIR 创建FTP(S)服务器文件夹

  该命令用于在FTP(S)服务器创建文件夹。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPMKDIR:<err>,<protocol_error>,否则应断开FTP(S)连接,并去激活后重新激活网络。
  2.9  AT+QFTPDEL 删除FTP(S)服务器文件


  该命令用于删除指定FTP(S)服务器文件。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPDEL:<err>,<protocol_error>,否则应断开FTP(S)连接,并去激活后重新激活网络。
  2.10  AT+QFTPRMDIR 删除FTP(S)服务器文件夹


  该命令用于在FTP(S)服务器删除指定文件夹。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPRMDIR:<err>,<protocol_error>,否则应断开FTP(S)连接,并去激活后重新激活网络。
  2.11  AT+QFTPLIST 获取FTP(S)服务器目录内容


  该命令用于获取FTP(S)服务器目录内容。若<local_name>为"COM:",应在AT+QFTPCFG配置的<timeout>时间内响应CONNECT;若<local_name>不为"COM:",首先将响应OK,服务器目录内容传输完成后响应+QFTPLIST:0,<transfer_size>。

  若模组进入数据模式或<local_name>不为"COM:",则在AT+QFTPCFG中配置的<timeout>表示接收或发送两包数据之间的最大时间间隔。
  2.12  AT+QFTPNLST 获取FTP(S)服务器目录文件名


  该命令用于获取FTP(S)服务器目录文件名。若<local_name>为"COM:",应在AT+QFTPCFG配置的<timeout>时间内响应CONNECT;若<local_name>不为"COM:",首先将响应OK,文件名称传输完成后响应+QFTPNLST:0,<transfer_size>。

  若模组进入数据模式或<local_name>不为"COM:",则在AT+QFTPCFG中配置的<timeout>表示接收或发送两包数据之间的最大时间间隔。
  2.13  AT+QFTPMLSD 获取标准化文件和目录信息


  该命令用于获取标准化文件和目录信息。若<local_name>为"COM:",应在AT+QFTPCFG配置的<timeout>时间内响应CONNECT;若<local_name>不为"COM:",首先将响应OK,标准化文件和目录信息传输完成后响应+QFTPMLSD:0,<transfer_size>。

  若模组进入数据模式或<local_name>不为"COM:",则在AT+QFTPCFG中配置的<timeout>表示接收或发送两包数据之间的最大时间间隔。
  2.14  AT+QFTPMDTM 获取FTP(S)服务器文件修改时间


  该命令用于获取FTP(S)服务器文件修改时间。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPMDTM:0,<modify_time>或+QFTPMDTM:<err>,<protocol_error>。否则应断开FTP(S)连接,并去激活后重新激活网络。
  2.15  AT+QFTPRENAME 重命名FTP(S)服务器文件或文件夹


  该命令用于重命名FTP(S)服务器文件或文件夹。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPRENAME:<err>,<protocol_error>。否则应断开FTP(S)连接,并去激活后重新激活网络。
  2.16  AT+QFTPLEN 获取传输数据长度


  该命令用于获取FTP(S)服务器传输数据长度。
  2.17  AT+QFTPSTAT 获取FTP(S)服务器状态


  该命令用于获取FTP(S)服务器状态。
  2.18  AT+QFTPCLOSE 退出FTP(S)服务器


  该命令用于退出FTP(S)服务器。执行该命令响应OK后,应在AT+QFTPCFG配置的<timeout>时间内响应+QFTPCLOSE:<err>,<protocol_error>。否则应断开FTP(S)连接,并去激活后重新激活网络。
  3  AT示例


  3.1  登录FTP服务器


  第一步:配置和激活PDP上下文。设置PDP上下文为1,中国联通APN为"UNINET"
  AT+QICSGP=1,1,"","","",1
  OK

  AT+QIACT=1  //激活PDP上下文1
  OK       //激活成功

  AT+QIACT?   //查询PDP上下文状态
  +QIACT: 1,1,1,"10.7.157.1"
  OK

  AT+QFTPCFG="contextid",1   //设置PDP上下文为1。必须先激活PDP上下文ID
  OK

  第二步:配置用户账号和传输设置
  AT+QFTPCFG="account","admin","admin"     //设置用户名和密码
  OK

  AT+QFTPCFG="filetype",1  //设置文件类型为ASCII
  OK

  AT+QFTPCFG="transmode",1     //设置为被动传输方式
  OK

  AT+QFTPCFG="rsptimeout",90  //设置最大响应时间(默认为90秒)
  OK

  第三步:登录FTP服务器
  AT+QFTPOPEN="111.21.195.10",21
  OK
  +QFTPOPEN: 0,0

  3.2  登录FTPS服务器


  第一步:设置PDP上下文为1,中国联通APN为"UNINET"
  AT+QICSGP=1,1,"","","",1        
  OK

  AT+QIACT=1   //激活PDP上下文1
  OK     //激活成功

  AT+QIACT?  //查询PDP上下文状态
  +QIACT: 1,1,1,"10.7.157.1"
  OK

  AT+QFTPCFG="contextid",1  //设置PDP上下文为1。必须先激活PDP上下文ID
  OK

  第二步:配置用户账号和传输设置
  AT+QFTPCFG="account","test","test"  //设置用户名和密码
  OK

  AT+QFTPCFG="filetype",1   //设置文件类型为ASCII
  OK

  AT+QFTPCFG="transmode",1  //设置被动传输方式
  OK

  AT+QFTPCFG="rsptimeout",90   //设置最大响应时间(默认为90秒)
  OK

  第三步:配置FTPS
  AT+QFTPCFG="ssltype",1  //设置SSL类型为1,模组作为FTPS客户端
  OK

  AT+QFTPCFG="SSL_ctxID",1  //设置SSL上下文为1
  OK

  AT+QSSLCFG="ciphersuite",1,0xffff  //设置SSL加密套件类型为  0xffff,支持所有加密套件类型
  OK

  AT+QSSLCFG="seclevel",1,0  //设置SSL安全类型为0,即不需要SSL CA证书
  OK

  AT+QSSLCFG="sslversion",1,1   //设置SSL版本为1,表示TLS1.0  
  OK

  第四步:登录FTPS服务器
  AT+QFTPOPEN="111.21.195.10",21
  OK
  +QFTPOPEN: 0,0

  3.3  文件夹操作


  AT+QFTPCWD="/"
  OK
  +QFTPCWD: 0,0

  AT+QFTPPWD
  OK
  +QFTPPWD: 0,/

  AT+QFTPMKDIR="TEST"   //在FTP(S)服务器创建名为TEST的文件夹              
  OK
  +QFTPMKDIR: 0,0

  AT+QFTPRENAME="TEST","TEST_NEW"  //重命名文件夹为 TEST_NEW。
  OK
  +QFTPRENAME: 0,0

  AT+QFTPRMDIR="TEST_NEW"  //删除文件夹 TEST_NEW。
  OK
  +QFTPRMDIR: 0,0

  3.4  文件操作


  AT+QFTPCWD="/"
  OK
  +QFTPCWD: 0,0

  AT+QFTPPWD
  OK
  +QFTPPWD: 0,"/"

  AT+QFTPSIZE="test_my1.txt"  //查询FTP(S)服务器 test_my1.txt 文件大小     
  OK
  +QFTPSIZE:0, 1000

  AT+QFTPRENAME="test_my1.txt","test_new.txt"  //重命名文件为 test_new.txt
  OK
  +QFTPRENAME: 0,0

  AT+QFTPMDTM="test_new.txt"    //获取FTP(S)服务器上的 test_new.txt 文件修改时间
  OK
  +QFTPMDTM: 0,"20140708110039"

  AT+QFTPDEL="test_new.txt"   //删除FTP(S)服务器上的 test_new.txt 文件
  OK
  +QFTPDEL: 0,0

  3.5  获取文件信息或文件名


  AT+QFTPCWD="/"
  OK
  +QFTPCWD: 0,0

  AT+QFTPLIST="."   //获取当前目录的内容,并通过COM口输出数据
  CONNECT
  <输出内容数据>
  OK
  +QFTPLIST: 0,1000

  AT+QFTPLIST="TEST_2","COM:"   //获取TEST_2文件内容,并通过COM口输出数据
  CONNECT
  <输出内容数据>
  OK
  +QFTPLIST: 0,1000

  AT+QFTPNLST="."   //获取当前目录的文件名,并通过COM口输出数据。  
  CONNECT
  <输出内容数据>
  OK
  +QFTPNLST: 0,1000

  AT+QFTPNLST="TEST_2","COM:"  //获取TEST_2文件名称,并通过COM口输出数据。
  CONNECT
  <输出内容数据>
  OK
  +QFTPNLST: 0,1000

  AT+QFTPMLSD="."  //获取当前目录的标准化文件和目录信息,并通过COM口输出数据
  CONNECT
  <输出内容数据>
  OK
  +QFTPMLSD:0,1000

  AT+QFTPMLSD="TEST_2","COM:"  //获取TEST_2的标准化文件和目录信息,并通过COM口输出数据
  CONNECT
  <输出内容数据>
  OK
  +QFTPMLSD:0,1000

  3.6  上传文件至FTP(S)服务器


  AT+QFTPCWD="/"
  OK
  +QFTPCWD: 0,0

  AT+QFTPSTAT
  +QFTPSTAT: 0,1
  OK

  AT+QFTPPUT="test_my1.txt","COM:",0    //通过COM口上传文件,所有数据在FTP(S)服务器上被保存为test_my1.txt
  CONNECT
  <输入文件数据> <+++>
  OK
  +QFTPPUT:0,1000

  AT+QFTPLEN
  OK
  +QFTPLEN:0,1000

  AT+QFTPSIZE="test_my1.txt"
  OK
  +QFTPSIZE:0,1000

  AT+QFTPPUT="test_my1.txt","COM:",1000  //通过COM口上传文件,起始位置为1000,数据在服务器上被保存为test_my1.txt   
  CONNECT
  <输入文件数据> <+++>
  OK
  +QFTPPUT:0,500

  AT+QFTPSIZE="test_my1.txt"
  OK
  +QFTPSIZE:0,1500

  方案1:通过COM口上传两次文件至FTP(S)服务器,每次上传1024字节数据。
  AT+QFTPPUT="test_my1.txt","COM:",0,1024,0  //非test_my1.txt最后一包1024字节数据
  CONNECT
  <输入文件数据>
  OK
  +QFTPPUT:0,1024             //数据长度达到1024字节
  AT+QFTPPUT="test_my1.txt","COM:",1024,1024,1  //test_my1.txt最后一包1024字节数据
  CONNECT
  <输入文件数据>
  OK
  +QFTPPUT:0,1024

  方案2:从UFS上传文件至FTP(S)服务器
  AT+QFUPL="UFS:test_ufs.txt",1000,300,1  //上传文件至UFS,文件被保存为test_ufs.txt。文件大小为1000字节。超时时间为300秒。设置为ACK模式。详细信息可参考文档[4]。
  CONNECT
  <输入1000字节数据>
  +QFUPL:1000,707
  OK

  AT+QFLST="*"
  +QFLST: "UFS:test_ufs.txt",1000
  OK

  AT+QFTPPUT="test_my1.txt","UFS:test_ufs.txt"  //上传UFS:test_ufs.txt至FTP(S)服务器,并将其保存为test_my1.txt
  OK
  +QFTPPUT: 0,1000

  方案3:从SD上传文件至FTP(S)服务器
  AT+QFUPL="SD:test_sd.txt",1000,300,1   //上传文件至SD,文件保存为test_sd.txt。文件大小1000字节。超时时间300秒
  CONNECT
  <输入1000字节数据>
  +QFUPL:1000,707
  OK

  AT+QFLST="SD:*"
  +QFLST:"SD:test_sd.txt",1000
  OK

  AT+QFTPPUT="test_my1.txt","SD:test_sd.txt"  //上传SD:test_sd.txt至FTP(S)服务器,并将其保存为test_my1.txt
  OK
  +QFTPPUT: 0,1000

  AT+QFTPLEN
  OK
  +QFTPLEN:0,1000

  AT+QFTPSIZE="test_my1.txt"
  OK
  +QFTPSIZE: 0,1000

  3.7  从FTP(S)服务器下载文件


  AT+QFTPCWD="/"
  OK
  +QFTPCWD: 0,0

  方案1:直接通过 COM口输出下载数据
  AT+QFTPGET="test_my.txt","COM:"  //从FTP(S)服务器下载文件,并通过 COM 输出数据        
  CONNECT  
  <输出文件数据>
  OK
  +QFTPGET: 0,1000

  AT+QFTPGET="test.txt","COM:",0,500  //下载test.txt文件大小为1000字节数据,通过COM口分两次输出数据,每次500字节。首次下载500字节
  CONNECT
  <输出文件数据>
  OK
  +QFTPGET: 0,500

  AT+QFTPGET="test.txt","COM:",500,500     //下载剩余500字节
  CONNECT
  <输出文件数据>
  OK
  +QFTPGET: 0,500

  方案 2:保存下载数据至UFS
  AT+QFTPGET="test_my1.txt","UFS:test.txt"  //从FTP(S)服务器下载文件并将其保存至UFS,命名为test.txt      
  OK
  +QFTPGET: 0,1000

  AT+QFLST="*"
  +QFLST: UFS:test.txt,1000
  OK

  AT+QFTPGET="test_my1.txt","UFS:test1.txt",450  //从 FTP(S)服务器下载文件并将其保存至UFS,命名为 test.txt,起始位置为450
  OK
  +QFTPGET: 0,550

  方案3:保存下载数据至SD卡
  AT+QFTPGET="test_my1.txt","SD:test.txt"  //从FTP(S)服务器下载文件并将其保存至SD卡,命名为test.txt
  OK
  +QFTPGET:0,1000

  AT+QFLST="SD:*"
  +QFLST:SD:test.txt,1000
  OK

  AT+QFTPGET="test_my1.txt","SD:test1.txt",450  //从FTP(S)服务器下载文件并将其保存至SD卡,命名为test.txt,起始位置为450
  OK
  +QFTPGET:0,550

  AT+QFTPLEN
  OK
  +QFTPLEN:0,550

  AT+QFLST="SD:*"
  +QFLST: SD:test.txt,1000 +QFLST:SD:test1.txt,550
  OK

  3.8  退出FTP(S)服务器


  AT+QFTPCLOSE   //退出FTP(S)服务器。
  OK
  +QFTPCLOSE: 0,0

  AT+QIDEACT=1  //去激活为FTP(S)激活的PDP上下文。
  OK

  4  错误码

   <err>表示与移动设备或网络有关的错误码。相关详细信息参见下表。
表4-1 错误码列表

  5  FTP(S)协议错误码


  协议错误码<protocol_error>表示FTP(S)服务器响应的错误码。详细信息可参考RFC959。下表描述了部分常见错误码。
表5-1 FTP(S)协议错误码列表

  
6  相关文档及术语缩写
表6-1 相关文档
表6-2 术语缩写

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表