概述
OTA(Over-the-Air Technology)即空中下载技术。物联网平台支持通过OTA方式进行设备固件升级。本文以MQTT协议下的固件升级为例,介绍OTA固件升级流程、数据流转使用的Topic和数据格式,并使用MQTT.fx工作作为模拟设备演示整个升级流程。
OTA固件升级流程
1、升级流程图
2、相关Topic
- 设备端上报固件版本给物联网平台
/ota/device/inform/${YourProductKey}/${YourDeviceName}
- 设备端订阅该topic接收物联网平台的固件升级通知
/ota/device/upgrade/${YourProductKey}/${YourDeviceName}
- 设备端上报固件升级进度
/ota/device/progress/${YourProductKey}/${YourDeviceName}
说明
- 设备固件版本号只需要在系统启动过程中上报一次即可,不需要周期循环上报。
- 从物联网平台控制台发起批量升级,设备升级操作记录状态是待升级。
- 实际升级以物联网平台OTA系统接收到设备上报的升级进度开始。设备升级操作记录状态是升级中。
- 根据版本号来判断设备端OTA升级是否成功。
- 设备离线时,不能接收服务端推送的升级消息。
- 通过MQTT协议接入物联网平台的设备再次上线后,主动通知服务端上线消息。OTA服务端收到设备上线消息,验证该设备是否需要升级。- 如果需要升级,再次推送升级消息给设备, 否则,不推送消息。
操作步骤
1、配置MQTT.fx,参考链接;
2、订阅固件升级通知Topic;
3、管理门户配置批量升级;
4、设备端获取到订阅信息
5、设备端汇报升级进度
6、汇报版本号完成固件升级
意见或建议
本部分的测试不建议直接使用官方设备端JAVA SDK,SDK默认会做一些固件版本的上报,影响正常测试。建议直接使用开源的MQTT协议的SDK进行Topic的订阅和发布。