概述

本文以安信可 Ai-WB2-12F 为例介绍安信可模组从生成 OTA 固件到通过 WiFi 升级固件的全过程。

固件增加 OTA 功能

要开启 OTA,固件必须要包含以下功能:

  • 蓝牙或命令行配网功能
  • OTA 命令行组件(ota_http_cmd)

我们以demo_ota 项目为例。首先,复制原厂 SDK 的customer_app/system/ota/demo_ota 到安信可 WB2 模组 SDK 的application 目录下,做如下修改:

  1. applications/demo_ota/Makefile 对应行的内容修改如下:
BL60X_SDK_PATH ?= $(BL60X_SDK_PATH_GUESS)/../../../..
BL60X_SDK_PATH ?= $(BL60X_SDK_PATH_GUESS)/../../..
  1. applications/demo_ota/proj_config.mk 中新增:
CONFIG_LINK_ROM=1

对于已经做好配网灯功能的现有项目,我们只需要复制demo_ota项目中的bl_http_ota.cbl_http_ota.h到现有项目,编译后即可增加 OTA 命令行功能,也可以直接调用其中的 ota_http_cmd() 函数模拟命令行传参调用 OTA 命令行组件进行升级。

生成 OTA 固件

  1. 构建项目,生成烧录固件:
make -j
  1. 生成 OTA 固件有两种方法:
  • 直接使用 tools/flash_tool/bflb_iot_tool 进行烧录,烧录过程会自动在 tools/flash_tool/chips/bl602/ota 目录下生成 6 种 OTA 固件,分别是:

    • FW_OTA.bin:在编译生成的 bin 的头部追加 4K bytes 的 Boot2 Head
    • FW_OTA.bin.hash:在 FW_OTA.bin 尾部追加对其计算的 32 bytes的 Hash 值(sha256)
    • FW_OTA.bin.ota:在 FW_OTA.bin 的头部追加 512 bytes 的 OTA Head
    • FW_OTA.bin.xz:对 FW_OTA.bin 进行 xz 压缩
    • FW_OTA.bin.xz.hash:在 FW_OTA.bin.xz 尾部追加对其计算的 32 bytes 的 Hash 值(sha256)
    • FW_OTA.bin.xz.ota:在 FW_OTA.bin.xz 头部追加 512 bytes 的 OTA Head
  • 使用 tools/flash_tool/bflb_iot_tool ,在 make 结束后生成的烧录命令的基础上加上 --build 命令手动生成固件。

搭建 HTTP 服务器

OTA 升级时,固件会从 HTTP 服务器下载 OTA 固件进行升级,因此本机需要先搭建好 HTTP 服务器供模组下载固件。

搭建 HTTP 服务器的过程非常简单,只需要安装好 Python 3,然后在 tools/flash_tool/chips/bl602/ota 下执行以下命令即可:

python3 -m http.server 9090

进行 OTA 升级

烧录好固件:

make flash

用 USB 串口等连接模组,使用 Xshell 或者 Putty 打开串口,波特率 115200,敲回车即可进入模组的命令行,首先启用 WiFi 功能:

stack_wifi

然后使用命令行连接 WiFi:

wifi_sta_connect TEST 12345678

如图,获取到 IP 地址后,我们便可以执行升级操作。执行命令:

ota_http_cmd 192.168.137.1

如图,模组从 HTTP 服务器下载固件并校验,校验成功后开始刷写 Flash。

刷写完成后自动重启进入新固件。

