请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU小助手 发布时间:2022-4-29 22:46
概述/ H. D" w/ b8 q* N
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对获取密钥值,然后通过键盘输入密钥进行配对。
4 |: ]) f: i6 S7 L  h
  b6 W7 S* T% D9 A硬件准备
) o& g. u. W4 H3 C首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:+ o3 s, w" t1 E* v- L6 O$ i
0 x3 d+ @* v# \5 A
da9ef49d616d44a79d672bce4a5ef5f4.png / O3 y; t: I- @. W" R

. t4 n7 C$ t3 ]! S$ M7 J7 Q- S4 v$ |. O. {) v: _
设置配对方法
' w" U8 `! @1 N) \由下表可知,当设置为Keyboard only时候,用户需要传递六个数字的密钥。这个六位数的值是设备身份验证的基础 。
6 d/ h8 _( u1 ?0 s' Q5 ~8 F6 }1 x2 A1 T$ D% `
e886eda696064b3b9b55083eacd1400b.png
8 L1 F" u) ~7 _: Z1 T
0 y- ^: a5 I6 X& t4 [6 r" V  J  }) g故在上节的配置中进行修改,修改如下所示。
: W8 G# \- q+ P6 B
! H5 c7 N' K, J" t1 W9 k& C 0e1d67c165854ef3acf276fb5b209ca1.png ! d( v0 l8 J; }- [- p
% [2 C) B8 l( Q  v! x
配置完毕重新生成代码。0 |+ ~# s! o$ F6 n* _6 N
& h' [. Z, @, y5 t
12fe3f41e4064c8aabe66cac88288b9c.png
) a- d) j6 Z$ U2 h8 r7 p8 R
9 M7 K, ~4 B+ _4 L# w' p代码配置
6 u5 R, v# b) K# Y9 `0 `0 x* j& g$ L( ], z
在app_ble.c中先声明变量。) Z0 v# _& G6 D2 @% K
- r1 a" e* `+ f) [9 G7 q% ^) z3 @2 t
3b654797f92a46119f3263c4b63e8d3c.png & r) t) P& D4 G3 U* Q

1 e7 z& y( w4 [2 s# I# D' b1 q在app_ble.c中,ACI_GAP_PASS_KEY_REQ_VSEVT_CODE下添加每次配对是生成密钥的请求事件。
8 s: y& |3 O* {' n: \* b( {5 v, T7 n/ R0 E: c( f0 `
84130cde2a1c4a3c924536bf7b163223.png : B  U/ L6 j3 c: Y

) I( K! H( F: x4 h& ]2 c2 _* b: R6 o我们需要定义一个由6个整数组成的数组,6个无符号整数,通过串口进行接收。5 O. h/ z1 h. d! ^
然后将接收的数据进行处理,处理为6位的密钥密钥。
# f( n* s0 |8 L$ \9 F6 ^
, Z/ q+ l$ u8 D 3a55895612f94514b638e4ec8c02d48a.png 3 V+ F+ P% c" Y
& m3 G) q' K/ o8 e0 U& {
配置完成后下载即可。
. ?3 H0 u5 s6 M" Y2 W6 Q6 M6 `* ^; L6 S4 j0 V- e6 k
结果演示4 ~; g/ f( E2 Z& C0 _
下载完程序后,可以看到串口打印固件版本等信息。" d+ c' Y! E& `5 \# L

6 \, F( y- z* U# \/ H0 {/ _ fc353bb350cc4b5fb1ed3da6468221a5.png
# x6 s6 Y( a  X  c, e- U; N/ o( i2 W
打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。6 }7 t5 H7 I8 n0 X/ A
; S7 c9 C8 q1 x1 N: m9 q! w% r" t
dadf6b2187bf46cbb12ad41092e06eab.png
' t& h3 P6 U0 V# }- F; `- a7 {4 j, t6 t2 Z7 S% f
点击connect进行连接。9 M! I1 i( K1 u% K2 W
连接之后可以看到串口打印了连接事件。) K8 v4 _5 _/ ~" _+ j6 P

  m+ \* V: m2 n* ?8 e1 t 5dde7c81217946038045198194f309b5.png
- J$ _" P( i" L' I2 Q8 y$ g9 Z8 Q9 [1 ^1 z5 B% Z
同时手机也显示该蓝牙模块连接成功。
! W$ h8 I4 G4 c% \1 a+ [- l# M, `7 d/ R4 M
d383da32a11346178d7158cf6e488a18.png 6 Y7 {- J3 e/ B- \+ i7 N& L

" V* R+ g* }) l4 m6 V9 o- j% i让后我们试着读取他。: ?6 K; G0 P+ n. b

6 J8 M; P) y" Y dac97f2d2ee6458580c9b5c3df5dca69.png
* J" }4 \- e" |4 ?7 A% R/ c2 i8 g5 S8 X- I2 y
会让我们输入配对码。
) y$ B$ I$ B: p6 ~6 o
& A. k0 @# `* u4 n* S 8d29076983bf4af78ead7617023fa960.png   d" t/ S+ s4 s
( p1 n( [* L$ \8 s" Z% L
在调试助手中输入配对码,点击发送即可,即可进行配对。
4 g7 c) ~7 h$ {: y1 e( s. e% }# E" R. f% `
f67dfe2bea8e43e9a9376441280befd3.png
" m( c% Q4 l8 r7 x6 [; [  q; @$ _5 N3 W7 Z7 b* X. \% D
配对完成在进行读取,即可成功读取出来。
0 l2 z7 F: j7 d$ L e57c292c08a246a0b58af16ad4ae3a7c.png 9 i* O8 F* p, j4 h

7 t1 i* O( B) o9 h: ~# q+ J( H  o2 m8 G4 V
% Y. ~. P! G# H8 D' Z, N, w5 L

( M$ Y! W+ ]8 R/ K8 R8 ~! q; X
收藏 评论0 发布时间:2022-4-29 22:46

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版