1.STM32WB55开发经验 在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!- j3 K% k6 ^; F- u ( @" Y* K2 C8 l& @" U$ ?+ B1 ` 不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。. Y4 Y; T: V g+ W. W8 O, t. C 6 C! J- Y/ V# o# F7 K 整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:* H# U* }0 o7 b# S ; R) [% a# w3 v 2主界面的功能测试过程 开发的手环LCD主界面的界面图如下所示:- ]0 p1 [% h8 ^8 f* P- ^4 {! X 3蓝牙协议和APP显示的功能测试5 a3 N1 }) G/ A7 c: I6 A: p' c 打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。4 k/ H8 U. H0 Q # \+ I I! J( y6 Z 2 O7 b, I2 |& l3 f. V/ |- }. j & ]# W# L& h% N! a t 3.1血氧心率传输 在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示: : Q$ D3 L) z2 w * |, p8 [( V7 f+ @9 p " X, y: R; m% U5 C. `2 f - J6 Z) p) Z5 k; {6 C' u 检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。2 k' o% R( G% j9 ^& |. N- G * M, `8 ?7 i2 I, e3 W, ~7 c9 H . t3 X M) V. N: [ . b1 L F: ^2 q$ `$ n' I" Q 3.2音频数据传输 然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。( l5 y* J3 ]) ~& p: l- F 9 N3 x% ]# s7 k( g; e. V; [; A 切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。 : o& N R. y* J/ \3 v 9 g1 U) X$ A8 F5 }' I2 {4 L . w" x* m% C* O; { 3.3三轴传感器数据传输: Q/ J6 q' l# I; } 三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。/ h- Z0 Q0 V b: j: P ! E- X' T5 t* `: }* v! z 6 `3 b! E5 x$ C 三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。 ' T% R& o8 p5 R |8 o 7 Z7 |* }5 H' U0 F9 x * J( y' Q- o6 ?( A- S8 h( t 0 r7 i n. A U/ F9 D 3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号' K" U! }6 P7 f) d& Q 首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。 5 ^$ c0 d4 o/ B5 e2 h( h; J' e, G* h 1 S" l) J! v, g5 ]8 Y % ^& W% O. d) h& y7 z7 S( ?' G % c$ ?! @# K/ w! i |
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使用