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

【经验分享】STM32WB55大半年开发记录

[复制链接]
STMCU小助手 发布时间:2022-1-4 22:00
1.STM32WB55开发经验
# q0 @9 q* P$ z在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!0 Q, L1 a  F% H2 t

' l# b$ q* N. I1 M0 D不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。
8 X! I/ F. p& x0 R+ s6 F1 D9 Q- U: H4 k9 N6 z/ |
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:7 M) Y* N- g2 x# W/ p, g; [

7 H9 @# M0 |, D
20200622145245211.png
7 k% n% F# N  n0 e% n( u7 C
1 V# ^. S. D0 s9 z( X
2主界面的功能测试过程
# b& U0 D! ?1 s3 P% O; s* n开发的手环LCD主界面的界面图如下所示:
' W$ u( N3 i+ Q7 C* g. X4 N( s+ a5 b
20200711202217437.png
  W/ F5 T/ o& \0 C3 `3 {9 B

# Y% F1 V" K9 d* G3 v3蓝牙协议和APP显示的功能测试
) f: }$ h2 D/ q2 ]6 L$ }# ?/ L) e2 @打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。
7 o. R6 ]6 J3 A$ g5 B- l) d+ r4 O% l. ]6 b

! [* Z  u  C' T  {% p
20200707152516335.png 20200707152520146.png

- o9 ^+ H# g, F5 x$ y1 k: h! K, V  e

. G- `% H4 r: n! b3.1血氧心率传输

  Z1 R' H" _0 P$ e+ p在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:
* c6 f3 X! u- g% n' ^( B+ I, L
& s0 a1 J  M" X1 }5 K# e+ S$ ]
; @9 `# l9 t9 N5 Y1 n% S* T
20200707152551293.png
8 V2 Q2 t# l: ]
. i+ E6 j2 \1 u0 n/ p- j2 E
1 t- x2 B2 n% F& w# ?# @  j$ }
检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。0 L2 D, K  \7 H9 R0 |" ?/ N+ m
: k, U2 R! J: b$ m7 l: y
20200707152601624.png

: ?) O, K; L8 _" p& H7 W2 Z9 ~8 k6 K& }9 S) m4 U% w$ S8 j! o# `
4 Z, [" U# [4 J! g

" `# g* w+ X% w$ d( ]3.2音频数据传输
1 P7 X4 Q/ M# O# U/ x7 m然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。! I8 z1 {9 Y( T$ }+ X

( B/ D" h, v' C$ F. e, i* U
3 S9 x& L; J' |# o; k4 X7 S& e
2020070715262159.png 20200707152624646.png

" R# x+ k5 q$ P  ~' \5 J. A: Z) U& ]6 I8 ~% [! C$ z+ B( ]

# L2 Z* U# J, H切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。/ e5 y4 Z) Y  i
/ c; X3 W) X& C  h. c5 H* T" |
( L- Z- S- Z; x1 g/ `  u) d& e1 W. T
20200707152631529.png
! y6 Z, P; A; r: V9 g4 y6 s0 b
& h4 K, H4 I& U/ Z' j# r

  K8 Y; w+ J: K3 q- p; _3.3三轴传感器数据传输

: g  T; Y' J6 H0 k: K  a+ D7 w三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。1 L2 R4 b" k" z: F) T0 x7 X
2 ^+ y- G6 g9 H5 Y5 ?1 e7 \
& M4 B4 c- M  R7 `/ Z6 ?$ V' Y
20200707152641981.png 20200707152644964.png 20200707152744722.png

  P! u/ Y1 v7 L* k+ H& ]& y
. h0 Q, _0 j0 h
  g! u3 k/ [* t, Q三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。
; K/ J' q# w- F0 y/ x/ Y! i& ]1 y: M( U
4 P5 n5 {/ W; v/ i4 w- g; e
20200707152725609.png 20200707152657278.png

$ ]# k6 Y7 f. T9 f3 Q2 z4 u9 d8 X. P$ v
. }# p3 W8 e& o' O2 p6 k! W
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号4 F6 b6 k# z3 k  h4 F
首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
/ ~0 _9 J' i) m( e9 e: c9 P' d" e- n) b- i7 B7 O: r3 ~) u
/ ?1 a/ l& N2 c1 ^" [
20200707152654971.png 2020070715272868.png 20200707152732569.png

2 H& V. e, }: f! H& ~  P0 ~
20200707152734984.png
8 `% ]; K" ], b3 U: z6 Y! G4 V

1 O5 C/ K( m5 D% z% L* b
( k6 q6 Q( a9 U, G- g& d) m
$ z! Z2 d3 C; }8 E" y1 n% R$ z9 d6 m- o$ L$ H

2 P2 Z/ A" c* H8 O. }' S
赞 收藏 评论0 发布时间:2022-1-4 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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