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

基于STM32WB55血氧心率检测手环

[复制链接]
攻城狮Melo 发布时间:2023-5-28 16:17
1.STM32WB55开发经验* Q+ u7 `0 Y4 E2 G
在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!
$ |1 q1 y% ?1 h0 v) C
. X4 ^% E* n5 t( F' P9 I: M3 l
不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。; c4 d; G  l) P
; ~. W8 q2 ?' ?7 l3 F! ?* e8 O! _
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:
' C5 P1 ~$ x/ u; R" l7 u4 Y8 h1 l) L7 ?7 y# B
20200622145245211.png
5 A7 m8 m2 }! y( G3 n- D/ t# Y$ `

: d9 `( O. S: [- A& @2主界面的功能测试过程

7 L5 D3 O  S0 \7 F开发的手环LCD主界面的界面图如下所示:
) v: ]: r4 Z$ Z
( [% i* }" Q! E; v( N6 y" ~
20200711202217437.png 6 P( H& w# M5 Z/ l6 b
1 ^& s, V0 J& y. f) y7 [
, O$ ^0 S2 j2 f0 z. a" e
3蓝牙协议和APP显示的功能测试; n% h) z9 w$ }% C7 q0 L
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。
4 a( f! m+ q& o* ]
- a- c, h- L2 a  `  H% |& B
20200707152516335.png 20200707152520146.png 9 Y9 n7 F3 }; J+ q& _) ]/ a

3 C, s. r4 O0 k9 V  Q! ^) h
3.1血氧心率传输
! x: i2 w# v0 n# s* L2 E在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:6 d  V" t# }- f$ ]! R+ d

. R5 d& S* T7 m4 B+ t8 G# R
20200707152551293.png 8 k! i+ r2 p7 M4 p
* Z9 M  ^! c% t7 J7 N' ^3 X
检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。- ?  C* C( B& ]+ D0 [" {9 v4 }

, b0 r' t, l: U  O9 o
20200707152601624.png
. {/ w7 }% g& U7 \6 c' H- j* O1 ]8 C7 c" }5 g% G
3.2音频数据传输1 f9 y0 \" ^' M9 E0 |7 K
然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。
$ h8 e# V* \9 b- ]( l/ w+ i' c9 R
5 w0 d3 [+ v1 g5 C* r! b6 }
2020070715262159.png 20200707152624646.png
8 u7 w$ w8 {' v6 {0 g
! L9 m/ B5 T/ m
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。
& O/ q* A' M$ C9 u4 F+ ~
4 G# x% J* {+ z7 Y& U+ ~
20200707152631529.png
! P" @; G, P9 j2 b
$ `- m* c: n4 L
3.3三轴传感器数据传输
* q! W4 G+ K0 r8 r6 G三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。( g, R# v" v; h9 Z# G6 U

# ~$ x9 M- O8 G2 Y/ Q
20200707152641981.png 20200707152644964.png 20200707152647625.png
) g2 p. [' q# x  A9 q+ G. r
5 [1 K; U7 Y+ c8 V* J6 f
三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。
' P9 @, O( x' h$ i
, q/ |6 E% [9 O
20200707152654971.png 20200707152657278.png , f7 s3 n( z" r7 m& f+ |

& D9 }. t" W0 |. E
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号
1 j2 v% l  v  E  s' y7 H首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
% u, @; S5 L% t3 s, o) E2 b. ~% z4 [. }+ w
20200707152725609.png 2020070715272868.png 20200707152732569.png
) F* G4 e3 t/ [4 }& B8 S
' @9 u  P) C5 l* o8 l3 G
20200707152734984.png 20200707152744722.png 0 V& @( O# W0 x, J

6 c! |6 }+ {0 k- S9 ^
! q8 ]3 a# L: }3 \) ?
有时间再慢慢更新,记录着大半年的开发心得。可以加19921257213交流心得。有任何关于STM32WB55的项目也可以找我。$ ]3 J1 f) n) K+ e6 x& y5 V' F
————————————————" s0 u. F" L( R4 E1 D$ S
版权声明:&热爱
3 r/ y( R% ]( K6 z* P/ ^如有侵权请联系删除
: H# i- ]! N, K/ r' y( q
5 Q  V  O5 i8 g* g6 f( h0 C$ Z8 t2 k8 f
收藏 1 评论2 发布时间:2023-5-28 16:17

举报

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

学习学习

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

强!

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版