安信可 BL602 平台模组 OTA 升级教程相关推荐

  1. 安信可PB-03蓝牙模组入门之旅 二:SDK二次开发入门,认识架构,开始点亮一盏LED。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 安信可PB-03蓝牙模组入门之旅一:Windows SDK二次 ...

  2. 安信可推荐 | 安信可ESP32-S3系列模组和ESP8266系列模组硬件参数对比。

    文章目录 前言 主要参数对比 功耗 产品实物图 联系我们 前言 安信可深耕无线模组多年,现已推出ESP32-S3系列模组,欢迎前来咨询. ESP32-S3 搭载 Xtensa 32 位 LX7 双核处 ...

  3. 安信可EC系列模组接入OneNET物联网开放平台的多协议接入产品

    目录 前言 一.OneNET的多协议接入的创建 1. 进入到OneNET的首页:OneNET - 中国移动物联网开放平台,并进入到控制台: 2. 切换到旧版控制台:OneNET - 物联网控制台旧版 ...

  4. 【AT指令使用】安信可ESP-12S/ESP32S模组AT固件应用之微信小程序热点配网OTA升级

    目录 前言 一.Web 服务配网 二.操作过程 1.烧录带有Web服务功能的AT固件 2.Web服务配网过程 2.1 ESP-12S/ESP32-S搭建Web服务器 2.2 微信小程序部分的操作 3. ...

  5. 【LoRaWAN节点应用】安信可Ra-08/Ra-08H模组入网LoRaWAN网络的应用及功耗情况

    目录 前言 1 硬件准备 1.1 硬件准备 1.2 接线说明 1.3 固件烧录说明 1.3.1 Ra-08H/Ra-08 模组烧录操作 1.3.2 Ra-08H-Kit/Ra-08-Kit 开发板烧录 ...

  6. 【安信可PB-01/02模组专题③】ESP32-G WIFI蓝牙网关与PB02模组开发进行组网通讯

    文章目录 前言 工具 ESP32-G 网关介绍 (1)产品概述 (2)产品接口及 LED 指示灯说明 ESP32-G 网关蓝牙模式使用 (1) 恢复出厂设置 (2) 点击网关中的蓝牙选项 (3) 点击 ...

  7. 安信可TB蓝牙模组系列 APP Ble Mesh组网教程

    文章目录 一.前言 二.硬件准备 三.软件准备 四.AT指令集 五.APP 组网示例 六.数据通信 一.前言 本文以TB-02开发板为例,介绍TB系列蓝牙模组通过安卓"TelinkSigMe ...

  8. 安信证券服务化平台,助力业务系统云原生架构转型

    互联网应用的海量用户.快速迭代.不间断服务和流量突增等业务特征促进其技术架构从传统集中式到分布式SOA和微服务架构方向逐步演进.随着敏态业务的逐渐增多,对业务连续性.交付效率和故障处理效率等方面提出了 ...

  9. 构建云原生架构版图:安信证券服务化平台实践

    1. 建设之初的思考 互联网应用的海量用户.快速迭代.不间断服务和流量突增等业务特征促进其技术架构从传统集中式到分布式 SOA 和微服务 [1] 架构方向逐步演进.随着敏态业务的逐渐增多,对业务连续性 ...

最新文章

  1. linux下打印机共享及监控
  2. 互联网周刊2021云办公平台TOP50,leangoo领歌敏捷研发协作入选
  3. php 使用table方式导出excel文件
  4. vue 父刷新子_vue.js从父级中更新子组件数据
  5. laraverl笔记
  6. oid 值 内存使用_JVM:对Java内存模型的理解,你还停留在面试阶段吗?
  7. PyCharm中的一些设置
  8. delphi官方iso下载地址
  9. 某宝长x-mini-wua分析与破解
  10. tabbar角标 小程序_关于小程序tabbar不支持传参的处理办法
  11. wps页眉怎么设置不同页码_WPS论文排版教程二:如何设置不同页码
  12. 大地高、正高和正常高的区别
  13. myeclipse项目导入eclipse在Web项目下的WebRoot和WebContent
  14. 计算机网络有哪三种地址,IP地址的分类有哪几种
  15. Url Rewrite Filter 使用全攻略
  16. 记一次血淋淋的MySQL崩溃修复案例
  17. 作为 Android 开发者,如何深入学习 Android UI?
  18. 清晰weblog日志,过滤不合法的记录
  19. python数据挖掘与入门实践(2.2)用sciket-learn估计器分类
  20. Axure可视化动态数据图表6合1元件库

热门文章

  1. 慧数汽车纵览:产能削减,特朗普或快速推进加征进口关税事宜
  2. 俄罗斯科学家量子计算机进展,俄、德科学家创造出“不可能”的量子计算机材料...
  3. 雅思阅读真经总纲_大神名师炸翻现场,2019学为贵全国教育展引爆雅思圈!
  4. 冥想====》超级右脑
  5. 教你用5分钟学会制作电影解说视频,做个百万粉丝的自媒体大咖
  6. 谁是谁的寂寞,谁又是谁的忧伤
  7. 烤仔喊你写作业 | 这么可爱的烤仔有人领养吗?
  8. BASK幅度调制matlab
  9. 中小企业及个人如何3步做出完美关键词
  10. 小程序的Promise用法