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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 22:00
1.STM32WB55开发经验
; r7 m$ G2 m  }/ L3 l2 V在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!8 u9 K4 y/ S% w; @7 |  j

) O! j6 B  K7 \不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。
( K; o- k+ z! o- e
% G3 B" U! A& f& ~0 K. _整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:
8 W/ ]5 u: W0 V  l# N3 h$ `/ ~9 v" C/ }3 Q6 v2 l4 [
20200622145245211.png
5 L: ]2 t: V) u+ E

& d' r6 E0 B3 f. V) Q3 M2主界面的功能测试过程
3 J) Y0 p+ }+ c! [开发的手环LCD主界面的界面图如下所示:
$ J6 ^0 U) W5 F3 W2 c
* f. N$ @8 f0 I1 w! y/ y( ~
20200711202217437.png
: G3 v( ?1 P1 s

4 p" [  D* {  _; y4 h! B3蓝牙协议和APP显示的功能测试$ l9 I2 w4 C. r, A- t2 @. p$ }2 \
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。
% O+ K& `/ [. c( d) r  p! g7 T$ P  I' t
: t# E8 W5 d4 p1 [
20200707152516335.png 20200707152520146.png

3 N! [* @# a' N9 y
: s6 A8 I% T: P( F( r3 u1 c. L: G. j3 M$ u; h) i
3.1血氧心率传输

5 Q: J8 K0 P2 e4 T3 L在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:4 T' I& P3 k0 n+ j/ m- v, |1 s+ \
, Z4 B4 M' O- N  d5 C

( K0 t8 i2 M) U" W& O
20200707152551293.png
+ M& x8 r& E! p0 @3 U6 P1 o
+ q* K+ W+ P# z) ~! c8 K
! |; M$ D2 J, r. o  {6 Y
检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。
- z( b1 L" v$ s. E, g# h$ _1 e& O- Q5 Z# `! v& R: z& _% P
20200707152601624.png

+ [5 c/ t" I* d% C9 f. I
5 s$ N+ H+ Z) N1 J& o) z4 F7 A
* C' M8 r$ V; O( k5 ^# d# Z3 E+ h8 Y; ?
3.2音频数据传输
5 Q2 O2 I, X4 i; T* Y9 T" S然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。! y) C1 `; W& G: U- b- D

( c0 X, T( `" G0 ^
- \" x( h1 I* I! f. U) O  T6 I
2020070715262159.png 20200707152624646.png
- c7 J& B: Q- A5 o* `
% a. ~- M% Q' q8 X& M
, o) A* G# d* ~
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。* o  }. @9 I1 H- b/ ?5 s# l

+ h, K! A  n: D' N8 `
: g0 ~9 O" q' T* z- X/ C
20200707152631529.png
5 }7 ^0 z0 }" b0 L0 u
; e# q; o# R) S( E$ D- P7 _
( `1 e  K+ J% h6 b
3.3三轴传感器数据传输

4 h6 a! ?4 u) w" u三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。
/ G1 T2 h% z3 X( J8 C/ M- E% R4 b) i

* A: i! H  F; k0 }
20200707152641981.png 20200707152644964.png 20200707152744722.png
5 F( \8 J9 T4 l4 H7 D

+ U/ p4 K2 J' ^- P) U. l. A
4 {; A" \$ N. j: R. d5 }1 C三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。  Y! T# B) N  |! P
6 P, Y4 b( ~: }9 ^% q/ h3 B# F6 B

& n! w# [1 }% S; S) I3 q' k/ W
20200707152725609.png 20200707152657278.png
- ^  q& }7 x; A, @/ R0 _

$ X! Y1 y" P0 R0 ^; `
! G: k6 q: Z5 u2 o- w, j. E, z. [" `$ ^3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号, \" x: n' o; X: s6 E$ g
首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。
( G; f, ~' _0 i" ~1 ]- |. B1 j" q6 ?* u- @  l+ t: t; M; z

7 J/ ?& b( z- S* U: z
20200707152654971.png 2020070715272868.png 20200707152732569.png

) f8 a9 K; y6 |- p
20200707152734984.png
, G0 r: b5 f3 Z+ g# Q# W) P
+ C0 {" b$ C0 g' m/ m
! I3 b% S) S7 q1 u/ U, X
. V3 j+ z  O9 ]/ m2 s+ B. J1 b, O4 F! L

' ^  z0 ]1 a. f8 g7 m" A% f. H. O4 y' `
赞 收藏 评论0 发布时间:2022-1-4 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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