文件数据帧打包说明
# 文件数据帧打包说明
上位机发送的数据帧组成各个数据区域大小说明如下:
起始符: <STX> 02 1字节
标志位: <FLAG> 11 1字节
指令: 36 32 30 3字节
文件名长度: 30 38 2字节
文件名:根据实际长度,
文件块号:30 30 30 30 31 块号1 ~ 99999 5字节 最大可支持 195MB的文件传输
文件数据: 根据实际长度 0 ~ 2048字节
帧数据结束符:
校验码:
成功响应:
起始符:02 1字节
标志位:11 1字节
响应数据 06 响应成功 1字节
帧数据结束符:03 1字节
校验码:1字节 失败响应:
起始符:02 1字节
标志位:11 1字节
响应数据 15 响应失败 + INFO(多字节)或 15 响应失败 1字节
帧数据结束符:03 1字节
校验码:1字节
说明:使用中控传输的文件(文件类型为:vsn文件,图片素材,视频素材)小于2048字节,发送端将文件转成byte数据并封装到帧数据的数据内容中直接发送指令。文件大于2048字节发送端则需将文件先转成byte数据,进行转义(转义规则请参考4.3),然后分块打包发送,块号按顺序00000~99999编号传输,(同一个文件分块传输,每一帧数据除块号,文件数据外其他数据区域必须一致,也就是Command,vsnFileName.length,vsnFileName这三个数据每块数据都一样)当接收到某块号的文件数据长度小2048则说明文件传输完成。(如果文件大小刚好是2048整数倍则需发送一次文件数据长度为零的)帧数据。下图表示发送大小小于2048的文件和分块发送大于2048的文件数据帧示例图。
发送文件数据小于2048的帧数据图
分块发送文件数据大于2048的帧数据图
注意,上传的节目vsn文件并不是用于播放的vsn文件,而是将请求数据(json格式数据)放入vsn文件中然后发布此vsn文件中的节目。