BLE Peripheral HR OTA¶
1 功能概述¶
此项目演示从机heartrate以及用于BLE升级的SMP
服务,可以配合手机nrf connect
进行演示该OTA功能。
2 环境要求¶
board:
pan108x evb
uart(option): 用来显示串口log(波特率921600,选项
8n1
)手机app
nrf connect
3 编译和烧录¶
例程位置:<home>\nimble\samples\bluetooth\bleprph_hr_ota\keil
使用keil
进行打开项目选择需要的controller进行烧录bleprph_hr_spark_ota
进行编译烧录。
4 演示说明¶
分别编译和烧录
pan108x_mcu_boot
和bleprph_hr_ota
工程,上电后log如下。Try to load HW calibration data.. DONE. - Chip Type : 0x80 - Chip CP Version : None - Chip FT Version : 8 - Chip MAC Address : D0000C0CBBF5 - Chip Flash UID : 32313334320EAC834330FFFFFFFFFFFF - Chip Flash Size : 1024 KB LL Spark Controller Version:d7c4bfa app started
然后编译用于升级的测试固件,任意工程均可用于升级,但是其他工程暂无OTA功能,为了模拟实际应用中的连续更新OTA升级,我们将
bleprph_hr_ota
修改启动log,以便生成的固件不一样。 如果升级的固件和运行的固件是一样的,nrf connect
app检查校验签名一致则不进行升级,校验签名和bin文件内容有关。void app_main(void) { int rc; printf("app started ota success\n");/*此处为修改处,升级后将打印该log*/ #if CONFIG_SMP_OTA img_mgmt_module_init(); #endif
生成的image在路径
bleprph_hr_ota\keil\Images
路径下,找到ndk_app.signed.bin
文件,将该文件导入到手机APP。nrf connect
扫描连接ble_hr
设备,连接上会显示SMP Service,同时右上角会DFU
标示。点击该DFU
标示选则待升级的``ndk_app.signed.bin`文件,点击Test and Confirm,启动OTA升级流程。升级完成后设备会自动复位,并且打印对应bin文件启动log。
Try to load HW calibration data.. DONE.
- Chip Type : 0x80
- Chip CP Version : None
- Chip FT Version : 8
- Chip MAC Address : D0000C0CBBF5
- Chip Flash UID : 32313334320EAC834330FFFFFFFFFFFF
- Chip Flash Size : 1024 KB
LL Spark Controller Version:d7c4bfa
app started ota success /*此处为我们修改后的启动log*/
connection established; status=0