1功能
通过串口控制模块连接FTP服务器,下载相应的文件,主要用于单片机远程升级使用。
2参考协议
USR-FTP通信协议V1.3 连接http://www.usr.cn/Download/538.html
3连接模拟
3.1测试参数
服务器地址和端口test.usr.cn:2121
用户名wangbin
密码666666
文件路径/2345/test.bin
3.2进入FTP模式
命令:0xA0(终端发送)
参数:无参数
进入FTP,此时模块断开其他链接和工作任务,开始准备接受FTP相关指令执行动作,终端通知通信模块准备进入到ftp模式,此时通信模块不再透传双方数据,等待A1命令的到来,最大等待时间30S,超时后自动退出ftp升级模式,进入到正常透传模式。
例:
发送55 FC AA 00 05 01 A0 17
接收55 FC AA 00 0A 01 A0 01 00 00 00 00 A9
3.3设置FTP目标IP或域名与端口
命令:0xA1(终端发送)
参数:IP地址或者域名 ASCII形式,端口也是ASCII码,端口与IP中间用:隔开
例子:
设置:服务器IP为:test.usr.cn 端口号为2121
发送:55 FC AA 00 15 01 A1 31 32 31 2E 34 32 2E 39 35 2E 32 34 31 3A 32 31 AE
返回:55 FC AA 00 0A 01 A1 01 00 00 00 00 A8
3.4设置FTP目标IP或域名与端口
命令:0xA2(终端发送)
参数:账号和密码用ASCII码形式表示,账号密码用0x00区分
例子:
设置:FTP用户名为:test123456 密码为123456
发送:55 FC AA 00 16 01 A2 74 65 73 74 31 32 33 34 35 36 00 31 32 33 34 35 36 A0
返回:55 FC AA 00 0A 01 A2 01 00 00 00 00 AB
3.5设置下载文件路径
命令:0xA3(终端发送)
参数:文件路径/文件名(/2345/test.bin) ASCII形式
例子:
发送55 FC AA 00 13 01 A3 2F 32 33 34 35 2F 74 65 73 74 2E 62 69 6E EF
接收55 FC AA 00 0A 01 A3 01 00 00 01 F4 5F
3.6下载数据
命令: 0xA4(终端发送)
参数1:请求数据包的大小,2字节,高字节在前
参数2:当前包序列号,2字节,高字节在前
模块回复:
命令: 0xA4
参数1:总包数,2字节,高字节在前,总包数计算:文件总大小/客户请求包长度,不足一包时按一包计算。
参数2:当前包序列号,2字节,高字节在前
参数3:客户请求包长度,文件长度不够时补FF
例子:
按256字节一包请求数据,请求第一包数据,
发送指令:55 FC AA 00 09 01 A4 01 00 00 01 AF
接收:55 FC AA 01 0A 01 A4 01 00 02 00 01 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 AF
3.7退出FTP模式
命令:0xAF(终端发送)
参数:无参数
执行动作,终端通知通信模块退出ftp模式
此时通信模块进入到正常透传模式。
例子:
发送:55 FC AA 00 05 01 AF A8
返回:55 FC AA 00 0A 01 AF 01 00 00 00 00 A6
4、搭建FTP服务器无法下载数据解决方法
1:开启防火墙外部ip(模块使用的是被动模式,是由于数据通道端口被防火请阻止导致无法正常下载数据)参考连接设置https://blog.csdn.net/u011127019/article/details/72781095
2:更换ftp的服务器软件