OTA(Over-the-Air Technology)即空中下载技术,是物联网平台的一项基础功能。通过OTA方式,可以对分布在全球各地的IoT设备进行固件升级。本章节以MQTT协议下的固件升级为例,介绍OTA固件升级操作流程,并提供设备端OTA升级配置示例代码。

OTA固件升级流程

OTA
  1. 设备端上报当前固件版本到Topic:/ota/device/inform/${YourProductKey}/${YourDeviceName}

    上报固件版本消息格式:

    
    {
      "id": 1,
      "params": {
        "version": "1-0-0"
      }
    }
  2. 设备端订阅物联网平台推送OTA升级通知消息的Topic:/ota/device/upgrade/${YourProductKey}/${YourDeviceName}

    升级通知消息格式:

    {
        "code":"1000",
        "data":{
            "size":11472299,
            "sign":"83254ac96e141affb8aa42cbfec9****",
            "version":"2-0-0",
            "url":"https://iotx-ota.oss-cn-shanghai.aliyuncs.com/ota/dbab6f742ae389b40db88fc2500b****/ck0q5lyav00003i7hezxe****.zip?Expires=1568951190&OSSAccessKeyId=cS8uRRy54Rsz****&Signature=nk0sogaxtyp7dYvKZnjNQ%2BZ8Q9****",
            "signMethod":"Md5",
            "md5":"83254ac96e141affb8aa42cbfec9****"
        },
        "id":1568864790381,
        "message":"success"
    }
  3. 设备从升级通知消息中的URL下载固件包,并进行本地升级。
  4. 上报升级进度到Topic:/ota/device/progress/${YourProductKey}/${YourDeviceName}

    上报进度消息格式:

    {
      "id": 1,
      "params": {
        "step":"1", 
        "desc":" xxxxxxxx "
      }   
    }
  5. 上报升级后的固件版本到Topic:/ota/device/inform/${YourProductKey}/${YourDeviceName}

    上报固件版本的格式:

    
    {
      "id": 1,
      "params": {
        "version": "2-0-0"
      }
    }

操作文档

配置设备端OTA升级

推送固件到设备端