安信可PB-01/02蓝牙模组实现远程OTA无线升级功能介绍,剖析整个实现原理和代码介绍。
文章目录
- 一、安信可PB-01/02蓝牙模组 OTA简介
- 二、安信可PB-01/02蓝牙模组 FOTA实现流程
- 三、通过手机APP 完成安信可PB-01/02蓝牙模组的OTA演示
- 联系我们
一、安信可PB-01/02蓝牙模组 OTA简介
安信可科技PB系列模组(PB-01/PB-02) SDK OTA
包括了应用固件,资源文件,bootlooder
(引导固件)三种无线升级。
本篇博文,我们先来介绍应用固件的升级方法及过程。在这里,OTA bootlooder是一种特殊的独立固件,该固件是加载引导应用固件实现OTA升级,这部分为大家开放了源码,我们基本不需要对其进行修改。
二、安信可PB-01/02蓝牙模组 FOTA实现流程
我们以 \example\ble_peripheral\bleUart_AT
的工程为例,在其工程的profile文件里如下添加\components\components\profiles\ota_app
下的ota_app_service.c
文件。
对于上述添加的ota_app_service.c
文件,我们只需要将其ota_app_AddService();
在app应用程序的初始化函数bleuart_Init
如下代码段添加,即完成了对该工程demo
的OTA
支持。
void bleuart_Init( uint8 task_id )
{...// Initialize GATT attributesGGS_AddService( GATT_ALL_SERVICES ); // GAP 0xFFFFFFFFGATTServApp_AddService( GATT_ALL_SERVICES ); // GATT attributesDevInfo_AddService(); // Device Information Servicebleuart_AddService(on_bleuartServiceEvt);ota_app_AddService(); //添加ota服务at_Init(); // initial uart for AT cmd first.
...osal_set_event( bleuart_TaskID, BUP_OSAL_EVT_START_DEVICE );
}
当 BLE从机设备和支持BLE OTA的手机APP建立连接之后,就是可以实现BLE设备的OTA升级。
其过程分为三个阶段:
1、启动OTA升级 命令OTA_CMD_START_OTA
,可以启动OTA过程。
2、应用参数传递(此步骤为可选步骤) OTA_CMD_START_OTA
命令的参数如果param_size字段不为0,那么自动进入参数传递状态,进行参数的传递。
3、应用固件传输以及烧写 如果之前的OTA_CMD_START_OTA
命令param_size
字段为0或者参数传递已经完成,就可以通过OTA_CMD_PARTITION_INFO
命令开始块数据的传输。
通常一个应用固件由2~3个partition组成。目前OTA最多支持16个partition。
实现原理可以参考ota_app_service.c里的代码。
三、通过手机APP 完成安信可PB-01/02蓝牙模组的OTA演示
1)先后编译两个新旧固件
2) 烧录旧固件到PB系列模块
3)把新固件放在手机APP可访问的存储位置,打开手机APP进行扫描当前的蓝牙设备名称PHY-01,如图:
如下图,已建立连接,点击OTA模版发起OTA请求。
第一次点击OTA后,手机APP会跟BLE设备断开,BLE设备会从运行应用程序跳转运行OTA bootloder程序,所以其广播的蓝牙名称为PPlusOTA。如下图,我们再次使用手机APP对其连接:
然后才进入OTA模式,如图。
点击OTA升级,直到如下图显示onUndateComplete,则表示完成升级。
串口信息如图:
OTA例程代码下载:AiThinker-Open-PB-BleMesh/tree/master/example/OTA)
联系我们
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
商务合作:sales@aithinker.com
技术支持:support@aithinker.com
公司地址: 深圳市宝安区西乡固戍华丰智慧创新港C栋410
联系电话:0755-29162996
安信可PB-01/02蓝牙模组实现远程OTA无线升级功能介绍,剖析整个实现原理和代码介绍。相关推荐
- 安信可蓝牙模块TB系列实现远程OTA无线升级功能介绍,剖析整个实现原理和代码介绍。
文章目录 一.BLE FOTA简介 二.BLE SLAVE FOTA实现流程 通过手机APP 完成BLE设备的OTA演示 联系我们 一.BLE FOTA简介 BLE SLAVE设备除了有线升级(比如串 ...
- 【安信可A9G专题⑤】A9G模组AT指令MQTT接入阿里云实现APP控制
本系列博客学习由 安信可科技 - 官方博客 技术分享,如有疑问请留言或联系邮箱. 1.A9G环境在windows上搭建并编译,串口打印 Hello GPRS 2.A9G在微信公众号上的定位功能笔记分享 ...
- 安信可PB系列蓝牙模组 APP Ble Mesh组网教程
文章目录 一.前言 二.硬件准备 三.软件准备 四.AT指令集 五.APP组网示例 六.数据通信 一.前言 本文以PB-02开发板为例,介绍PB系列蓝牙模组通过安卓"PHY Mesh&quo ...
- 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ② 如何实现 微信小程序蓝牙控制 Ble Mesh模组 安信可TB02,全部开源!
本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小 ...
- 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ① 小白也痴迷,如何在 Linux环境搭建编译烧录 安信可TB02,点亮一盏LED灯;
本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小 ...
- 泰凌微ble mesh蓝牙模组天猫精灵学习之旅③简单入门安信可TB-02开发开发板轻松接入天猫精灵,语音控制冷暖灯so easy!
本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小白也痴迷,如 ...
- 安信可PB-03蓝牙模组入门之旅 二:SDK二次开发入门,认识架构,开始点亮一盏LED。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 安信可PB-03蓝牙模组入门之旅一:Windows SDK二次 ...
- 安信可TB蓝牙模组系列 APP Ble Mesh组网教程
文章目录 一.前言 二.硬件准备 三.软件准备 四.AT指令集 五.APP 组网示例 六.数据通信 一.前言 本文以TB-02开发板为例,介绍TB系列蓝牙模组通过安卓"TelinkSigMe ...
- 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ⑤ 阿里天猫精灵官方Genie BT mesh Stack框架:编译天猫精灵例程,实现语音控制!
本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小白也痴迷,如 ...
最新文章
- 深入理解PHP原理之Opcodes
- JavaWeb——多个Filter代码的执行顺序
- 并发编程基础之volatile关键字的用法
- Fedora 11 上安装subversion 和apache服务器
- Cities(2020昆明C)
- [渝粤教育] 西南科技大学 电器设备及维修 在线考试复习资料
- Java IdentityHashMap equals()方法与示例
- 【opencv学习】【轮廓检测】
- java刚进公司做什么?
- 首次使用Gradle配置本地仓库和更好国内镜像源
- c# lu分解的代码_LU分解(1)
- 【车间调度】基于matlab模拟退火算法求解单约束车间流水线调度问题【含Matlab源码 1457期】
- 华为鸿蒙智能家居套件价格,华为全屋智能家居方案价格
- 价值几百元的EMlog仿大表哥资源网模版
- 采用HCNR200/201模拟量隔离电路分享
- 实现NRF52832蓝牙DFU无线升级
- FPGA和CPLD对比
- Android博客大汇总
- 视觉感知——深度学习之YOLOv3算法
- 店梯erp系统规范化的仓库管理功能如何操作?