Android 蓝牙OTA固件升级
一、OTA相关概念
进行OTA固件升级之前,我们需要先了解几个概念
1、DFU
所谓DFU(Device Firmware Update的缩写),就是设备固件升级的意思。
2、OTA
OTA(Over The Air)是实现DFU的一种方式。准确地说,OTA的全称应该是OTA DFU,即通过空中无线方式实现设备固件升级。只不过大家为了方便起见,直接使用OTA来指代固件空中升级(有时候也将OTA称为FOTA,即Firmware OTA)。
只要是通过无线通信方式实现DFU的,都可以叫OTA,比如2G/3G/4G/WiFi/蓝牙/NFC/Zigbee,他们都支持OTA。DFU除了可以通过无线方式(OTA)进行升级,也可以通过有线方式进行升级,比如通过UART,USB或者SPI通信接口来升级设备固件。
二、OTA的基本流程
在Android上通过蓝牙OTA升级设备固件的基本流程如下:
- 蓝牙连接: Android与BLE设备建立 Bluetooth 连接
- 检测版本:向服务器请求,是否有新固件版本
- 下载固件:下载最新固件版本
- 下发OTA指令:下发固件包头文件
- 数据传输:通过蓝牙将固件数据传输到设备上
- 固件验证:下发OTA指令,设备校验固件包的完整性
- 设备重启:升级完成后需要重启设备