更新时间:2023-04-07 GMT+08:00
分享

软件升级(联通用户专用)

非联通用户请查看设备接入服务

软件(Software)一般分为系统软件和应用软件,系统软件实现设备最基本的功能,比如编译工具、系统文件管理等;应用软件可以根据设备的特点,提供不同的功能,比如采集数据、数据分析处理等。软件升级又称为SOTA(SoftWare Over The Air),是指用户可以通过OTA的方式支持对LWM2M协议的设备进行软件升级,软件升级协议为PCP协议。

本章节将介绍基于开发中心的软件升级将如何进行调测。基于设备管理服务的软件升级可参考设备管理服务软件升级

检查设备软件升级能力

在执行软件升级操作前,请确认该设备支持软件升级能力。

  1. 登录开发中心,并进入到对应的项目。
  2. 选择产品 > 产品开发,选择具体产品,进入该产品的开发空间。

  3. Profile定义 > OM维护 下,确认“软件升级”功能已开启。

制作软件升级版本包

设备升级的软件包文件由各设备厂商提供,在物联网平台上传设备的软件升级包前,需要制作软件升级的版本包,用于修改软件包的描述文件,如软件版本、厂商名称、设备类型、产品模型等信息。下面将详细介绍版本包的制作方法。

  1. 新建文件夹命名为“DM”,在DM文件夹下新建文件夹,命名为“linux”。
  2. 使用Notepad++文本工具新建一个文本文件,拷贝如下内容到文本中,在Notepad++工具的“编码”菜单中选择“使用UTF-8编码”,然后将文本进行存储,存储路径选择步骤1中的“linux”文件夹,文件名称命名为“UpgradeDesc”,保存类型选择“.json”。

    {
        "specVersion": "",
        "fileName": "",
        "packageType": "",
        "version": "",
        "deviceType": "",
        "manufacturerName": "",
        "model": "",
        "protocolType":"",
        "description":"",
        "versionCheckCode":"",
        "deviceShard":"",
        "platform":"",
        "supportSourceVersionList":[],
        "date":""
    }

  3. 打开创建的“UpgradeDesc.json”文件,修改软件升级描述文件,相关字段如下表所示。

    字段名

    字段描述

    是否必填

    specVersion

    描述文件版本号,固定值:“1.0”。

    fileName

    软件包文件名,例如:“ExamplePackage_V1.0.10.xx”。

    packageType

    软件包类型,必须设置为:“softwarePackage”。

    version

    软件包版本号长度不超过16个字节,例如:“V1.0.10”

    deviceType

    设备类型,需要与产品模型保持一致。例如:“WaterMeter”。

    manufacturerName

    制造商名称,需要与产品模型保持一致。例如:“TestUtf8ManuName”。

    model

    产品型号,需要与产品模型保持一致。例如:“TestUtf8ModelM2M”。

    protocolType

    设备接入协议类型,需要与产品模型保持一致。例如:“CoAP”。

    说明:

    设备接入的协议类型有三种:“CoAP”、“LWM2M”、“MQTT”。

    description

    对软件包的自定义描述。

    versionCheckCode

    软件升级包校验码,长度为4个字符。软件包下载时支持断点续传,根据该字段标识前后两次下载的软件包分片是否为同一个软件包。

    deviceShard

    终端下载软件包的每个分片的大小,单位为byte,如果不设置默认为500byte。大小为32~500之间。

    platform

    标识设备的操作系统,如linux。

    supportSourceVersionList

    支持用于升级此版本包的设备源版本列表。

    支持通配符配置,*代表匹配任意0~n个字符,?代表匹配单个任意字符,如果存在多个版本,请使用英文“;”隔开。

    date

    出包时间,格式为:“yyyy-MM-dd”。

  4. 在与“DM”同级目录下创建文件夹,命名为“linux”,该文件夹名称必须同步骤1中的文件夹命令保持一致,将厂商软件包(软件包格式无限制)置于该文件中。

  5. 选中“DM”和“linux”文件夹,使用压缩工具打包成ZIP格式的压缩包,建议命令为“xx_package.zip”。

    • 文件“DM”和“linux”的命名是固定的。

    • “xx_package.zip”下不能包含package这层目录。

    • 仅支持ZIP格式的压缩包,不能压缩成其他格式后,例如rar,再手动修改文件类型为zip。

上传软件包

  1. 选择产品 > 升级调试 > 升级包管理 > 软件包管理,点击“上传未签名软件包”

  2. “软件包上传”界面,选择需要上传的未签名软件包,然后点击“提交”

    上传软件包前请确保开发中心已存在对应的产品模型。

    因为开发中心可以从软件包里的json文件获取产品模型信息,所以此处不需要像“固件包上传”一样,选择产品关联软件包。

创建软件升级任务

  1. 选择产品 > 升级调试 > 软件升级,点击“创建升级任务”

  2. 根据软件升级向导,逐步完成升级任务的创建。

    1. 填写任务基本信息,点击“下一步”

      如果需要配置升级任务的执行类型和重试参数,“高级”选择“是”

      • 执行类型:开发中心在什么时候给设备下发升级任务,取值范围:现在、设备在线时或自定义时间段。
      • 重试参数:执行任务失败后,是否重新执行任务。

    2. 选择需要升级的软件包,点击“下一步”

      如果“历史软件包”列表中没有需要的软件包,可以点击“上传未签名软件包”上传新的未签名软件包。上传软件包前请确保开发中心已存在对应的产品模型。

    3. “设备选择”界面,可以选择一个或多个设备进行升级,点击“提交”

  3. 软件升级任务创建后,可以在“软件升级”界面对软件升级任务进行管理。点击具体任务可以查看任务的“基本信息”“升级详情”

  4. 任务结束后,点击“导出”,导出任务详情文件。

相关文档