涂鸦蓝牙SDK开发系列教程——6.固件升级

涂鸦 IoT 平台提供 固件 OTA 升级 功能,以满足客户在产品发布后,仍可对已出货设备进行固件版本升级的需求,本节课将介绍不同开发方式下固件 OTA 升级的方法、涂鸦方案的 OTA 流程与交互协议、以及如何在 涂鸦蓝牙 SDK 的基础上移植 OTA 功能。


一. OTA 方案

1.1 模组 OTA

1.1.1 涂鸦标准模组

如果您使用的是 涂鸦标准蓝牙模组,那么其配套的 涂鸦蓝牙模组 SDK 已经封装了 OTA 的实现,即模组已经具备了固件 OTA 升级的能力,您可以直接在 涂鸦 IoT 平台 上传固件来完成 OTA 升级任务,具体步骤请参考 2.2 操作步骤


1.1.2 自研模组

如果您使用的是 自研模组,则需要先完成 OTA 功能与芯片平台的适配,您可以使用 涂鸦蓝牙 SDK 提供的接口来实现固件 OTA 升级功能,然后再通过 涂鸦 IoT 平台 来创建 OTA 升级任务。

后文将为您介绍涂鸦方案的 OTA 流程、交互协议,以及涂鸦蓝牙 SDK 中有关 OTA 升级的接口,您可以根据这些信息来实现 OTA 升级程序。


1.2 MCU OTA

涂鸦蓝牙 SDK 中已实现了对蓝牙协议模组之外的 MCU 进行 OTA 升级的处理程序,其主要通过串口通信方式与 MCU 进行 OTA 升级文件等相关信息的交互,该方案适用于除了基于涂鸦蓝牙 SDK 开发的涂鸦模组或自研模组外, 还包含额外 MCU 的产品。

需要注意的是,在涂鸦 IoT 平台上新增 MCU 固件时,固件类型要选择 MCU 固件,涂鸦蓝牙 SDK 接收到 OTA 升级请求时才会将该固件传输给 MCU 进行升级。

另外,您需要根据 蓝牙通用串口协议 中的 MCU OTA 相关接口介绍实现 MCU 侧的串口通信程序和 OTA 数据处理程序,从而实现 MCU OTA 完整链路。您也可以在涂鸦 IoT 平台上进入该产品的 硬件开发 页面,将 云端接入方式 临时切换到 MCU SDK,以便能在开发资料中下载 MCU SDK。MCU SDK 已经基于涂鸦蓝牙通用串口协议和 OTA 升级协议实现了串口数据通信与 OTA 升级的程序框架,您只需在此基础上完成 UART 和 Flash 读写等功能与 MCU 平台的适配 (可参考 MCU SDK 移植),即可快速实现 MCU 侧的 OTA 能力接入。

如果您不想使用串口方式进行 OTA 数据传输,可以参考 4.2 MCU OTA 移植 完成通信程序的移植。


二. OTA 流程

2.1 升级流程

ota-flow-chart


2.2 操作步骤

2.2.1 新增固件版本

要升级固件,首先必须将新版本固件上传至 涂鸦 IoT 平台。在上传固件之前,先确认固件是否已经升级了版本号,即在 tuya_ble_sdk_demo.h 文件中修改 TY_DEVICE_FVER_NUMTY_DEVICE_FVER_STR 的值。本课程中直接以升级为 0.2 版本为例:

/* 修改固件版本号,上传固件时填写的版本号需与这里一致 */
#define TY_DEVICE_FIR_NAME    "ble_module_sdk_development_demo"
#define TY_DEVICE_FVER_NUM    0x00000002
#define TY_DEVICE_FVER_STR    "0.2"

蓝牙单点固件的版本号一般采用 bv.sv (0.0~99.99) 格式。实际应用场景中,正式发布的版本一般为 1.0 及以上版本,可参考下表修改,然后编译代码生成新的固件,我们称之为 升级固件

版本升级 TY_DEVICE_FVER_NUM TY_DEVICE_FVER_STR
1.0 >> 1.1 0x00000100 >> 0x00000101 "1.0" >> "1.1"
2.10 >> 3.0 0x0000020A >> 0x00000300 "2.10" >> "3.0"

接下来,进入 涂鸦 IoT 平台固件管理 页面,找到对应的固件,点击【新建版本】。

add-version.png

新增固件版本 页面填入和固件中一致的 固件版本号 并上传该固件,填写好其他内容后点击【保存并上架】。

add-firmware-version.png

在设置好固件上架范围后点击【确认上架】,即可看到下图页面。该页面也可通过 固件管理 页面操作栏中的【详情】进入,可以看到该页面也有 新增固件版本 页面的入口。

manage-firmware-version.png


2.2.2 新建升级任务

从左侧导航栏【产品 - 设备 - 固件 OTA】可进入 固件升级 页面,切换到要升级的产品后,选择好对应的固件,然后点击【新增固件升级】来新建升级任务。

add-ota.png

参考下图,在 新增固件升级 页面填写好升级信息后点击 【确定】。(以 App 提醒升级 为例)

new-ota.png

在正式发布升级任务之前,可以通过测试设备来验证升级任务,点击下图中的【验证】进入设备验证页面。

verify.png


2.2.3 添加设备验证

点击【通过设备号直接添加】,填入测试设备的 设备虚拟 ID

add-by-device-id.png

设备虚拟 ID 可在测试设备的设备面板中找到,操作方法如下图所示。

find-device-id

添加完成后,打开 智能生活 APP 进入该产品的设备面板时,即可看到升级提醒弹出,按照提示完成升级。

app-ota.png

回到 涂鸦 IoT 平台,点击【验证是否完成升级】,测试结果显示【验证成功】。

verify-succeed.png

2.2.5 发布升级任务

最后,点击【发布】进入 版本发布 页面,并根据实际需要选择灰度发布或全量发布后提交。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值