串口文件传输协议

所有数据以小端模式传输,字符串为UTF8编码

报文格式定义
命令 长度 数据 校验
uint8 uint8 uint16 uint8[] uint16
0xAA 见命令定义 后面数据段的长度0~65535 数据内容,字节数组 标准modbusCRC16校验
基础命令定义
命令名称 命令值 数据内容 数据长度 响应命令 响应内容 响应长度 备注
握手 0x01 0xAA 0xBB 0xCC 0xDD 固定长度4 0x81 0xAA 0xBB 0xCC 0xDD 固定长度4
时间同步 0x10 unix时间戳(uint32) 固定长度4 0x90 成功返回1,失败返回0(uint8) 固定长度1 此命令一般由主机每秒发一次,可以回复,也可以不回复
文件命令定义
命令名称 命令值 数据内容 数据长度 响应命令 响应内容 响应长度 备注
打开文件 0x02 完整的文件路径,字符串形式 字符串长度 0x82 文件描述符,sint32,<0表示打开失败 固定长度4 以读写方式打开文件,文件不存在则返回-1
读取文件 0x03 文件描述符(sint32)+读取位置(uint32)+读取数据最大长度(uint16) 固定长度10 0x83 实际数据长度(uint16)+数据内容 2+数据长度
创建文件 0x04 完整的文件路径,字符串形式 字符串长度 0x84 文件描述符,sint32,<0表示创建失败 固定长度4 文件存在则以读方式直接打开,不存在则创建
写入文件 0x05 文件描述符(sint32)+写入数据长度(uint16)+写入数据 6+数据长度 0x85 实际写入数据长度(uint16) 固定长度2 以追加方式写入
删除文件 0x06 完整的文件路径,字符串形式 字符串长度 0x86 uint8,1代表成功,0代表失败 固定长度1
关闭文件 0x07 文件描述符(sint32) 固定长度4 0x87 uint8,1代表成功,0代表失败 固定长度1
获取文件信息 0x08 完整的文件路径,字符串形式 字符串长度 0x88 文件是否可用(uint8)+文件大小(uint32)+创建时间戳(uint32)+修改时间戳(uint32) 固定长度13 如果文件不可用,则其他信息无效
控制命令定义
命令名称 命令值 数据内容 数据长度 响应命令 响应内容 响应长度 备注
通道触发指令 0x11 通道(uint8)+触发序号(uint32),每位代表一个通道 固定长度1 0x91 返回(uint8),成功相应通道置1,失败为置0 固定长度1 此命令必须回复,执行失败则主机会重发
反馈事件上报 0x12 事件个数(uint8)+[触发序号(uint32)+反馈通道(uint8)+反馈时间(uint32)] 1+事件个数*5 0x92 成功返回1,失败返回0(uint8) 固定长度1 此命令必须回复,执行失败需要重发
云台控制 0x13 待定 待定 0x93 待定 待定 此命令必须回复,执行失败需要重发