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

STM32WB55_NUCLEO开发(8)----授权

[复制链接]
STMCU小助手 发布时间:2022-8-18 21:14
概述
本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对,应用程序对客户端读取或者写入特征值进行授权。

硬件准备
首先需要准备一个开发板,这里我准备的是NUCLEO-WB55RG 的开发板:

da9ef49d616d44a79d672bce4a5ef5f4.png



开启ATTR_PERMISSION_AUTHOR_READ
在配置界面中,开启ATTR_PERMISSION_AUTHOR_READ,即需要授权才可以进行读取。

38be67530e57427cb8f41ab9cbb1d07c.png

同时开启GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP事件,当客户端每次进行读取尝试的时候,会产生一个EVT_BLUE_GATT_READ_PERMIT_REQ事件。

497d58e4319d4a6693f3cd4d440b1f60.png

配置完毕重新生成代码。

fdd215a4f1c34db5b7655a09b742f85b.png

代码配置
添加打印,方便查看是否执行了该代码段。

e57e185f3b394c879ecbb521811b7209.png

aci_gatt_allow_read()是允许 GATT 服务器发送对来自客户端的读取请求的响应。应用程序必须在收到EVT_BLUE_GATT_READ_PERMIT_REQ或EVT_BLUE_GATT_READ_MULTI_PERMIT_REQ时发送此命令。此命令向堆栈指示可以将响应发送到客户端。因此,如果应用程序希望在客户端读取任何属性之前更新它们,它必须使用 aci_gatt_update_char_value 更新特征值,然后发出此命令。应用程序应在 30 秒内执行所需的操作,否则 GATT 程序将超时。

5049ddc2ecc14121a8ef2a13dffb3eb7.png

结果演示
下载完程序后,可以看到串口打印固件版本等信息。

5a0af8496fe34ffc9a8cea97c229bd9e.png

打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。

6ba0fd35ce3f42929a13bc32d924f9aa.png

点击connect进行连接。
连接之后可以看到串口打印了连接事件。

ef108805419d44888b349024a84fbdd1.png

同时手机也显示该蓝牙模块连接成功。

80bb0467f220417684af488b14c476ad.png

让后我们试着读取他。

a63910404f3943b1934698e425b2928c.png

可以看到已经成功读取出来。

8df9f3d279fe47c789a2db0dfe6137a1.png

同时串口在每次读取时候都会进行打印。

fa64acc53e6d43a3a0fc4f3ae6187193.png

若注释掉,则无法读取。
4fa626c0c0384fad86760184b76a93de.png

01b2a8c35b9f41668591ce52f3fc9934.png





收藏 评论0 发布时间:2022-8-18 21:14

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版