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

基于STM32WB55血氧心率检测手环

[复制链接]
攻城狮Melo 发布时间:2023-5-28 16:17
1.STM32WB55开发经验" ~9 H8 ^) a) W! t; U+ V# Q
在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!
* J; L) t6 o: q1 J# c
; G) x$ z% ~7 d; z% |. m) C% @
不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。# [1 }3 n% t$ Y% v
/ ^. ]4 L2 T% `
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:! q3 V, e# @! `5 M& m9 z. G
# E1 b' Z# A, l/ _
20200622145245211.png 2 z7 z1 i* q& P6 f0 r& E! e6 r
9 G1 A  Q0 i4 m8 W& X
9 N  X5 k5 V) u/ @
2主界面的功能测试过程

3 n/ L9 U# U  l. P  k* X开发的手环LCD主界面的界面图如下所示:
) m  }7 G+ o, Q: M! m" `+ D  b7 X8 F8 t3 a/ ~7 }
20200711202217437.png . F% H# K' i: [* Z
, T) v0 t/ i2 L0 O, i# s: q

' }7 i5 d# I3 k! t& |5 }7 d1 l3蓝牙协议和APP显示的功能测试# i& a) ^- c* p7 S
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。
& e0 v  k3 ?8 O  G/ b/ U5 J4 Z+ Z- z5 m' K
20200707152516335.png 20200707152520146.png
# H( k* d! l$ K: p* y- f, A& i% e5 S: {# D) y6 p
3.1血氧心率传输1 l" L% O: a8 Z. I- Z1 T* _
在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:
' Z0 N! a3 x: J2 M8 e
/ D  t$ s: m* j& @2 Y
20200707152551293.png 8 ~7 S8 J7 W- d) c; i

# e* i) h9 |2 p( y检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。
$ H, D" [% B* E6 n/ ^+ [) x% r  p
4 D! S: v5 Z! d' i
20200707152601624.png % a6 W1 J9 F7 {% Q1 u7 I$ A
" m% D( z* }( d# {+ B# G
3.2音频数据传输
' y. z6 q; J) G3 N然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。
1 t1 {& i) L* z( w  ~( w% J/ `- E- N4 F- V0 B
2020070715262159.png 20200707152624646.png
# i+ w: X4 w, |* i9 e$ ?8 d! @
' a1 x0 z$ T  O
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。3 t3 j! i. k: ^7 x; ]
' H- L" w- @& r! S# H9 V' ?
20200707152631529.png + Z' Z# C8 t+ P0 S; K. w( n$ ?7 Q) i

" P; k6 m; w% m1 R
3.3三轴传感器数据传输, M7 C  [  A* e( O: ?) H
三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。3 d4 Q' n& Y7 w% W, q4 w
/ P; v  a( d/ n* c) Q$ x7 Q
20200707152641981.png 20200707152644964.png 20200707152647625.png ) I% s1 q6 l& [
* x: H' \( x1 V7 n% W2 E
三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。/ ^0 p9 x& h! n6 h6 |0 U1 E
3 ~' P, S1 {; d. U
20200707152654971.png 20200707152657278.png
# e+ ~& p# y2 `; c; @4 S& {
$ \) g% c5 q* ?: ?8 M
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号0 f+ q9 I) S; B
首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。4 d" S7 B9 F& k' L3 B* U* ?5 ?

' w1 @  C. g9 o0 Z4 B# p, y: [
20200707152725609.png 2020070715272868.png 20200707152732569.png   w# {1 L9 e( s' {2 Q! p# K

2 E# @$ v& @, M$ k$ a# B: b( B7 v* D$ \
20200707152734984.png 20200707152744722.png
5 k4 e. t2 y: T
: u' Y% e& ]8 [6 m: P& i3 x1 `8 L& S
2 h( j3 n9 W, f9 d: r
有时间再慢慢更新,记录着大半年的开发心得。可以加19921257213交流心得。有任何关于STM32WB55的项目也可以找我。
: r. ^* |) [6 \' F5 i————————————————$ J; b( c5 i/ J- }4 H
版权声明:&热爱
" t, q' V. ~( V5 u; L4 }2 I如有侵权请联系删除- m/ K# F" Y8 L  X) J  }( L. R

% O' M/ t7 B% s! i9 B' W+ G5 O0 T
" ?# R, e- C  e2 x) ~: t: Z
赞 收藏 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 手机版