FTP 他升级协议
FTP 他升级协议
USR-FTP-Upgrade-Protocol
说明书
V1.5
联网找有人
可信赖的智慧工业物联网伙伴
USR-FTP 他升级协议说明书
目 录
Content
2.4. 设置 FTP 用户名密码 2
通过串口控制模块连接 FTP 服务器,下载相应的文件,主要用于单片机远程升级使用。在此模式下,其他任何模式的上下行数据不再进行透传,下行数据直接丢弃,上行数据为非协议则报错,返回结果为 0x04,只有主动退出或者超时退出以后,才会继续透传(同 2.1 章节说明)。
注:相应文件的大小限制取决于当前模块 SoC 剩余的内存空间,不同平台、不同的运行环境会有所差异,以 WH-GM5 为例,原则上 MCU 升级的文件大小不应超过 512KB。FTP 他升级协议仅支持FTP 协议中的被动模式。
FTP 他升级协议的应用方法在串口端。模块工作在透传模式时,通过在串口端发送特定的报文指令,可以进入 FTP 他升级模式,并通过特定报文指令完成一系列的数据交互,请求用户FTP 服务器上的MCU 升级文件,分包发送给MCU,完成MCU 的固件更新。
表 1 MCU 通过串口发送给模块的数据报文格式
包头(3) | 长度(2) | 协议版本(1) | 命令(1) | 参数(n) | 校验(1) |
0x55 0xFC 0xAA | 不包括包头,高字节在前 | 0x01 | 0xXX | 0xXX 0xXX… | 之前所有字节的异或校验 |
表 2 | 模块通过串口返回给MCU 的数据报文格式 | ||||
包头(3) | 长度(2) | 协议版本(1) | 命令(1) | 参数(n) | 校验(1) |
0x55 0xFC 0xAA | 不包括包头,高字节在前 | 0x01 | 0xXX | 返回结果 | 之前所有字节的异或校验 |
返回结果:返回结果由 5 字节组成,第一个字节是返回结果,其余字节各命令不同用途,主要用于表示文件长度或者包序列号,高字节
在前,如果回复不设计长度或者序列号的话,该 4 字节不用处理。例:
0x01 0xXX 0xXX 0xXX 0xXX 命令执行成功;
0x02 0xXX 0xXX 0xXX 0xXX 命令执行失败;
0x03 0xXX 0xXX 0xXX 0xXX 命令校验出错;
0x04 0xXX 0xXX 0xXX 0xXX 命令不存在;
如上,0X02 开头的返回结果意味着命令执行失败,最后一个字节则表明了命令执行失败的具体错误原因: 0x01 服务器无法连接
0x02 用户名或密码错误
0x03 服务器异常断开
0x04 数据通道打开失败
0x05 设置数据类型失败
0x06 获取数据通道信息失败
0x07 超过最大请求长度,最大 2048 每包
0x08 超过最大包数,即包数>实际文件大小/每包大小
0x09 前置步骤未执行
0x0A 申请内存空间失败
2.1.进入 FTP 升级模式命令命令:0xA0 (MCU 发送) 参数:无参数。
说明:进入FTP,开始准备接受FTP 相关指令执行动作,等待 A1 命令的到来,最大等待时间 30S,超时后自动退出 FTP 升级模式,恢复到其他正常模式。
举例:
发送:55 FC AA 00 05 01 A0 A7
返回:55 FC AA 00 0A 01 A0 01 00 00 00 00 A9
命令:0xAF(MCU 发送)参数:无参数。
说明:执行动作,终端通知通信模块退出 ftp 模式,此时通信模块进入到正常透传模式。
举例:
发送:55 FC AA 00 05 01 AF A8
返回:55 FC AA 00 0A 01 AF 01 00 00 00 00 A6
命令:0xA1(MCU 发送)
参数:IP 地址或者域名 ASCII 形式,端口也是ASCII 码,端口与IP 中间用:(0x3A)隔开。说明:此命令用于设置 MCU 请求文件的FTP 目标IP/域名或端口。
举例:
假设设置服务器IP 为 121.42.95.241,端口号为 21。
发送: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
命令:0xA2(MCU 发送)
参数:账号和密码用 ASCII 码形式表示,账号密码用 0x00 分隔。说明:此命令用于设置登录 FTP 服务器的用户名与密码。
举例:
假设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
命令:0xA3(MCU 发送)
参数:文件路径/文件名 ASCII 形式
说明:设置MCU 升级文件在FTP 服务器中的存放路径,命令执行完成后文件开始下载
举例:
假设下载文件:root/test.bin,此文件 2000 字节大小。
发送:55 FC AA 00 12 01 A3 72 6F 6F 74 2F 74 65 73 74 2E 62 69 6E C7
返回:55 FC AA 00 0A 01 A3 01 00 00 07 D0 7D
注意,模块执行完词条命令后开始下载,并向MCU 回复文件大小有 2000 字节。
2.6.数据获取 MCU 发送:命令: 0xA4
参数 1:请求数据包的大小,2 字节,高字节在前。参数 2:当前包序列号,2 字节,高字节在前。
说明:此命令用于MCU 请求暂存在模块内的升级文件,此条命令应当与 0xA3 命令间隔至少 5s 的时间,保证文件下载完成。
模块回复:命令: 0xA4
参数 1:0x01,命令执行成功的标志。在下例中用棕色标识。
参数 2:总包数,2 字节,高字节在前,总包数计算:文件总大小/客户请求包长度,不足一包时按一包计算。在下例中用蓝绿色标识。参数 3:当前包序列号,2 字节,高字节在前。在下例中用亮蓝色标识。
参数 4:文件内容。在下例中用该颜色标识。在下例中用暗紫色标识。举例:
按 256 字节一包请求数据,请求第 1 包数据,假设文件总长度为 2000 字节。
发送:55 FC AA 00 09 01 A4 01 00 00 01 AF
按客户 256 字节一包计算,一共有 8 包数据,当前返回客户请求的第一包数据。
返回:55 FC AA 01 0A 01 A4 01 00 08 00 01 28 10 00 20 75 38 00 08 61 38 00 08 63 38 00 08 65 38 00 08 67 38 00 08 69 38 00 08
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B 38 00 08 6D 38 00 08 00 00 00 00 6F 38 00 08 71 38 00 08 DD 38 00 08 E1 38
00 08 E5 38 00 08 49 22 00 08 ED 38 00 08 F1 38 00 08 1D 25 00 08 F9 38 00 08 FD 38 00 08 01 39 00 08 05 39 00 08 09 39 00 08
0D 39 00 08 11 39 00 08 15 39 00 08 19 39 00 08 1D 39 00 08 21 39 00 08 25 39 00 08 29 39 00 08 2D 39 00 08 31 39 00 08 35 39
00 08 39 39 00 08 3D 39 00 08 41 39 00 08 45 39 00 08 49 39 00 08 4D 39 00 08 31 01 00 08 55 39 00 08 59 39 00 08 5D 39 00 08
61 39 00 08 65 39 00 08 69 39 00 08 6D 39 00 08 89 1C 00 08 75 1D 00 08 65 1E 00 08 7D 39 00 08 81 39 00 08 85 39 00 08 89 39
00 08 8D 39 00 08 91 39 00 08 95 39 00 08 99 39 00 08 2D
表 3 文档更新记录
文档版本 | 更新内容 | 撰写人 | 更新时间 |
V1.0 | 初版建立 | xxx | 2015-09-22 |
V1.1 | 修改包头,A4 指令,增加协议版本号指示 | xxx | 2016-10-21 |
V1.2 | 修改包头为 55 FC AA | xxx | 2016-10-24 |
V1.3 | 修改 A4 返回没有成功标志位 | xxx | 2016-11-15 |
V1.4 | 增加 04-0A 错误码;细化 FTP 模式下,其他模式的处理方式;优化重复项。 | Xxxxx.xxxx | 2021-03-11 |
V1.5 | 说明书勘误并整体Revision. | Xxxxx Geng | 2022-01-10 |
天猫旗舰店:xxxxx://xxxxxx.xxxxx.xxx京东旗舰店:xxxxx://xxxxxx.xx.xxx
官 方 网 站:xxx.xxx.xx技术支持工单:xx.xxx.xx 战略合作联络:xxx@xxx.xx
软件合作联络:console@usr.cn电话:0000-00000000
地址:xxxxxxxxxxxxxxxxxxxxxxx 00、00 x
关注有人微信公众号 登录商城快速下单
USR-FTP 他升级协议说明书