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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 22:00
1.STM32WB55开发经验
) \7 R. {" ], c7 q3 ]在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!- j3 K% k6 ^; F- u
( @" Y* K2 C8 l& @" U$ ?+ B1 `
不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。. Y4 Y; T: V  g+ W. W8 O, t. C
6 C! J- Y/ V# o# F7 K
整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:* H# U* }0 o7 b# S
; R) [% a# w3 v
20200622145245211.png
( e. N9 }" F2 g6 [# G3 Y4 B! {

# k! f7 ^# n1 X+ \3 a# V2主界面的功能测试过程
. ^7 x0 v3 V" R" @& f! z, n开发的手环LCD主界面的界面图如下所示:- ]0 p1 [% h8 ^8 f* P- ^4 {! X

, |4 l# ?5 m9 y
20200711202217437.png
& @' u% X7 A7 w% U: |9 ^1 s

+ D7 u! Q9 Z& N% I' O8 \3蓝牙协议和APP显示的功能测试5 a3 N1 }) G/ A7 c: I6 A: p' c
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。4 k/ H8 U. H0 Q
# \+ I  I! J( y6 Z

% V9 v5 @: W9 I8 {+ ^3 D: b+ k
20200707152516335.png 20200707152520146.png

  K3 k+ g" {, O4 D2 O7 b, I2 |& l3 f. V/ |- }. j
& ]# W# L& h% N! a  t
3.1血氧心率传输

$ x* I$ ], a2 `8 E% a1 t在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:
# Z, O5 L1 k$ A* b, M: Q$ D3 L) z2 w
* |, p8 [( V7 f+ @9 p
20200707152551293.png
# ]0 N5 b# c2 ?# X( M6 X
" X, y: R; m% U5 C. `2 f
- J6 Z) p) Z5 k; {6 C' u
检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。2 k' o% R( G% j9 ^& |. N- G
* M, `8 ?7 i2 I, e3 W, ~7 c9 H
20200707152601624.png

8 X9 R% C3 q0 Z1 a. t3 X  M) V. N: [
. b1 L  F: ^2 q$ `$ n' I" Q

9 c- b* y2 U) S- r, j1 M/ |3.2音频数据传输
7 M  t" K. b4 `& u/ N6 r% z' ^' y然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。( l5 y* J3 ]) ~& p: l- F
9 N3 x% ]# s7 k( g; e. V; [; A

# G! I# [1 t# A' W3 ^/ b6 q
2020070715262159.png 20200707152624646.png

9 P# C: Y+ T; ~$ R) }
8 \& D9 R5 F# X4 a) Q2 K* C/ t, l: B" b
# r- |& _' w4 S6 e% O) J) Z切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。
  q; @; d0 k1 }( Y3 x& v: o& N  R. y* J/ \3 v
9 g1 U) X$ A8 F5 }' I2 {4 L
20200707152631529.png

4 {3 u! f! L4 p1 Y  _( B. w" x* m% C* O; {

3 ]3 u/ Q0 K$ z! B. e3.3三轴传感器数据传输
: Q/ J6 q' l# I; }
三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。/ h- Z0 Q0 V  b: j: P

  ?8 N6 L9 w; U! E- X' T5 t* `: }* v! z
20200707152641981.png 20200707152644964.png 20200707152744722.png

- z% r" ?3 R# L0 b. X6 `3 b! E5 x$ C

5 U0 D* d3 L" F& @4 ^" E$ W三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。
( ~5 ^8 C" U( {7 ~- @0 I' T% R& o8 p5 R  |8 o
7 Z7 |* }5 H' U0 F9 x
20200707152725609.png 20200707152657278.png

( q/ r; L7 j& s) N, r8 e, y* J( y' Q- o6 ?( A- S8 h( t
0 r7 i  n. A  U/ F9 D
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号' K" U! }6 P7 f) d& Q
首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
. o! E9 W. c5 _3 W
: J1 J3 \, E: [- q, i0 s5 ^$ c0 d4 o/ B5 e2 h( h; J' e, G* h
20200707152654971.png 2020070715272868.png 20200707152732569.png
' M. L( r2 w& o( U. V# I. P1 |
20200707152734984.png
# q% l9 i1 I$ m7 W7 f# s

8 E7 O8 @. n; o: Z% W$ M1 S" l) J! v, g5 ]8 Y
% ^& W% O. d) h& y7 z7 S( ?' G
% c$ ?! @# K/ w! i

( a2 d3 L+ e1 `: n# ?" u, }. w4 ]# n% D
收藏 评论0 发布时间:2022-1-4 22:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版