??中国电信物联 开放平台(以下简称“平台”)提供了基于LWM2M的固件升级功能,用于模组的固件升级。但是由于多数模组并未提供升级接口给MCU,所以MCU升级只能基于应用层来实现升级,为了避免和模组的升级混淆,我们把MCU的升级称为软件升级。
1. 总体流程
??要在电信平台上执行软件升级功能,基本需要完成如下步骤:
??1、在电信开发者平台上制作“编解码插件”,并通过电信的认证,取得认证证书之后,才能将“编解码插件”部署到电信的正式平台(测试平台不需要证书验证)。
“编解码插件”的制作方式及电信平台的认证方式均不在该文档的讲解范围内。
??2、通过离线签名工具制作“公私钥”文件,并将其部署电信平台。
??3、制作软件升级包,并将其部署到电信平台。
??4、在电信平台创建“软件升级任务”,执行软件升级流程。
??下面分别逐流程详细进行介绍。
2. 开发者平台开发插件
??该部分内容详见《电信物联 平台插件开发流程》总结。若已经完成“插件”的开发,可以忽略此步骤。
3. 生成公私钥文件
3.1 公私钥文件制作
??制作公私钥文件的步骤如下:
??1、使用浏览器登录电信云平台,如下图所示,下载离线签名工具。
3.2 公私钥文件上传
?? 登陆SP Portal,设备管理中选择具体的某一个应用,点击进入对应的应用下,在软件库的公钥管理中上传公钥。
字段名 | 字段描述 | 是否必填 |
---|---|---|
specVersion | 描述文件版本 ,固定值:“1.0” | 是 |
fileName | 软件包文件名,例如:ExamplePackage_V1.0.xx | 是 |
version | 软件包版本 (升级协议类型为PCP的设备软件版本 长度不超过16个字节) | 是 |
deviceType | 设备类型 | 是 |
manufacturerName | 制造商名称 | 是 |
model | 产品型 | 是 |
packageType | 软件包必须设置为:“softwarePackage” | 是 |
date | 出包时间,格式为:“yyyy-MM-dd” | 否 |
description | 对软件包的自定义描述 | 否 |
supportSourceVersionList | List支持用于升级此版本包的设备源版本列表。不配置该字段说明该版本可用于任意源版本进行升级(具体见下表) | 否 |
versionCheckCode | 设备厂商出包时用于版本包校验的校验码(用户自定义字段,2个字符,如果配置该字段,在平台通知设备做版本下载时会将该字段作为参数发送给设备,由设备侧自行进行版本校验) | 否 |
??UpgradeDesc.json文件模板如下:
??{
???“specVersion”: “1.0”, (此处为固定值)
??? “fileName”: “E10RT_APP_V7.00_20201023.bin”, (此处需要与我们升级文件名保持一致)
???“packageType”: “softwarePackage”, (此处为固定值)
???“version”: “V7.0”, (升级.bin文件的实际版本)
???“deviceType”: “WaterMeter”, (与下图的产品模型中的保持一致)
???“manufacturerName”: “Huawei”, (与下图的产品模型中的保持一致)
???“model”: “NBIoTDeviceDev”, (与下图的产品模型中的保持一致)
??? “protocolType”:“CoAP”, (与下图的产品模型中的保持一致)
??? “description”:“This is E10RT Ver7.0 APP”,
??? “versionCheckCode”:“D3”, (通过格西CRC计算器计算)
??? “date”:“2020-10-23”
??}
??通过格西CRC计算检验和的方式如下:
4.2 软件包上传
??登陆SP Portal,在设备管理页面,选择对应的应用,点击“软件库”,在“软件包管理”页面点击添加软件包,选择签名后的软件包,点击“确认”执行软件包上传。
5.创建升级任务
??电信正式平台的IP:https://device.local.ct10649.com:8843/
??基本信息:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!