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

【经验分享】STM32WB55_NUCLEO开发 ----手机与STM32WB通过键入密钥配对

[复制链接]
STMCU小助手 发布时间:2022-4-29 22:46
概述4 [) c* c4 x7 F. q/ @, k
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对获取密钥值,然后通过键盘输入密钥进行配对。% [. c1 i. P( k3 }- K. H& E  B

. E2 ]% ]) z0 ]7 v8 X2 r硬件准备
6 P/ j! D" F, @& s+ ~0 v. ^- b首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:
& h: y3 K' K7 ?  J
9 j& w! a2 {  W; e2 n; O/ p da9ef49d616d44a79d672bce4a5ef5f4.png # L- j* x: }- r& @% X, s$ {

) _% }; r# q1 W& d3 j. a+ Y' [. R+ g: H7 V' m8 a# X/ \  v' n: z
设置配对方法- I/ |& K5 h! p8 `$ r+ J
由下表可知,当设置为Keyboard only时候,用户需要传递六个数字的密钥。这个六位数的值是设备身份验证的基础 。
1 ?7 t  y, h2 b9 Z
7 e) G1 z1 T' l( Y; s- ~ e886eda696064b3b9b55083eacd1400b.png 9 f5 g* y, Z  }) U1 K. d

- J% @0 a% n5 l2 E- T5 I5 u6 A故在上节的配置中进行修改,修改如下所示。- m+ `* x7 B4 L  E8 F) v" y

/ P# O6 ?9 S% F2 S9 |, a6 m1 D 0e1d67c165854ef3acf276fb5b209ca1.png ! c' k/ J" r3 M

4 U- u1 }- y* ^( A配置完毕重新生成代码。9 t/ ?+ f; x/ d6 u# B4 ?
9 g+ J- g# F$ O" P6 H
12fe3f41e4064c8aabe66cac88288b9c.png
2 h3 E& a: @+ I
$ d# e8 _0 X% {* f5 M  ]代码配置
6 K, l, |! n2 O* L& ^
# O' J& @; y( e在app_ble.c中先声明变量。( @; r. A, M& G* A

8 V* h* X1 m1 V' b4 L+ C 3b654797f92a46119f3263c4b63e8d3c.png 3 X* f6 B) |4 @1 `% ^2 _! _
  H) K  H5 l" J2 D0 U- l% g
在app_ble.c中,ACI_GAP_PASS_KEY_REQ_VSEVT_CODE下添加每次配对是生成密钥的请求事件。$ M, ^8 o8 y4 b# h- e: b

% x  |# B: `: ^: G" w 84130cde2a1c4a3c924536bf7b163223.png " {& }+ _3 L7 c) l3 q
, i, v. j8 y6 O4 t" A& J
我们需要定义一个由6个整数组成的数组,6个无符号整数,通过串口进行接收。; Q5 p2 y( p4 E- ^0 {
然后将接收的数据进行处理,处理为6位的密钥密钥。
1 x1 W% ^" v2 L3 O2 H! J/ j2 @% w3 y& R) {* K
3a55895612f94514b638e4ec8c02d48a.png
5 B! @" ^5 Q6 O2 f( O9 j4 g" j& C' W$ @4 d; p. N
配置完成后下载即可。
! x3 X( K) W! E2 I% l; M( L" `% Q, f
结果演示9 ?% ]' E/ L! v( D$ x
下载完程序后,可以看到串口打印固件版本等信息。
7 v8 `) e9 {5 \0 I) c
1 z" c- e# G9 c& I, T fc353bb350cc4b5fb1ed3da6468221a5.png
5 U2 S1 Z. \/ H+ X  c( l0 h9 I7 ^$ D0 F; Z
打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。" d: y6 ?- E3 {% j5 J( c$ X- g

# H0 A( G5 D) @- r: D dadf6b2187bf46cbb12ad41092e06eab.png
; _( g3 N" d5 b, A2 N
% _" T. ?& E. I- q点击connect进行连接。) c5 V. t( y" f" ~( _6 j
连接之后可以看到串口打印了连接事件。" K1 X: J5 U% O& ~/ R

% H1 k, a7 V0 b: f4 {  h 5dde7c81217946038045198194f309b5.png , q8 v; ]+ ^2 [7 m- |1 b

+ w- K/ _( h, O. F4 z3 I' r同时手机也显示该蓝牙模块连接成功。
' {" x4 Y7 a+ y( v0 b+ p) r9 d6 S0 a
2 [. j6 s  w% x1 s5 ~ d383da32a11346178d7158cf6e488a18.png
5 |! P2 J8 n9 W$ w# L
* o! c1 q8 q; l8 u让后我们试着读取他。/ ^$ t2 ]/ q; I0 k) U) ~

' O' w- T; W' Y+ @( F dac97f2d2ee6458580c9b5c3df5dca69.png
, W1 `, L9 |6 x. @0 K1 \2 m
0 x: ~! }% `. m* U2 c. g! _会让我们输入配对码。
) I: l- \3 y2 k( d! n7 w) q
' F0 Q3 q8 [! l% E 8d29076983bf4af78ead7617023fa960.png 2 S; j1 \4 H* \- x  c
! K3 {: p/ D  J0 n: O% r/ |8 g
在调试助手中输入配对码,点击发送即可,即可进行配对。8 l. S+ ~& c  ~8 @; J0 b

8 J8 @) u4 K0 i1 l7 Y3 z  Y f67dfe2bea8e43e9a9376441280befd3.png ' [: k2 h" Z) F& r: E2 B' Q
# @. c$ L: x) ?$ C7 {& i) _
配对完成在进行读取,即可成功读取出来。- y% a6 x% `2 u. X3 P) C5 |4 Z
e57c292c08a246a0b58af16ad4ae3a7c.png , t8 ~# d4 |% B* T( M+ Q7 \8 j' p

* j4 D: {2 R- K. C9 T8 O/ O* r
2 a# `8 N5 N3 U9 c+ |( L, x6 i3 I2 x5 G/ Y5 ~
* ?: Z0 x) d" D
赞 收藏 评论0 发布时间:2022-4-29 22:46

举报

0个回答

所属标签

相似技术帖

官网相关资源

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