Bluetooth: Peripheral / Heart-rate Monitor¶
2 环境要求¶
board: 支持 BLE 的蓝牙设备
uart(option): 用来显示串口log
测试软件: nRF Connect
3 编译和烧录¶
项目位置:zephyr\samples_panchip\bluetooth\peripheral_hr
统一的配置、编译、下载工具正在开发中,当前可以使用脚本进行编译和下载。
脚本位置:quick_build_samples\bluetooth\peripheral_hr.bat
。
打开脚本后默认会编译项目,编译完成时,可输入字符进行后续下载等操作:
Input the keyword to continue:
'b' build 编译项目
'r' make clean and rebuild 重新编译项目
'f' flash download 下载
'e' erase chip 擦除芯片
'o' open project by VS Code 打开 `VS Code`,可查看源码,执行编译下载等
others exit 退出
wait input:
4 演示说明¶
烧录完成后,设备自动启动蓝牙广播,可以在手机或抓包工具上获取如下信息:
Service UUID: 0x180D, 0x180A, 0x180F
Device Name: Zephyr Heartrate Sensor
当手机或其它主设备与其建立连接后,串口log 会显示连接信息,如下:
Connected
此时,如果使能了
Heart Rate Measurement
,主机将收到温度数据,如下:
5 低功耗电流测试演示说明¶
如果需要测试最低电流的话,我们需要使能DCDC模式,首先打开
samples_panchip\bluetooth\peripheral_hr
目录下的prj_lp_xtl.conf
文件,使能CONFIG_SOC_DCDC_PAN1080=y
,默认是处于注释状态的。打开
samples_panchip\bluetooth\peripheral_hr\src
中的main.c
,将宏TEST_LOW_POWER_CURRENT
设置为1。使能后会使得peripheral_hr广播时为1S周期间隔,同时连接上以后也会更新为1秒连接间隔。运行脚本
quick_build_samples\bluetooth\peripheral_hr_low_power_xtl.bat
,然后选择下载。然后使用电流测试工具观测电流,下图为DCDC模式48M主频广播电流:
在SDK V0.3版本中低功耗模式下,使用RCL/XTL32000 和XTL32768低功耗电流优化程度暂时是不一样的:RCL/XTL32000支持动态发射功率,但是TX/RX电流偏大,所以低功耗工作电流偏大;XTL32768固定0dBm发射功率,同时TX/RX电流较小,所以低功耗电流偏小。