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

基于STM32WB55血氧心率检测手环

[复制链接]
攻城狮Melo 发布时间:2023-5-28 16:17
1.STM32WB55开发经验
5 ~+ W. [) v# J$ s' `在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!
! w! v/ [# @' X& x& d7 c( b

- M& O5 N6 s7 F$ @8 [7 Y* i; B2 A9 a不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。
" B$ \# A. r8 f+ b1 a  t/ U3 x0 r! ~! c
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:: f& i, X: |2 W
. O0 i1 j9 m9 h+ C
20200622145245211.png 6 @7 K% V4 n' C, c" L# }5 H
! I) b7 f  h: ]6 ~  u. G& J- S
* e& X. }: A) L$ m: \' E$ `
2主界面的功能测试过程
, @* z* }8 u0 Q& \3 j
开发的手环LCD主界面的界面图如下所示:
. P& i  \: b) v8 U8 a$ v8 W. Q" G+ J
20200711202217437.png ) p( z+ G, @( J( W; V. u( S8 I

+ R1 k* ~9 }" s6 V0 j/ P& M

, [( e: {! `, c; _" p3蓝牙协议和APP显示的功能测试$ ~0 V# g; s" _. _/ V( v; ^
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。4 b+ F3 e/ B% @3 o  v
0 o& W0 [. e; }, X7 h% _% p
20200707152516335.png 20200707152520146.png % c3 w( Y0 [8 }4 J. M8 f
9 c' o. o5 ]. U% @2 `& z) Z
3.1血氧心率传输
7 F6 s# v! x0 {# `  B8 P$ r2 l在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:% e: x2 f0 i  A/ s% l
. i; Q- Q) N4 G7 R
20200707152551293.png 5 G& s( B$ F' P3 l! @1 `
3 O2 r" o, Q8 s- @% E
检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。
1 b$ B3 L. m# M
; P# r* H0 G4 |$ P- e
20200707152601624.png
4 W9 R, E) V( ~+ D
! C) \) E' B* g# H- s# H
3.2音频数据传输
3 b( ~2 C' r2 U然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。
4 i0 d/ n  S4 {* e* {; h& K2 T# h6 O% ?
2020070715262159.png 20200707152624646.png
6 u3 k, B$ O9 H. k% }" b2 x
% k! t9 B) R+ ^& v, L: t, [2 e
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。
# `  ]% ]: l( e# S
1 U. M& i7 A* r6 ?7 S
20200707152631529.png
; E8 }9 P4 S0 c. h3 x" K
0 Q5 Q+ V3 `* G1 ^4 {) H& ?% f9 _  d
3.3三轴传感器数据传输
5 w" s0 Z; y& |; g$ Q( t% Q; \三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。
) J! p. h6 g! N' b! H. `. _5 u
) o7 f# E, P( w
20200707152641981.png 20200707152644964.png 20200707152647625.png
7 ?) B3 f- q' K3 `7 k
) r1 {& u+ b; n3 D
三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。
5 @/ `( ^. D7 f( d0 W" V2 u  A9 Y; M. V8 f% C
20200707152654971.png 20200707152657278.png 3 Q3 p1 l7 y) ]+ `* m' L5 S

+ _' I8 X- r  [2 B7 f
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号
2 _8 O& [" P7 W1 _) {/ {' [首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
' ^$ `# P! P$ @/ L" U# e0 h: A& s1 b+ Q/ v; C
20200707152725609.png 2020070715272868.png 20200707152732569.png 9 i7 l/ g' A" e7 Z& E6 K. [
: x/ s) a8 v4 Y) R8 g5 R! a
20200707152734984.png 20200707152744722.png
2 J0 D8 w  x5 K! `
- L2 F# @3 q# d; B8 C) j
& M* O6 k6 ]- m/ J* Y; b( \
有时间再慢慢更新,记录着大半年的开发心得。可以加19921257213交流心得。有任何关于STM32WB55的项目也可以找我。: L0 Z- v; V3 l+ {- J$ y3 X0 v" S; [
————————————————" F, E; J  k9 ~) S2 ^
版权声明:&热爱* d6 [9 m) |- o+ w
如有侵权请联系删除, f. `8 W2 B0 S( b& [, W
& ~; V# B% l, d% o, W  N6 E

1 K6 V, J7 K8 K4 w2 G- ~9 c, e
收藏 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 手机版