基于ESP32-AT实现的FTP客户端功能(追加上传与分段下载)

基于ESP32-AT实现的FTP客户端功能(支持追加上传与分段下载)



一、功能描述

此功能是在官方开源的esp32 at源码基础上二次开发,将 ftp client 功能添加至at 功能固件之中,然后以 at 形式实现指令式的ftp client功能,其中ftp client主要有两部分功能:数据追加上传数据分段下载。使用方法请参考第三节介绍。



二、ftp client 功能相关指令

1、连接ftp服务器: AT+FTPLOGIN=“ip地址”,端口号,“用户名称”,“用户密码”
2、断开ftp服务器: AT+FTPLOGOUT
3、获取指定文件大小: AT+FTPSIZE=“文件路径”
4、写入指定文件数据(追加上传): AT+FTPPUT=“文件路径”,数据长度
5、读取指定文件数据(分段下载): AT+FTPGET=“文件路径”,文件起始地址,获取长度



三、使用方法及指令流程

3.1 ftp server测试工具的选择

数据分段下载,需要ftp server端支持 PASV模式(即被动模式),所以建议使用的ftp server测试工具选择 wing ftp server,在配置页面可以看到支持 pasv 模式。wing ftp server使用方法参考Wing FTP Server官方使用说明即可

在这里插入图片描述


3.2 ftp client 功能指令使用流程

上电打印信息:
在这里插入图片描述


3.2.1 设置WiFi为STA模式:AT+CWMODE=1

串口指令发送与响应:
在这里插入图片描述


3.2.2 连接指定ap:AT+CWJAP=“ap_name”,“ap_pass”

串口指令发送与响应:
在这里插入图片描述


3.2.3 连接ftp 服务器:AT+FTPLOGIN=“ip地址”,端口号,“用户名称”,“用户密码”

串口指令发送与响应:
在这里插入图片描述


3.2.4 获取指定文件大小:AT+FTPSIZE=“文件路径”

串口指令发送与响应:
在这里插入图片描述

查看文件属性验证获取的文件大小:
在这里插入图片描述


3.2.5 数据追加方式上传:AT+FTPPUT=“文件路径”,数据长度

追加数据前查看文件尾部数据:
在这里插入图片描述
串口指令发送与响应:
在这里插入图片描述

追加数据后查看文件尾部数据:
在这里插入图片描述


3.2.6 数据分段方式下载:AT+FTPGET=“文件路径”,文件起始地址,获取长度

例1:获取文件从0地址开始的50字节长度数据
串口指令发送与响应:
在这里插入图片描述

文件查看验证:
在这里插入图片描述


例2:获取文件从4096地址开始的50字节长度数据
指令发送与响应:
在这里插入图片描述

文件查看验证:

在这里插入图片描述


如有需要,可联系博主

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值