定义otatask模型

This commit is contained in:
2025-12-03 16:23:33 +08:00
parent 4a3c82fc25
commit a1deb0011b
4 changed files with 65 additions and 27 deletions

View File

@@ -46,27 +46,27 @@ message Pong {
// PrepareUpdateReq: 平台发送给设备,通知设备准备开始 OTA 升级 (下行)
message PrepareUpdateReq {
string version = 1; // 新固件版本号
string task_id = 2; // 升级任务唯一ID
uint32 task_id = 2; // 升级任务唯一ID
string manifest_md5 = 3; // 清单文件的 MD5 校验和,用于设备初步校验清单文件完整性
}
// RequestFile: 设备向平台请求特定文件 (包括清单文件和固件文件) (上行)
message RequestFile {
string task_id = 1; // 升级任务ID
uint32 task_id = 1; // 升级任务ID
string filepath = 2; // 请求的文件路径 (例如 "/manifest.json" 或 "/main.py")
}
// FileResponse: 平台响应设备请求,发送单个文件的完整内容 (下行)
// LoRa 传输层会自动处理分片和重组,因此应用层可以直接发送完整的单个文件内容
message FileResponse {
string task_id = 1; // 升级任务ID
uint32 task_id = 1; // 升级任务ID
string filepath = 2; // 设备上的目标路径 (例如 "/manifest.json" 或 "/main.py")
bytes content = 3; // 文件的完整内容
}
// UpdateStatusReport: 设备向平台报告升级状态 (上行)
message UpdateStatusReport {
string task_id = 1; // 升级任务ID
uint32 task_id = 1; // 升级任务ID
string current_version = 2; // 操作完成后的当前版本
enum Status {
STATUS_UNSPECIFIED = 0; // 未指定protobuf3 要求枚举从0开始