所有数据以小端模式传输,字符串为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 | 待定 | 待定 | 此命令必须回复,执行失败需要重发 |