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

基于STM32WB55血氧心率检测手环

[复制链接]
攻城狮Melo 发布时间:2023-5-28 16:17
1.STM32WB55开发经验/ g, s& i' q# x# X9 F( W, m
在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!6 q/ F  Y/ k0 ?

' L' }0 f8 Z/ P7 W+ b不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。5 K9 u! v, b: A4 P: `9 U+ |$ I
& M; ?- W, u1 m& ]* B& M' a
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:
+ e" V& s& o! {* ?4 _7 D" r
. S& s. E' O8 ^5 |
20200622145245211.png
# }) P; ~4 j' G( k1 N6 y! M  B
9 i4 f) p0 C+ @7 _8 p. H
2主界面的功能测试过程
1 X$ f8 D( w; F+ t) i: y' Y
开发的手环LCD主界面的界面图如下所示:
/ d4 e3 l' D# \& o0 ?/ g1 x# n+ X$ j8 T
20200711202217437.png ! }- i' [9 S  `8 n0 Q) w) W6 s
5 i) J1 `: J6 s
. `& F  e4 w7 G3 R) F8 j
3蓝牙协议和APP显示的功能测试) d0 |$ b) S; A  I' ^8 f+ N
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。
( G1 [% ~( l! N% q5 ^
7 L  F' A6 X! W9 l7 F
20200707152516335.png 20200707152520146.png 3 `% h  S; C  d. x5 S5 h

6 F( ?1 c! t6 F" C) V
3.1血氧心率传输
! J( i- c9 i( P* S0 P6 n在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:& ?( f. c( A) r

' ]4 d0 C6 ]$ D0 S% }! {3 M
20200707152551293.png - T( ~" u# q$ m) k

- _6 M5 I  \$ D) L1 O检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。
& K6 D0 D9 l7 {6 K1 ]
- g# {' I7 }% F3 u* R0 B6 q
20200707152601624.png
. L; v- j% S% c8 |2 ]9 m3 Z, z; F* S& R
3.2音频数据传输
/ n0 q. R$ E% H: N' ~1 U然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。
- g, {, }' ?$ z5 m( e
, z9 q' c: W- g* t3 _! e6 N
2020070715262159.png 20200707152624646.png ) z# E" @4 V6 z  {( i9 U9 N- C1 }
) S/ ?# w( n) W  k8 ^" S
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。5 C  ]0 j: ^; ?# C7 @/ A7 {7 M

, Q' b! }$ F* }% R; b; F; N+ U% Y
20200707152631529.png 7 A4 k. G5 l; |3 X, ?

0 n/ K, _7 P8 k9 N, \- W
3.3三轴传感器数据传输
* V% t. f0 m! D0 o三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。
( v9 e: n/ ^7 j& f
; v0 q+ o  C% j8 o! P
20200707152641981.png 20200707152644964.png 20200707152647625.png
/ ]4 b4 ?6 C) b& I. i3 q7 c& e
3 t1 Y9 P) c; ^" m( C
三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。4 T$ ]" b: y5 b# l6 B3 r% J
5 R0 \0 j0 r, }$ a
20200707152654971.png 20200707152657278.png
: d0 D7 E/ Q# B2 A* h, r1 F) \8 D2 a9 y% @. W
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号
* P# ~1 q$ e) ~/ D- ?首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。2 Z5 q2 u. a+ o3 D# b3 [2 W5 U

5 g- R: D% S0 ~1 @8 k- y. I/ c
20200707152725609.png 2020070715272868.png 20200707152732569.png
4 G9 L4 {2 x8 a" K2 u" ]3 j* _8 R6 R
20200707152734984.png 20200707152744722.png
+ n2 }0 U8 ]) O, z) a0 ^& y  M
7 U. q. `- _& W

/ m7 X5 q0 ]+ w有时间再慢慢更新,记录着大半年的开发心得。可以加19921257213交流心得。有任何关于STM32WB55的项目也可以找我。
2 e! i2 ]; [3 D8 `- _* x' \* C- p. x( i————————————————
5 s0 j- l. A* [版权声明:&热爱, r" n; ^. `  ^  M! E% U+ ]8 z5 X
如有侵权请联系删除; }; n; ?8 `# O" R2 b6 O& N7 {0 F8 W  w$ i
6 G# X0 z! J$ h
1 X+ n( f- V6 d
赞 收藏 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 手机版