OTA固件升级

365不给提款流水数据异常 📅 2025-10-15 06:57:42 👤 admin 👁️ 1442 ❤️ 736
OTA固件升级

一、流程概述HTTPS 方式 OTA 升级流程描述结合 MQTT 服务、设备和 Web 端总结的主题发送情况:云端下发升级包信息给设备:主题:/${serialNumber}/http/upgrade/set

方向:云端 -> 设备

触发时机:在 Web 端判断 OTA 版本可升级且用户确认升级后

消息内容:包含升级包的 URL、版本和状态,如

{

"taskId": 26,

"url": "/profile/iot/1/2024-0824-001954.bin",

"version": 1.2,

"status": 1

}设备上报升级进度:主题:/${serialNumber}/http/upgrade/reply方向:设备 -> 云端触发时机:设备下载升级包过程中定时上报消息内容:包含升级进度和状态,如 {

"taskId": 26,

"progress": 100,

"version": "1.2",

"status": 2

}设备升级完成后上报最新版本以及状态:主题:/${serialNumber}/http/upgrade/reply

方向:设备 -> 云端

触发时机:设备端升级完成后

消息内容:包含最新版本和状态,如

{

"taskId": 26,

"version": "1.2",

"status": 3

}模拟的整体交互流程: // status状态字段定义

AWAIT(0, "等待升级","未推送固件到设备"),

SEND(1, "已发送","已发送设备"),

REPLY(2, "升级中","设备OTA升级中"),

SUCCESS(3, "成功","升级成功"),

FAILED(4, "失败","升级失败"),

STOP(5, "停止","设备离线停止推送"),

UNKNOWN(404, "未知","未知错误码");

//主题定义

${taskId}/ws/ota/status 是云端后台推送给云端前台的一个展示状态主题

${serialNumber}/http/upgrade/set 是云端推送给设备的主题

${serialNumber}/http/upgrade/reply 是设备上给云端的主题左边是云端上报 , 右边是设备上报

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 0,

"timestamp": 1724482221250

}

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 1,

"timestamp": 1724482221251

}

Topic: /D1832O34Z5M1/http/upgrade/set

{

"taskId": 26,

"url": "/profile/iot/1/2024-0824-001954.bin",

"version": 1.2,

"status": 1

}

Topic: /D1832O34Z5M1/http/upgrade/reply

{

"taskId": 26,

"progress": 5,

"version": "1.2",

"status": 2

}

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 2,

"timestamp": 1724482231404,

"progress": 5

}

Topic: /D1832O34Z5M1/http/upgrade/reply

{

"taskId": 26,

"progress": 50,

"version": "1.2",

"status": 2

}

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 2,

"timestamp": 1724482251326,

"progress": 50

}

Topic: /D1832O34Z5M1/http/upgrade/reply

{

"taskId": 26,

"progress": 70,

"version": "1.2",

"status": 2

}

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 2,

"timestamp": 1724482290405,

"progress": 70

}

Topic: /D1832O34Z5M1/http/upgrade/reply

{

"taskId": 26,

"progress": 100,

"version": "1.2",

"status": 2

}

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 2,

"timestamp": 1724482302296,

"progress": 100

}

Topic: /D1832O34Z5M1/http/upgrade/reply

{

"taskId": 26,

"progress": 100,

"version": "1.2",

"status": 3

}

Topic: /26/ws/ota/status

{

"serialNumber": "D1832O34Z5M1",

"status": 3,

"timestamp": 1724482308749

}二进制包方式OTA升级一、引言OTA(Over-the-Air)升级是一种通过无线网络对设备进行远程升级的技术。本文档旨在详细描述 OTA 升级的流程,包括升级启动、升级包传输等环节。

二、OTA 升级流程概述平台自行拼装 OTA 格式,启动 OTA 升级。云端向设备发送升级启动指令。设备收到升级启动指令后,进行校验和验证,若通过则向云端回复指令。云端收到设备的正确回复后,开始 OTA 升级包传输。云端向设备发送升级包传输指令。设备收到升级包传输指令后,进行校验和验证,若通过则向云端回复指令。云端根据设备的回复判断是否所有升级包都已传输完成,若未完成则继续发送下一个升级包传输指令,直至升级完成。三、具体流程步骤主题:

云端 -> 设备:/{deviceNum}/fetch/upgrade/set设备 -> 云端:/{deviceNum}/fetch/upgrade/reply报文示例:

升级启动阶段:云端 -> 设备: 0x55aa 0x00 0x0A 0x0004 [固件包字节数] [校验和]设备 -> 云端: 0x55aa [0x00 - 0xFF] 0x0A 0x0001 [升级包分包传输大小] [校验和]升级包传输阶段:云端 -> 设备: 0x55aa 0x00 0x0B 0x0004 + [数据包长度] [包偏移][数据包内容] [校验和]设备 -> 云端: 0x55aa [0x00 - 0xFF] 0x0B 0x0000 [校验和]升级启动云端 -> 设备:云端向设备发送升级启动指令,指令包含帧头(0x55aa)、版本号(0x00)、指令类型(0x0A)、子指令(0x0004)、固件包字节数和校验和(从帧头开始,按字节求和,对 256 求余)。设备 -> 云端:设备收到升级启动指令后,进行校验和验证。若校验和验证通过,设备向云端回复指令,指令包含帧头(0x55aa)、版本号(0x00 - 0xFF)、指令类型(0x0A)、子指令(0x0001)、升级包分包传输大小(0x00:256byte(默认);0x01:512byte;0x02:1024byte)和校验和(计算方式同云端发送的指令)。升级包传输云端 -> 设备:云端向设备发送升级包传输指令,指令包含帧头(0x55aa)、版本号(0x00)、指令类型(0x0B)、子指令(0x0004 + 数据包长度)、前四字节为包偏移,后面为数据包内容(若包偏移大于等于固件包大小,则包传输结束)和校验和(从帧头开始,按字节求和,对 256 求余)。设备 -> 云端:设备收到升级包传输指令后,进行校验和验证。若校验和验证通过,设备向云端回复指令,指令包含帧头(0x55aa)、版本号(0x00 - 0xFF)、指令类型(0x0B)、子指令(0x0000)、空内容和校验和(计算方式同云端发送的指令)。升级完成判断云端收到设备的回复后,判断是否所有升级包都已传输完成。若已完成,OTA 升级结束。若未完成,继续发送下一个升级包传输指令,回到升级包传输步骤。二、注意事项在整个升级过程中,校验和的验证是确保数据准确性和完整性的重要环节,任何校验和不匹配的指令都应被视为错误并进行相应的处理。升级包的传输过程中,需要确保无线网络的稳定性,以避免数据丢失或传输中断。若升级过程中出现异常情况,应具备相应的错误处理机制,例如重试、回滚等操作,以保证设备的正常运行。三、操作流程HTTPS 方式 OTA 升级流程操作1. 运维管理-产品固件:添加固件,选择产品:2. 固件详情添加任务:产品固件列表点击固件详情 * 新增任务,升级范围可选全部设备或指定设备 **注意**:选择预定升级时间,会在该时间节点升级,如果不选择,点击保存后立即升级 3. 实时观察任务升级进度:查看任务详情:

等待预定升级时间开始升级:

设备升级中:

设备升级成功:

二进制包方式OTA流程操作同上

相关推荐

迷你世界游戏审核要多久
365bet娱乐场

迷你世界游戏审核要多久

📅 09-16 👁️ 9012
《逆水寒手游》杭州什么时候下雪
365bet娱乐场

《逆水寒手游》杭州什么时候下雪

📅 08-07 👁️ 5250