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

基于STM32WB55血氧心率检测手环

[复制链接]
攻城狮Melo 发布时间:2023-5-28 16:17
1.STM32WB55开发经验9 S# V+ e8 M  h: `
在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!
. O: T+ O8 _. A2 R3 V
! P& n1 m6 b! ^  B  h2 N
不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。2 X1 L* z; ]* Z+ u
( ^4 S6 |6 M4 q
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:
3 g0 X3 Z# T- B4 V
3 X, \& d1 |& @/ j
20200622145245211.png
" k1 Y0 x' q; I* X  [+ K* F1 e
0 B; G# d1 B: h' @
5 p. `5 a+ Z9 j+ K
2主界面的功能测试过程
1 Y# }- W3 E5 J9 [
开发的手环LCD主界面的界面图如下所示:: h0 s8 {% B. K0 e1 o: r3 ]

: C% d$ E9 J4 ]. c; J( Q6 D/ Q- S
20200711202217437.png
) K; \" S( o# U) q) U! V/ l- ^9 D: _1 R: Z3 @) G  P8 b' ]
, F5 J+ X+ O8 E7 s
3蓝牙协议和APP显示的功能测试- O* m  g' c4 ~8 z: g% X
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。6 Q$ X; H( f  n9 ^

; h. r. x! P& f3 w* J1 d. a/ Z# Y
20200707152516335.png 20200707152520146.png 9 h3 f! M  {5 A- o. \- j
7 L" _. D/ @6 W
3.1血氧心率传输4 B5 ~' G5 Z3 @# K' W; O/ @4 ^. W
在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:  S  d; N. x  z  C. k0 ~4 n' @# t& \/ t
% F* p& }3 Z, ]" `
20200707152551293.png ) W# \5 j* g1 B- p  Y

7 x1 x7 Q( g0 }8 @检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。# T% T* _9 U; x! q' R

4 h$ p- z7 [- M3 D) ]3 j3 d; L
20200707152601624.png ( e) l- w! E, ]. X+ v
" p2 m3 D& B# h, S! p4 A' L) j# S
3.2音频数据传输
9 W2 A5 z1 }* [然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。7 O% }( P. Z+ K  ^

" t2 l. w3 z; ]2 A
2020070715262159.png 20200707152624646.png : X  ]/ {1 T. R0 A

6 v9 e4 v; i0 @8 ]4 i
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。
" o4 t* z5 Z( W2 x% K1 V8 X- E2 ^( O' m4 V
20200707152631529.png
" W  L6 L9 b' d6 [/ W: Q6 g  t6 G( x/ o' x8 _7 u, u+ z  Q7 K
3.3三轴传感器数据传输
4 J$ W6 f- x( j9 v% g$ m" I. G三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。
+ X- H. Z. u2 o  w! D* f
$ S) s+ w/ c  c: R1 G+ N2 V. L) o
20200707152641981.png 20200707152644964.png 20200707152647625.png . e' H4 w, D. r3 k8 h/ A6 C2 l

/ K7 e. c% ?+ F1 o# {
三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。. D- V) Y/ T! }' B6 [- B& d# X
4 @# N: a  h9 Q5 U- P) J# O; N4 _) E
20200707152654971.png 20200707152657278.png * }5 C8 b2 D! x' y# S3 F! O  @

( @' c& k7 j# J+ g' @+ C4 ^! w
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号
5 P( b+ y( P: J. _3 k首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
; D) I  L3 x: K0 m+ J5 A  `. g
: o2 q! G0 a9 j9 Y
20200707152725609.png 2020070715272868.png 20200707152732569.png
1 V* E& V) u$ t( _' R. c: Q9 H3 v, _! M4 T/ u
20200707152734984.png 20200707152744722.png : z$ D! Q: ^7 ]5 i4 u
  [' W, F) h- S+ v# R( u

; n  V( O5 K  r0 Y- c8 B有时间再慢慢更新,记录着大半年的开发心得。可以加19921257213交流心得。有任何关于STM32WB55的项目也可以找我。+ z9 D% L8 d+ @* b5 C; y) z0 J
————————————————
8 K3 E- K6 ], P' ]& f" i版权声明:&热爱; J% W5 z1 e$ n7 q( C; O
如有侵权请联系删除
. }# Q2 r- k' a7 R. G3 M" l+ |% N( b5 p6 ]7 L  c0 Y
3 l0 B7 g- l& \; N7 g
赞 收藏 1 评论2 发布时间:2023-5-28 16:17

举报

2个回答
STMWoodData 回答时间:2023-5-29 16:41:58

学习学习

bitterheart 回答时间:2023-5-30 15:25:06

强!

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版