BLE Peripheral OTA¶
1 功能概述¶
ble_periph_ota例程演示了如何使用通过SMP服务进行OTA固件升级。
2 环境要求¶
board:
pan107x evb
uart(option): 用来显示串口log(波特率921600,选项
8n1
)手机app
nrf connect
3 编译和烧录¶
ble_periph_ota 例程位置:<home>\nimble\samples\bluetooth\ble_periph_hr_ota\keil_107x
bootloader工程位置:<home>\nimble\mcu_boot\keil
使用keil
打开项目并编译和烧录。
4 运行说明¶
分别编译
mcu_boot
和ble_periph_hr_ota
工程,并烧录这两个固件,给设备上电,通过串口助手可以查看程序运行log。通过手机App NRF Connect可以搜索到名字为pan_ble_ota
的设备。注意:
第一次烧录的app image必需是带签名的固件(可以在工程的Images文件夹中找到),带签名的固件带有 “signed”字样,并且通过J-Flash或者PLink烧录。
bootloader 固件可以通过keil烧录
编译用于升级的测试固件,任意工程均可用于升级,但是其他工程暂无OTA功能,为了演示OTA固件升级,可以将
ble_periph_ota
工程中蓝牙设备名修改为其他名称,例如:pan_ble_ota_2
。Note: 如果升级的固件和运行的固件是一样的,
nrf connect
检查校验签名一致则不进行升级,校验签名和bin文件内容有关。生成的测试固件在路径
ble_periph_ota\keil\Images
路径下,找到ndk_app.signed.bin
文件,将该文件导入到手机APP。nrf connect
扫描并连接名称为pan_ble_ota
的设备,连接上会显示SMP Service,同时右上角会DFU
标示。在进行DFU之前先在Request connection priority
中选择HIGH(11.25-15ms,0,20s)
,然后点击DFU
标示选则待升级的ndk_app.signed.bin
文件,点击Test and Confirm,启动OTA升级流程。nrf connect连接, 显示SMP服务¶
nrf connect选则待升级文件¶
nrf connect SMP OTA升级中¶
升级完成后,设备将自动重启