1.STM32WB55开发经验7 J/ c# O- ^: s+ Z1 y, [ 在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错! 不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。0 I2 ^6 C$ e1 k, o 4 @& K+ l b# p2 Q* _1 r1 _; o 整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:- S% t' N* u" y/ M ]& \ i - B2 C- s* f; d& ^! f 2主界面的功能测试过程! ?( }. O1 c% n; m 开发的手环LCD主界面的界面图如下所示:7 z2 R/ K0 T8 z# `- ~ 8 }5 a+ {( C" v( ^5 l 3蓝牙协议和APP显示的功能测试 打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。9 U. j6 J5 K* n) o5 _( p$ v 6 i7 A4 k; K0 K% ?; u ) |% L' z! `- z 9 t: ~6 z, |( P+ _4 E3 \0 Q + q' O) K9 y. z# a# _ K4 X' S 3.1血氧心率传输7 ^( U; S' e: K j" H! I4 R8 T 在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:8 V! R# r5 D2 q& J6 z; Y & V2 Y( Q" E' \ }% y" g3 j 9 a: \+ `4 q1 M9 \" G+ h 检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。9 l7 b, C' l6 \7 L' a ' F( s' P/ I N2 [+ P- l 3 f2 L" H' K* c+ r$ T/ ] E 3.2音频数据传输# l2 p& ?: M0 ? 然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。 O' K. x7 ], k% `+ ]9 e, c4 h2 V 8 ~2 p$ M0 w h+ g; h( v " y" ` Q9 R3 x# s - Z8 C n% P% H+ @3 h! } 切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。" Y4 x1 }* e* o; c# X ! W5 J' k: F3 c5 y& k3 _9 @ 4 l& l5 f' w& M 3.3三轴传感器数据传输& q8 @% K! B$ R) Q) J! [) y" Y 三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。/ u8 _' l! c2 ^ # w2 O/ Y" u @( c- V7 x ; Y7 \8 C4 o/ q2 M 三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。' u- t L; Z! |( x v! D # K, |& T! G K2 y. r & \ V# T& ^& T p# U 3 L8 t3 h& r$ A% l5 _ 3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号 首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。 0 Z5 w$ d' i' }* k9 Q! r1 c" z J) Y7 }4 i" P3 o7 ` |
STM32WBA55上手BLE点灯
使用STM32WB系列微控制器构建无线应用
STM32WB基于Custom Template实现客户定制BLE私有协议
STM32 生态系统|基于STM32WB的低功耗蓝牙应用(一)
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
【NUCLEO-WB09KE评测】+使用STM32CubeMX新建蓝牙工程
【NUCLEO-WB09KE评测】创建BLE工程和开启调试信息
【NUCLEO-WB09KE评测】BLE例程HeartRate及工具探索
【NUCLEO-WB09KE评测】使用I2C点亮一个OLED
【NUCLEO-WB09KE评测】STM32WB09KE的内部BootLoader使用