你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32WB55大半年开发记录

[复制链接]
STMCU小助手 发布时间:2022-1-4 22:00
1.STM32WB55开发经验7 J/ c# O- ^: s+ Z1 y, [
在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!
3 t0 |& M; {% B+ Y
; P5 V; J- G' G/ O" K1 c- \不过在开发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
20200622145245211.png

# J+ q0 W7 c0 `$ h& @
' I( h; N. C' V) y3 U6 q" E3 I2主界面的功能测试过程! ?( }. O1 c% n; m
开发的手环LCD主界面的界面图如下所示:7 z2 R/ K0 T8 z# `- ~
8 }5 a+ {( C" v( ^5 l
20200711202217437.png
8 f! A) y! N4 g# W0 T8 S* X

+ U4 `# u7 i2 C& K3蓝牙协议和APP显示的功能测试
( H. f: [- ?" f+ Z4 p# H( r打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。9 U. j6 J5 K* n) o5 _( p$ v
6 i7 A4 k; K0 K% ?; u
) |% L' z! `- z
20200707152516335.png 20200707152520146.png
! y7 [9 _, B& f1 a1 @+ z( ^0 G
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

: o, g6 {' P! U  r+ i0 o" k& V2 Y( Q" E' \  }% y" g3 j
20200707152551293.png

; \. C' V* }7 O5 W9 a: \+ `4 q1 M9 \" G+ h

0 D+ I2 o2 }( q) q8 V4 t% `检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。9 l7 b, C' l6 \7 L' a

3 G7 X: a" }: p* S
20200707152601624.png
/ [" [# Q1 l" B/ R" n& Q7 l# ^; i

" h' k) Q: F  R. p* [+ 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

  q7 [4 i$ n9 r5 f. C
2020070715262159.png 20200707152624646.png

  F  {. n  _7 ^/ r0 e$ W" y" `  Q9 R3 x# s
- Z8 C  n% P% H+ @3 h! }
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。" Y4 x1 }* e* o; c# X

. `1 G( ?/ }$ n1 I& d! j7 T: D5 O
% P" H# X/ j. \8 V  Z0 M' v5 ?
20200707152631529.png

% @: y- B0 y2 F0 {, f* w! ?! 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 ^

8 [7 ^( Z5 ^5 B0 `
9 L' y3 s+ q# a( i* K2 d
20200707152641981.png 20200707152644964.png 20200707152744722.png
3 P6 T2 J* S) G1 _
# 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

& I4 a# W- E$ Y
20200707152725609.png 20200707152657278.png

/ ^5 m. ]. z+ @. J) J5 @6 F& \  V# T& ^& T  p# U
3 L8 t3 h& r$ A% l5 _
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号
6 Q  J+ \! b5 y" M  ]& r7 b首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
# [% D: p, d; @: j" G7 H* F
3 A  F! g( S5 u( Q2 K. N& c
' I( j7 G; X. X6 I0 J% ~
20200707152654971.png 2020070715272868.png 20200707152732569.png
8 e: L0 S" y5 `/ `1 w
20200707152734984.png
- b+ t! G0 L% R2 R

/ j- _4 j3 r; ?3 b  m
* _9 _  ]+ N2 x* w# G8 u# b! n, q0 Z5 w$ d' i' }* k9 Q! r1 c" z

( G; y- p# N9 T$ M/ q3 f  J) Y7 }4 i" P3 o7 `
收藏 评论0 发布时间:2022-1-4 22:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版