简体中文
简体中文
English
联系我们
注册
登录
layout空间导航

固件升级

更新时间:2022-05-19 02:48:41下载pdf

本文介绍固件升级的操作方式。

背景信息

如果产品采用 MCU SDK 或 TuyaOS 进行对接,当需要对已出货的设备进行固件升级时,可以通过涂鸦 IoT 开发平台进行远程在线升级,无需烧录。

此功能需控制板支持固件升级。

适用范围

主要适用于需要进行固件升级的平台用户。

名词解释

名词 解释
自定义固件                                                 指平台开发者在涂鸦 IoT 平台自定义上传的固件,由开发者自行维护更新。
涂鸦固件 指由涂鸦开发而提供平台开发者开发时选择的固件,由涂鸦官方维护更新。
厂商固件 指在其它涂鸦平台开发者中通过OEM或复制方式创建的产品获得的固件,由固件厂商维护。
固件类型 分为生产固件、用户区固件、升级固件。
  • 生产固件和用户区固件:主要用于涂鸦工厂生产烧录使用,仅针对使用涂鸦生产的产品需上传。
  • 升级固件:主要用于设备远程更新(即固件升级 OTA)使用,对所有产品生效。
固件所属者 指具备管理该固件的账号,分为以下两种情况。
  • 情况 1:在产品开发中进行固件创建,固件归属于当前PID所属的账号空间。
    • 在【我的产品】中创建的固件,归属于当前登录账号的空间。
    • 在【客户的产品】中创建的固件,归属于当前产品PID和固件创建人所属账号空间,其中客户的产品,一般来源于OEM、复制、企业间授权获得的客户产品。
  • 情况 2:在固件管理中进行固件创建,固件归属于当前登录账号空间。
涂鸦标准芯片 是芯片的标签。涂鸦自己已经使用过的芯片,可以复用涂鸦自己的上位机程序,用涂鸦的上位机进行烧录。
通道号 仅用于固件升级。当一个产品存在多个固件需要升级时,云端和涂鸦设备会通过升级通道号,区分不同的升级固件,然后进行不同的升级操作。
固件灰度发布 灰度发布(Gray Release )是为了能够让设备固件版本逐步过渡到新版固件的一种发布方式。一般是新固件开发完成即将发布升级时,可进行 A/B 测试,即让一部分用户继续使用老版本 A ,一部分用户开始用新版本 B ,如果用户对版本 B 无反对意见,且版本 B 没有漏洞,则可逐步扩大范围,将所有固件都迁移到版本 B。

前提条件

您已经创建了至少一个产品。详情请参考 选品类创建产品

操作说明

根据当前产品固件的来源,共分为两种场景进行固件升级。

基本流程

固件升级

场景1:升级已上架发布的涂鸦固件或厂商固件

  1. 登录 涂鸦 IoT 平台

  2. 在左侧导航栏中,选择 产品 > 设备 > 固件OTA

    说明:涂鸦固件或厂商固件,一般为当前产品开发时直接使用涂鸦提供的固件或者 OEM 获得的厂商固件,此时若需要固件升级,需要接收到平台或厂商有新版本上架即有新版本可更新提醒,才能进行固件升级。

    固件升级

  3. 切换选择要升级的产品,选择对应的固件。

    固件升级

  4. 单击 新建固件升级,进行相关升级规则的设置。

    固件升级

    参数分类 参数 说明
    基本信息设置 待升级的产品 当前固件对应的产品。
    固件名称 当前选择的固件的名称。
    固件版本 需要升级的目标固件版本(这里只能选择未做过升级的版本)。
    关键版本 主要定义是否可以跳过的版本。
    • 是:表示必须升级的版本。
    • 否:表示可以跳过的版本。
    升级信息设置 升级方式
    • App 提醒升级:用户在 App 端收到升级提醒,可选择升级或不升级。
    • App 强制升级:App 用户必须升级后才能继续使用。
    • App 检测升级:App 用户选择对应设备的面板,然后点按右上角,主动更新。
    自动升级 在 IoT 平台上选择是否自动升级:自动升级由 IoT 平台自动升级开关和 App 自动升级开关共同决定。
    注意:一个产品可能存在多个固件,选择您需要升级的固件和对应的版本。
    • 关闭:关闭自动升级,会执行在上一步选择的升级方式进行升级。
    • 开启:开启自动升级,会选择 App 提醒升级、App 强制升级、App 检测升级中任意一种方式进行自动升级。
    升级文案 添加中、英文升级文案,该内容将展示在App端。
    升级备注 可用于做本次升级的备注信息。
    发布范围设置 待升级版本号 用于选择本次需要升级的低版本,支持指定1个或多个低于指定升级版本的版本。默认全选低于 基本信息设置 中所选固件版本的所有版本。
    待升级地区 用于选择本次版本升级需要覆盖的地区,支持指定1个或多个低于待升级地区,其中中国支持省市区,其它国家仅支持选择国家维度。默认全选所有待升级地区。
  5. 完成固件升级规则配置后单击 确认,平台将会生成一条升级记录。

    固件升级

  6. 单击 常用验证设备,添加反复使用的测试验证设备。

    常用验证设备,用于管理经常使用的日常验证测试的设备,在下一步做测试验证时,可以快速选择。

    • 支持根据您的 App 账号批量选择设备 ID,请先设置测试白名单。

    • 支持选择设备所在区域,即中国区、美国区、欧洲区、微软区、印度区和西欧区。

    • 新增白名单支持通过用户的 App 账号进行添加。输入 App 账号并且验证通过后,此账号下该 PID (产品 ID)的所有设备会添加至白名单。

      说明:为了安全起见,需要对 App 用户账号进行验证。

    固件升级
    固件升级

  7. 推送固件并验证。

    1). 单击 固件升级 栏的 验证 进入如下页面。平台支持在六区(中国区、美国区、欧洲区、微软区、印度区和西欧区)进行设备验证。

    固件升级

    2).添加测试设备时,支持 从常用验证设备中选择添加 或者 通过设备号直接添加。选择 通过设备号直接添加 后,即推送固件到指定的设备中。

    固件升级

    3). 单击 验证是否完成升级 进行设备 OTA 验证。

    固件升级

  8. 发布固件 OTA。

    当测试设备验证成功后,表示当前固件版本 OTA 升级功能正常,可以进行批量升级,单击 发布 可进入批量发布的设备。由于平台升级迭代,目前存在新旧两个版本的发布页面流程。

    新版固件OTA发布流程

    1). 单击 发布 按钮,进入 版本发布 页面。
    2). 在 升级发布规则 区域中,选择 灰度发布 功能,可以按照不同数据区(非设备所在的地理位置)和不同的比例进行发布。

    说明:您也可以单击 切换到旧版,使用旧版固件发布功能,后期旧版固件发布功能将停用,停用前会提前进行通知。

    • 不同数据区的设备相互隔离,可通过切换不同的数据区选择对应的设备,分别发布。

    • 灰度升级比例设置:通过调整灰度比例后提交,可以发布不同比例的设备数,建议前几次发布,设置较小的比例,如 5%。用户可以通过观察发布过程的中数据情况,决定每次发布的比例,直至发布到100%。

    • 暂停发布:如在发布过过程中,有用户反馈固件有问题,可以直接暂停发布降低影响,排查完问题后也可恢复发布。

    • 升级发布核心数据:主要展示以下数据

      • 可升级设备总数
      • 指定升级设备数
      • 升级触发设备数
      • 升级成功设备数

      固件升级

    • 数据分析:提供升级状态分布和升级次数分布图。

    • 数据趋势:查看升级触发设备数和升级成功设备数随时间变化趋势图。

      固件升级

    • 升级设备明细:提供根据设备ID维度的设备升级明细,供用户查询。

    旧版固件升级发布流程

    1. 单击 发布 按钮,进入 版本发布 页面。

    2. 选择 切换到旧版

      固件升级

    3. 单击 全量发布灰度发布 后,系统将自动提交一个发布申请,涂鸦会审核发布和固件的安全性,审核通过后会向您选择的发布范围进行消费者推送。

      固件升级

      • 测试设备验证通过后,可进行 OTA 固件发布。
      • 支持多区发布。
      • 支持灰度发布和全量发布,可设置发布时间。灰度发布时,可选择地域(多选)、数量和版本号(多选)。
      • 确认发布后,对于未审核过的固件我们需要预留 24 小时去审核。已审核过的无需预留审核时间。

