- 产品介绍
- 价格说明
- 快速入门
- 开发指南
- 用户指南
- 最佳实践
- API参考
-
SDK参考
- SDK介绍(联通用户专用)
- 应用侧JAVA SDK API参考(联通用户专用)
- 应用侧Python SDK API参考(联通用户专用)
- 设备侧Agent Lite API参考(C)(联通用户专用)
- 设备侧Agent Lite API参考(Android)(联通用户专用)
- 设备侧Agent Lite API参考(Java)(联通用户专用)
-
常见问题
- 热门问题(联通用户专用)
-
方案咨询(联通用户专用)
- 开发中心、设备接入和设备管理的差异是什么?
- IAM子用户或子项目是否可以开通物联网平台服务?
- 物联网平台支持在华为云的哪些区域开通?
- 如何成为华为IoT生态合作伙伴?
- 物联网平台支持哪些接入方式和协议?
- 华为是否提供模组/硬件终端/应用软件等?
- 设备接入模拟器HubSimulator是否能在设备管理使用?
- 设备接入服务如何获取设备数据?
- 物联网平台的应用和设备可以无限创建吗?
- 物联网平台支持批量注册设备吗?
- 物联网平台对应用和设备有消息流控吗?
- 开发中心单个应用允许接入设备数是多少?
- 数据在物联网平台的保存时间是多久?
- 物联网平台支持的DTLS加密算法有哪些?
- 物联网平台支持二进制大小端模式切换吗?
- 什么是NB-IoT?
- 物联网平台支持的硬件架构和使用的相关组件有哪些?
-
设备集成(联通用户专用)
- 如何获取设备和应用对接地址?
- 如何下载LiteOS IDE/IoT Studio?
- 物联网平台允许一个IMEI号注册多个设备吗?
- 如何设置设备名称?
- IoT设备如何激活?
- 物联网平台如何切换设备的在线/离线状态?
- 通过网关接入的子设备,平台如何识别是哪一个设备?
- deviceId、nodeId和IMEI有什么对应关系?
- Agent Lite和Agent Tiny有什么区别?
- 使用Agent Lite接入的网关设备gwbindinfo.json文件丢失如何处理?
- 运行Agent Lite Java Demo报UnsatisfiedLinkError错误怎么处理?
- 设备如何发送文件至物联网平台?
- 开发中心模拟设备如何上报负数?
- 开发中心支持哪几种省电模式?
- 开发中心支持数据转发吗?
- 开发中心没有设备分组和批量添加设备,怎么办?
- 如何检测NB网络信号?
- NB模组附着网络失败如何处理?
- NB模组绑定设备失败怎么办?
- NB模组无法正常上报数据怎么办?
- NB设备上报数据为字符串时如何转换为二进制编码?
- NB设备接入时,出现513错误?
- 为什么执行AT+CUFN=1会返回error?
- 平台向NB-IoT设备缓存下发命令,为什么设备一直收到同一条控制命令?
- AT+CGDCONT=1, CTNB是什么?
- NB-IoT设备如何选择PSM、DRX、eDRX模式?
- 应用集成(联通用户专用)
-
订阅推送(联通用户专用)
- 调用订阅接口时,回调地址如何获取?
- 应用服务器如何收到命令状态变化的通知?
- 如何获取证书?
- 回调地址可以使用域名吗?
- 订阅后消息推送失败,例如提示503如何处理?
- 应用服务器收到数据,但是平台显示推送失败?
- 应用服务器只有内网地址,能否订阅成功?
- 调用订阅接口时,提示回调地址不合法?
- 物联网平台只支持HTTPS的回调地址吗?
- 回调地址可以修改吗?
- 推送证书失效怎么处理?
- 调用删除单个订阅接口时,subscriptionId如何获取?
- 设备数据变化通知和批量设备数据变化通知的区别是什么?
- 应用服务器如何获取物联网平台推送消息时使用的地址?
- 物联网平台订阅推送是否具有重推机制?
- 为什么设备上报一条数据后应用服务器会收到多条推送?
- 在同一个应用下,平台可以将不同设备上报的数据,推送到两个服务器吗?
- NB-IoT设备已订阅消息确认和命令响应通知,为何应用服务器收不到推送消息?
- 数据上报(联通用户专用)
- 命令下发(联通用户专用)
- 产品模型/Profile(联通用户专用)
- 编解码插件(联通用户专用)
- 软/固件升级(联通用户专用)
- 文档下载
- 通用参考
链接复制成功!
软件升级(联通用户专用)
非联通用户请查看设备接入服务。
软件(Software)一般分为系统软件和应用软件,系统软件实现设备最基本的功能,比如编译工具、系统文件管理等;应用软件可以根据设备的特点,提供不同的功能,比如采集数据、数据分析处理等。软件升级又称为SOTA(SoftWare Over The Air),是指用户可以通过OTA的方式支持对LWM2M协议的设备进行软件升级,软件升级协议为PCP协议。
本章节将介绍基于开发中心的软件升级将如何进行调测。
检查设备软件升级能力
在执行软件升级操作前,请确认该设备支持软件升级能力。
- 登录开发中心,并进入到对应的项目。
- 选择“产品 > 产品开发”,选择具体产品,进入该产品的开发空间。
- 在“Profile定义 > OM维护 ”下,确认“软件升级”功能已开启。
制作软件升级版本包
设备升级的软件包文件由各设备厂商提供,在物联网平台上传设备的软件升级包前,需要制作软件升级的版本包,用于修改软件包的描述文件,如软件版本、厂商名称、设备类型、产品模型等信息。下面将详细介绍版本包的制作方法。
- 新建文件夹命名为“DM”,在DM文件夹下新建文件夹,命名为“linux”。
- 使用Notepad++文本工具新建一个文本文件,拷贝如下内容到文本中,在Notepad++工具的“编码”菜单中选择“使用UTF-8编码”,然后将文本进行存储,存储路径选择步骤1中的“linux”文件夹,文件名称命名为“UpgradeDesc”,保存类型选择“.json”。
{ "specVersion": "", "fileName": "", "packageType": "", "version": "", "deviceType": "", "manufacturerName": "", "model": "", "protocolType":"", "description":"", "versionCheckCode":"", "deviceShard":"", "platform":"", "supportSourceVersionList":[], "date":"" }
- 打开创建的“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”。
否
- 在与“DM”同级目录下创建文件夹,命名为“linux”,该文件夹名称必须同步骤1中的文件夹命令保持一致,将厂商软件包(软件包格式无限制)置于该文件中。
- 选中“DM”和“linux”文件夹,使用压缩工具打包成ZIP格式的压缩包,建议命令为“xx_package.zip”。
上传软件包
- 选择“产品 > 升级调试 > 升级包管理 > 软件包管理”,点击“上传未签名软件包”。
- 在“软件包上传”界面,选择需要上传的未签名软件包,然后点击“提交”。
上传软件包前请确保开发中心已存在对应的产品模型。
说明:
因为开发中心可以从软件包里的json文件获取产品模型信息,所以此处不需要像“固件包上传”一样,选择产品关联软件包。
创建软件升级任务
- 选择“产品 > 升级调试 > 软件升级”,点击“创建升级任务”。
- 根据软件升级向导,逐步完成升级任务的创建。
- 填写任务基本信息,点击“下一步”。
如果需要配置升级任务的执行类型和重试参数,“高级”选择“是”。
- 执行类型:开发中心在什么时候给设备下发升级任务,取值范围:现在、设备在线时或自定义时间段。
- 重试参数:执行任务失败后,是否重新执行任务。
- 选择需要升级的软件包,点击“下一步”。
如果“历史软件包”列表中没有需要的软件包,可以点击“上传未签名软件包”上传新的未签名软件包。上传软件包前请确保开发中心已存在对应的产品模型。
- 在“设备选择”界面,可以选择一个或多个设备进行升级,点击“提交”。
- 填写任务基本信息,点击“下一步”。
- 软件升级任务创建后,可以在“软件升级”界面对软件升级任务进行管理。点击具体任务可以查看任务的“基本信息”和“升级详情”。
- 任务结束后,点击“导出”,导出任务详情文件。