1 登录并进入开发者中心
5 验证升级
2 远程升级OTA入口
6 添加差分包
3 选择远程升级类型
7 添加升级设备
4 上传固件包到平台
8 设备端API的调用
OneNET平台提供固件升级服务,首先需要确保设备端支持OTA服务,然后在OneNET平台上传新的固件包,设备检测到升级任务,即可完成在线升级。本部分内容将为您介绍如何设置固件升级和管理固件。
固件升级功能前,请确保设备端支持OTA升级服务。
1、 如果您使用设备端SDK,请参考OneNET提供的SDK;
2、 如果使用在线差分进行升级,需要继承相应的差分还原SDK,详情请咨询陈经理(13983745042)。
升级流程图:
您需要登录OneNET平台,方可使用OneNET OTA服务。
进入开发者中心,在导航栏选择全部产品->远程升级OTA板块。
说明:为提供更好的服务,OneNET平台OTA2.0版本改版了原固件升级,新增了产品管理升级包。首次进会将OTA1.0版本新增的升级包默认添加到某个产品下进行关联。
进入远程升级OTA界面,选择需要升级的模块;然后点击右上角的添加升级包按钮。
在添加升级包对话框中,输入固件信息,上传固件包文件。
参数 | 描述 |
---|---|
升级名称 | 1-20个中文、英文、数字、空格、或半角符号,升级名称不能重复 |
选择产品 | 下拉框选择需要升级的设备所属产品,若没有产品,请在OneNET平台基础服务中新增一个产品,如图2所示 |
厂商名称 | 根据设备所使用模组选择厂商名称,如果下拉框中没有所需的模组,选择其他 |
模组型号 | 根据设备所使用模组选择对应的型号,如果下拉框中没有所需的型号,选择其他 |
目标版本 | 1-20个英文、数字、点号、连接符和下划线 |
上传升级包 | 选择需要升级的完整包,并上传,这里升级包文件名不支持中文 |
如图5,图6所示,点击验证升级按钮,选择验证类型(完整包或者差分包),选择进行测试升级的设备,进行验证。
参数 | 描述 |
---|---|
升级包 | 完整包:进行完整包验证; 差分包:进行差分包验证,需要提前上传或者在线生成对应的差分包(详情见STEP 6) |
选择设备 | 选择用于验证升级的设备(如果点击“选择设备”,提示没有设备,说明目前该产品下还不存在设备,或者存在设备但是并没有上报过版本号) |
待升级版本 | 如果选择差分包验证,这里选择差分升级的起始版本(即设备的当前版本号) |
固件上传至OneNET平台后,需要使用少量设备对固件进行验证,确保测试设备升级成功后,才能批量升级。
也可以单击“跳过验证”按钮跳过验证(不建议这样操作)。
如果需要进行差分升级,需在平台“上传”或者“在线生成”差分包。使用差分升级时:
1)首先需要确认该差分包的初始版本和目标版本已存在,如图8所示的列表中的“目标版本”字段。
2)若该差分包的初始版本或目标版本不存在,可通过图8右上角添加升级包按钮添加版本(一次只能添加一个版本,若要创建初始版本和目标版本,请添加两次)。
3)若差分包的初始版本和目标版本均已存在,具体操作如下:
参数 | 描述 |
---|---|
升级名称 | 升级任务名称,自动填充 |
对应产品 | 自动填充 |
目标版本 | 自动填充 |
制作差分包 | 线上自动差分:如果需要使用OneNET平台的差分能力,需要在设备端继承平台提供的差分还原SDK; 手动上传差分包:用户如果使用自己的差分能力,可以选择手动上传差分包。 |
初始版本 | 差分升级的起始版本,也就是当前设备的版本号 |
(1) 单击升级设备列表,进入升级队列模块,在右上角单击添加升级设备按钮,新增设备升级任务。
(2) 在添加待升级设备对话框中输入对应参数值。
参数 | 描述 |
---|---|
初始版本 | 下拉框选择需要升级的设备版本范围 |
升级范围 | 在选择了初始版本后,是对版本号下所有设备进行升级,还是选择部分设备进行升级 |
升级方式 | 整包,差分 |
升级时机 | 立即升级:升级任务立即生效; 定时升级:升级任务在到达指定时间后生效 |
重试策略 | 不重试; 重试:选择对应的重试次数和重试时间就间隔;这里只是将策略通知到终端,由终端设备控制 |
信号强度 | 通知到终端,由终端控制 |
剩余电量 | 通知到终端,由终端控制 |
(3) 新建的待升级设备,如下图所示:
设备与平台采用HTTP协议RESTful标准格式进行数据交互,接口通过Authorization来鉴权。
(1)上报版本
设备上报当前固件版本号,设备在首次进行升级时需要执行此步骤。
示例:
curl -XPOST
-H "Content-Type:application/json"
-H "Authorization:version=2018-10-31&res=products/33704&et=2529385073&method=sha1&sign=RccQWjT1n5OJ2khw3M4aPckkiFs="
-d '{"f_version": "4.0"}'
"http://ota.heclouds.com/ota/device/version?dev_id=32981907"
(2)检查设备升级任务
示例:
curl -XGET
-H "Content-Type:application/json"
-H "Authorization:version=2018-10-31&res=products/33704&et=2529385073&method=sha1&sign=RccQWjT1n5OJ2khw3M4aPckkiFs="
"http://ota.heclouds.com/ota/south/check?dev_id=32981907&manuf=001&model=00108&type=1&version=4.0&cdn=false"
(3)检测token有效
该步骤可选。如果上一步成功检查到升级任务,得到任务和升级包相关信息,设备拉取升级包时,OneNET平台通过token进行校验,并且上一步返回的token只有48小时的有效期,所以这里客户在使用时最好提前校验一下token是否有效。
示例:
curl -XGET
-H "Authorization:version=2018-10-31&res=products/33704&et=2529385073&method=sha1&sign=RccQWjT1n5OJ2khw3M4aPckkiFs="
"http://ota.heclouds.com/ota/south/download/ota_MTuflbjJDBclqltMlXX6/check?dev_id=32981907"
(4)下载资源
token检测成功后,设备即可从平台获取升级包,完成升级包下载,远程升级OTA支持分片下载。
示例:
curl -XGET
-H "host:ota.heclouds.com"
-H "Range:50500-50999"
"http://183.230.40.50:80/ota/south/download/ota_KUuCwrPAjYj4tCr6Bcdl"
(5)上报升级状态
设备上报当前资源下载进度和升级状态。
示例:
curl -XPOST
-H "Content-Type:application/json"
-H "Authorization:version=2018-10-31&res=products/33704&et=2529385073&method=sha1&sign=RccQWjT1n5OJ2khw3M4aPckkiFs="
-d '{"step":100}'
"http://ota.heclouds.com/ota/south/device/download/ota_MP9qVOT0AtsHhUSNYMy7/progress?dev_id=32981907"