域格ASR平台cat1模块FTP上传、下载

文章目录

  • FTP通信协议介绍
  • [域格ASR平台cat1模块 FTP 核心指令](#域格ASR平台cat1模块 FTP 核心指令)
  • [实战示例:完整 FTP 上传、下载流程](#实战示例:完整 FTP 上传、下载流程)
    • [1. 确认模块注册状态](#1. 确认模块注册状态)
    • [2. 配置并登录FTP服务器](#2. 配置并登录FTP服务器)
    • [3. 选定目录往FTP服务器上传文件](#3. 选定目录往FTP服务器上传文件)
    • [4. 从FTP服务器下载并读取数据](#4. 从FTP服务器下载并读取数据)
    • [5. 退出FTP服务器](#5. 退出FTP服务器)

FTP通信协议介绍

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络设备间传输文件的标准协议,核心作用是实现客户端与 FTP 服务器之间的文件上传、下载、目录管理等操作。

其中,客户端可以是 PC端软件、通信模块(如 域格ASR平台cat1 4G模块YM310 A09)等。

域格ASR平台cat1模块 FTP 核心指令

AT指令 功能说明
AT+QFTPCFG FTP/FTPS 全局配置:账号、密码、传输模式、二进制 / ASCII、SSL 开关、超时、PDP 上下文 ID
AT+QFTPOPEN 连接 FTP/FTPS 服务器(FTP 默认 21,FTPS 通常为 990)
AT+QFTPPWD 查询当前远端目录
AT+QFTPCWD 切换 FTP 远端工作目录
AT+QFTPSIZE 查询服务器指定文件字节大小
AT+QFTPPUT 文件上传(COM 口实时上传 / 本地 UFS/SD 文件上传,支持分段续传)
AT+QFTPGET 文件下载(COM 口输出 / 保存模组本地存储)
AT+QFTPCLOSE 退出 FTP 服务器,断开控制链路

AT手册外指令说明

复制代码
AT+QFTPPUT=<file_name>,<local_name>,<startpos>,<uploadlen>,<beof>

<file_name> 字符串类型。FTP(S)服务器文件名称。最大长度为 255 字节。
<local_name> 字符串类型。本地文件名称。最大长度为 255 字节。

若该值为"COM:",将在 COM口输出数据。否则,数据将被保存至 UFS 或 SD 卡。文件上传成功后,可通过AT+QFDEL 删除。
<startpos> 整型。上传文件的起始位置。默认值:0。

若指定和,则 表示继续上传到同一文件的数据位置。单位:字节。
<uploadlen> 整型。上传的数据长度。

仅当<local_name>为"COM:"时有效。

当通过 COM 口上传的数据长度达到时,模块将退出数据模式。单位:字节。
<beof> 整型。上传的数据是否是最后一包。

仅当<local_name>为"COM:"时有效。

0 不是最后一包数据。当数据长度达到<uploadlen>,模块将退出数据模式并响应+QFTPPUT: 0,<transferlen>。此时,请勿断开数据连接,因为剩余的数据需要上传到 FTP 上的同一文件

1 最后一包数据。当数据长度达到<uploadlen>,模块将退出数据模式,此时可关闭数据连接,将响应+QFTPPUT: 0,<transferlen>
<transferlen> 整型。成功传输数据的长度。单位:字节。
<err> 错误码。
<protocol_error> 整型。表示 FTP(S)服务器原始错误码。该错误码在 FTP(S)协议中定义,仅供参考。

实战示例:完整 FTP 上传、下载流程

1. 确认模块注册状态

AT+CPIN?

------ 应返回ready。若不是,需要检查SIM卡接触情况。

AT+CPIN? 错误码

+CME ERROR: 10 ------ 卡不在位

+CME ERROR: 14 ------ SIM busy

AT+CSQ

------ 一般要在10以上。若不是,需要检查天线。

AT^SYSINFO

------ 第一位是2,第二位是2或3(即数据域要注册上)。若不是,需要核对SIM卡状态。

AT+CEREG?

------ 第二位参数应返回1或5,如0,1 或 0,5。若不是,需要核对SIM卡状态。

2. 配置并登录FTP服务器

绑定FTP承载标识(与SAPBR的cid保持一致,默认1)

设置FTP用户名、密码

AT+QFTPCFG="account","xxxx","xxxx" // 替换为实际用户名、密码

------ 应返回OK,表示配置成功

登录FTP服务器

AT+QFTPOPEN="122.51.xxx.xx",21 // 替换为实际服务器IP

------ 应返回OK,并上报 +QFTPOPEN: 0,230

3. 选定目录往FTP服务器上传文件

获取FTP服务器端上当前目录

AT+QFTPPWD

OK // 回复OK后,模块继续上报当前目录,如

+QFTPPWD: 0,/

若需要更换目录,使用AT+QFTPCWD切换到需要的目录

选定目录后开始上传文件(示例为通过COM口将136字节数据上传到服务器保存为FTPPUTGET.txt)

+QFTPPUT="FTPPUTGET.txt","COM:",0,136,1

CONNECT // 模块回复CONNECT之后可以输入文件数据

+QFTPURC:1 // 输入完成后上报标记

OK

+QFTPPUT: 0,136 // 上传成功后模块上报结果及字节数

4. 从FTP服务器下载并读取数据

查询需要下载的文件大小

AT+QFTPSIZE="FTPPUTGET.txt"

OK

+QFTPSIZE: 0,136 // 模块回复文件字节数

读取文件数据(示例为直接读取到COM口)

AT+QFTPGET="FTPPUTGET.txt","COM:"

CONNECT // 模块回复CONNECT后吐出文件内容

+QFTPURC:1//完成标记

OK

+QFTPGET: 0,136 // 模块上报结果及读取的字节数

5. 退出FTP服务器

AT+QFTPCLOSE

OK // 模块回复OK后,上报相关URC

+QFTPCLOSE: 0,0

+QFTPURC:0

相关推荐
比昨天多敲两行1 小时前
Linux 网络基础
网络
XiaoLin laile1 小时前
自主可控越来越重要,信创即时通讯为什么备受青睐
网络
CJH(本人账号)1 小时前
AI Agent 安全危机:当你的“智能助手“变成攻击者的“远程武器“
网络·人工智能·安全·ai·开源·github
猫头虎1 小时前
猫头虎AI分享|樱桃键盘Ctrl键失效解决方案:FN+PAUSE 长按10秒恢复出厂设置保姆级教程
网络·网络协议·tcp/ip·计算机外设·键盘·机械键盘·ctrl
梁辰兴1 小时前
计算机网络基础:简单网络管理协议 SNMP
网络·计算机网络·计算机·snmp·计算机网络基础·梁辰兴·简单网络管理协议
feng_you_ying_li1 小时前
Linux之线程同步:条件变量和两种生产消费模型
linux·运维·服务器
大江东去浪淘尽千古风流人物1 小时前
【VGGT】统一3D重建:单网络同时预测相机位姿、深度图、点云与3D轨迹的前馈Transformer架构深度解析
网络·数码相机·3d·transformer·slam·3d重建·cvpr2025
tianyuanwo2 小时前
OS运维智能化落地抉择:构建故障诊断AI Skill VS 沉淀领域知识库,谁是核心先手?
运维·人工智能·知识库·skill
liulilittle2 小时前
用户态 TCP 端口转发:对 CUBIC 友好,对 BBR/KCC 收益不大
运维·网络·tcp/ip·计算机网络·信息与通信·tcp·通信