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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 22:00
1.STM32WB55开发经验
9 q( W+ f3 ]# O; {7 T5 v7 b; m在长达大半年的STM32WB55蓝牙手环开发的过程当中,让我感受到了这款芯片的魅力和ST为其倾力打造的生态环境是真的很不错!& v, ]% p; A3 q' u  O+ A/ P
4 |3 c/ q2 c1 o, f, Q5 z8 v
不过在开发STM32WB55这款芯片的时候,刚开始能找到资料确实太少了,入门真的门槛稍微高了点。我是靠着官方给的英文文档一步一步啃过来的。到现在为止大致掌握了STM32WB55的开发流程,以及在它的蓝牙方面的开发应用。我已经成功的使用STM32CUBEMAX生成多个蓝牙的profile包括三轴传感器,血氧、心率,数字麦克风等多个传感器蓝牙传输的方法。4 |6 ^$ _' b2 w( y6 T" y" z7 r

/ ^  T5 I; J, X3 ^( B. Q整个工程使用的外设情况如下所示,尽可能的利用cubemax完成对开发的初始化,极大的方便工程师对这款芯片的开发:
- ]9 T! V! _0 U+ w) z$ F
- P- a4 w4 J$ N5 a
20200622145245211.png
( O3 x, L/ `8 ]- }  ]; z$ w
5 G1 K5 @& M& d$ ~6 j4 Z
2主界面的功能测试过程
% d+ q8 W( E, g: a开发的手环LCD主界面的界面图如下所示:
2 u  `% C" [7 V% ~& U8 r2 S
) H: e! ?2 u* D8 ]! K3 m- @
20200711202217437.png
/ I; K% W7 ]" `  [- R8 i6 d; [

3 K- P- g* z1 I+ J. b3蓝牙协议和APP显示的功能测试% H) W5 f9 j" v9 ^, L/ Y% D
打开APP,点击开始扫描,便能检测到设备的蓝牙信息,点击“HJSH”便开始配对连接。
6 {( V; O( |6 v0 g2 j4 J
" [, ^4 J% K' a1 Z, Y
+ K" k* X4 a/ |
20200707152516335.png 20200707152520146.png
4 C# p/ ?* c9 V& f4 V4 T

0 k6 c5 J" ^! }1 P' p
1 ]& t9 x  n) P' s4 }7 O3.1血氧心率传输

7 q5 h& R$ F( o2 n在APP界面直接同步显示硬件传输过来的血氧和心率,未检测之前的界面如下如所示:/ A; g! ?) Z& T! i7 O, }  V1 Y9 X9 W

9 B7 u7 c( l+ x1 j8 P
5 `' D+ x. V! o2 p+ ]# l
20200707152551293.png

8 A9 p9 S4 |1 S6 L
7 }# }' a  C, h0 C/ ]& H" i7 j1 q8 @, @+ a
检测后的数据显示如图所示,其中“80bpm”代表的是心率的数值,“97KJ”中的97是代表的是血氧饱和度的值。$ j. E& s) K4 x" `& M
6 L' K/ \& u7 S# }* A! [6 K
20200707152601624.png
: M) x% B$ U$ |3 ^0 G
6 o2 @8 d/ ~5 j" i( o( n* N

2 K+ m0 Y& e( {' `7 t1 o/ u2 D  q
3.2音频数据传输
( E0 E8 H( p. R/ s* x$ G然后点击APP左上角的三条横线便可切换不同的蓝牙服务,选择“BlueVoice”便可以切换到蓝牙音频传输服务里。
! E" V4 L5 S4 C
. X5 Q- ?/ y' M- m
9 \$ b3 q0 q  N8 F/ n  @. z
2020070715262159.png 20200707152624646.png
: O" E" d+ i( F
" X9 g0 h5 T3 {& j  s# n
. L+ o  O% \% k
切换到蓝牙音频传输服务里,便可以开始音频的传输了,能实时播放硬件采集的音频数据。
" L6 x/ V" S# ?6 k+ B# r$ n4 t: T5 ^
1 d& f' o# Y, A4 g) P% O2 C
20200707152631529.png

8 ^$ S: q& z4 {' q; {8 {/ X1 Z6 L" g
4 b" k6 c- f# P
3.3三轴传感器数据传输
7 f2 X. h2 t  s# G  k( W
三轴传感器需要在APP的主界面点击“Open BLE Toolbox”,然后连接“HJSH”,最后找到最右边图的那个界面上的服务,使能其通知便可以开始以1s一次的频率读取到三轴传感器的数据了,数据格式为0xF3+2字节的X轴数据+2字节的Y轴数据+2字节的Z轴s数据+0x3F。- |2 d4 I9 D& u1 k" k) n* {0 {

8 F9 m) ~/ j, r- @4 L3 T9 q* S# O1 t
20200707152641981.png 20200707152644964.png 20200707152744722.png
% j. I$ R/ G/ H% Q( P

" }6 Y$ Z" t. s0 `9 A. l/ U! A* Z) }* @
三轴传感器还可以设置上传周期。往以下图片里的三轴传感器蓝牙服务写命令,以F3+1字节的上周周期(单位:s)。如下图,输入F301便是输入命令硬件以1s每次的频率上传一次三轴传感器的数据。3 ?7 J. ~% M; \8 Q" U
2 {9 p$ |5 t7 \0 S+ k+ F
& T3 B- `6 H: J" b1 e7 H5 L) A
20200707152725609.png 20200707152657278.png
8 u" {$ [9 {* _) s! b& d
, E8 T0 V5 b6 n* e. s# c% N" W
6 s$ U0 k/ ^7 u
3.4 使用蓝牙调整scanrspdata和attDeviceName中的序列号7 f: ?- w9 a; k) p6 _
首先找到以下的这个服务类,点击“WRITE”操作,在“WRITE”里面选择“String”选项。然后开始写入需要的序列号,数据格式以“ASCLL码F+10字节的ASCLL码数据。写入成功后,退出后连接后,继续扫描我们的蓝牙设备,便可以在广播数据里看到我们写入的序列号了(广播出来是的是十六进制格式的ASCLL码)。也可以在最后一张图片的服务类里当前读取广播的序列号。, Z. h' q" p! t: N' A* A3 j# x: `
; Q8 r3 a" ~% o) U% c6 X, K

( L$ P& x3 y) y6 q- z* k7 n+ j
20200707152654971.png 2020070715272868.png 20200707152732569.png
0 h  {+ I4 }9 x/ ^
20200707152734984.png
/ w+ e; i  O& |5 Y' K+ m% @8 H

" t6 [$ D; B/ R$ R2 y7 k! k. D, ?
, O7 U! Q( p3 K5 }. i- y
5 O- M, H2 }' P4 f6 v  Q% W
0 I, x% L- d7 E3 _* ^2 E: K3 l( P' U+ F! P1 r" O
赞 收藏 评论0 发布时间:2022-1-4 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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