场景2:升级自定义上传的固件

自定义固件,一般为产品开发中,自定义上传的固件,同时由于固件具备所属权限,因此只有有该固件所属权的平台账号,才能进行新建固件版本操作.

  1. 登录 涂鸦 IoT 平台

  2. 在左侧导航栏中,选择 产品 > 设备 > 固件OTA

  3. 选择在 固件包来源 栏中选择属性为 自定义上传 的需要更新的固件。

    固件升级

  4. 单击 新建固件升级,进入新建页面后

    • 选择一个固件版本:选择一个已经存在的固件版本。

    • 单击 新建固件版本:当没有固件版本可用,或者 关键版本 已有升级记录不支持二次升级发布时,可以新建一个固件版本。

      参数 说明
      基本信息 根据需求选择上传对应的固件,默认上传用于升级的 升级固件,若此新版本计划用于生产则可以同时上传生产固件和用户区固件。
      版本生产配置 该配置主要用于生产授权。
      • 运行模式:根据 SPI Flash 运行模式选择,涂鸦模组默认选择 QIO 即可,只有需要涂鸦生产的固件版本有此选项。
      • 是否支持国家码:默认为支持。
      • 是否支持 FFS 能力:默认为支持。

      固件升级

  5. 保存固件或保存并上架固件。

    完成基本信息和固件文件上传后,默认为未上架状态,若需要进行固件 OTA ,则需要执行保存并上架操作。

    说明:根据设置允许使用范围,可以指定那些产品可使用当前版本进行固件 OTA。

    固件升级

  6. 升级新建固件。

    1).在当前页面中单击 固件升级 或在左侧导航栏中进入 产品 > 设备 > 固件OTA 选择对应产品固件进行新建固件升级。

    固件升级

    2).指定待升级的产品并填写相关参数后,单击 确定

    固件升级

  7. 参考上文场景 1 中的步骤 6、步骤 7 和步骤 8 进行自定义固件的 OTA 操作,完成固件升级。

常见问题解答

问题 1:自定义的固件无法新增版本?

当出现自定义固件无法上传新的固件文件(新增固件版本)时,主要原因为当前账号不是此固件的创建者或不具备此固件的权限。可以通过联系固件拥有人通过空间授权后,再新增版本。

问题 2:固件管理里面无法找到对应固件key?

首先需确认此固件key是否为当前账号所创建,若不是当前账号则无法进行查看。

Q3:针对无位置相关信息的设备,能接收升级推送吗?

没有地区信息的设备,分以下两种情况:

  • 该设备为国内设备。当在 App 当在 App 上没有打开位置权限时,这类设备进行 OTA 可能无法接收到推送。

  • 该设备为国外设备。国外设备以国家码(即 App 注册时填写的账号地址)作为推送地址,若发布地区不是该地址则可能无法接收到推送。

相关文档

更多固件管理指导说明,请参考 管理自定义固件