OTA固件升级教程-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12899|回复: 1

OTA固件升级教程

[复制链接]
发表于 2017-3-1 18:32 | 显示全部楼层 |阅读模式
机智云的OTA服务主要提供以下功能:
  • OTA通知服务,即离线升级。当设备的固件程序有新版本发布,OTA 通知服务会推送升级通知到设备。
  • OTA透传服务,即在线升级。设备固件程序通过M2M 消息服务透传到设备端。
  • 支持一个产品同时有多个推送
  • 支持wifi/mcu升级
  • 支持定向升级。可指定设备mac地址、区域、旧固件版本进行推送。
  • 支持定时推送。可自定义推送周期及推送时段。
  • OTA进度统计分析


OTA升级流程
Wifi产品OTA服务是在开发者中心网站上实现的,由5部分组成:分别是添加固件、验证固件、添加规则、开始推送、推送完成(查询结果)。OTA版本取决于产品版本及所用的GAgent,下面会分别加以说明。
添加固件
当推送方式为V4时,
如将设备的模块烧写的固件为:GAgent_00MX3162_04000006_15032717.bin,其中硬件版本号为:00MX3162,软件版本号为:04000006
步骤一、进入【服务】固件升级(OTA)模块,点击【创建新固件】
步骤二、固件信息填写
推送方式可选,同时增加软硬件版本号字段。硬件版本号+软件版本号+固件类型完全匹配视为同一系列固件,OTA升级需在同系列中进行。
  • 版本名称:自定义,由英文、数字及下划线组成
  • 固件类型:支持WiFi/MCU两种方式,选择WiFi
  • 推送方式:支持V4/V4.1两种方式,选择V4
  • 选择固件:上传目标升级固件GAgent_00MX3162_04000006_15041217.bin(wifi为bin文件,mcu为bin/hex文件),升级的固件与烧写的固件软硬件版本号需一致。
  • 硬件版本号:需升级设备当前GAgent硬件版本,由机智云统一分配
  • 软件版本号:需升级设备当前GAgent软件版本,由机智云统一分配

步骤三、点击【保存】,同一系列生成自增长的fid,此时固件为未验证状态
注:请确保填写的软硬件版本号正确,否则无法在云端搜索到目标设备进行升级。
当推送版本为v4.1时,

备注:wifi与mcu类型添加固件流程一致,下面以添加mcu固件为例

当推送方式为V4.1时,
步骤一、进入【服务】固件升级(OTA)模块,点击【创建新固件】

步骤二、固件信息填写
硬件版本号+软件版本号前 4 个字节 +固件类型完全匹配为一系列固件,软件版本号后4个字节区分固件版本,OTA升级需在同系列中进行。
  • 版本名称:自定义,由英文、数字及下划线组成
  • 固件类型:支持WiFi/MCU两种方式,选择MCU
  • 推送方式:支持V4V4.1两种方式,选择V4.1
  • 选择固件:上传需要升级的固件(wifi为bin文件,mcu为bin/hex文件)
  • 硬件版本号:目标升级MCU硬件版本(即上传的),必须为8个字节
  • 软件版本号:目标升级MCU软件版本(即上传的),必须为8个字节

步骤三、点击【保存】,此时固件为未验证状态
注:同一产品不可添加软硬件版本号完全相同的2个固件。
验证固件
出于安全性考虑,未验证通过固件不可进行OTA推送。验证固件不区分OTA版本,流程一致。在大批量升级设备之前,需要选择单台设备进行升级,并自行验证升级后的设备稳定性。若无异常,固件变为已验证状态,表示可以进行批量OTA升级。
验证固件流程如下:
步骤一、再次确认已上传的bin文件及信息填写无误(未验证固件还可编辑)
步骤二、准备测试设备并让其连上云端
步骤三、进入未验证固件的固件详情页面,点击【验证固件】,出现如下界面:
步骤四、在输入框填写在线测试设备的MAC地址,找到目标设备后进入固件升级倒计时
步骤五、测试设备成功升级后,出现再次确认界面。此时,为了谨慎起见,请你对升级成功后的设备做一个稳定性验证,确保升级后的设备能正常工作。如无异常,请手动勾选确认框。
步骤六、点击【完成】按钮。至此验证固件完成,该固件变成已验证状态,不可再次编辑。
添加规则
通过添加不同的规则可以实现一个产品同时有多个推送请求,并可设置推送周期及时段,个性化定制推送服务。
步骤一、在固件列表,点击已验证固件名称,进入【固件推送】页面
步骤二、点击【添加规则】,支持“指定地区”和“指定MAC”两种推送方式
设置推送条件
1 指定地址:填入目标推送设备区域,如“广东省-广州市”
或者
指定MAC地址:填入目标推送设备地址,如有多个换行隔开
2 指定旧固件版本:选择目标推送设备的旧固件版本
3 目标设备:取条件1&2的交集,刷新后显示欲推送的目标设备数
4 推送周期(UTC):设置推送规则有效日期
5 推送时段(UTC):设置每日推送时段
步骤三、点击【保存】,生成新的规则及唯一的升级流水号。
开始推送
步骤一、已成功添加规则,点击对应规则的【开始推送】按钮
步骤二、勾选相关协议,再次确认。此时升级请求已推送,对应规则状态会改变。
备注:目标设备栏,当前升级成功设备数/目标推送设备数
步骤三、在线设备或离线设备上线后会自动执行OTA升级,升级到最新固件,并將状态上报给云端。
推送完成
步骤一、推送完成后,刷新界面,对应规则会变为“已完成”状态
步骤二、查看明细
点击【查看明细】链接,可查询单个设备升级详情,并可以导出当前所有设备升级情况



发表于 2019-7-16 17:08 | 显示全部楼层
可以给arduino升级固件么
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:29 , Processed in 0.072681 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表