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

描述

概述

本篇文章主要介绍如何使用STM32CubeMX对生成STM32WB工程,并通过与STM32WB配对,应用程序对客户端读取或者写入特征值进行授权。

硬件准备

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

源码下载

https://download.csdn.net/download/qq_24312945/85076398

开启ATTR_PERMISSION_AUTHOR_READ

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

同时开启GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP事件,当客户端每次进行读取尝试的时候,会产生一个EVT_BLUE_GATT_READ_PERMIT_REQ事件。 STM32WB55 配置完毕重新生成代码。 STM32WB55

代码配置

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

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 程序将超时。

STM32WB55

结果演示

下载完程序后,可以看到串口打印固件版本等信息。 STM32WB55 打开ST BLE ToolBox软件(APP在群内有615061293),可以看到该蓝牙已经可以搜索到。 STM32WB55 点击connect进行连接。 连接之后可以看到串口打印了连接事件。 STM32WB55

同时手机也显示该蓝牙模块连接成功。 STM32WB55 让后我们试着读取他。 STM32WB55 可以看到已经成功读取出来。 STM32WB55 同时串口在每次读取时候都会进行打印。 STM32WB55 若注释掉,则无法读取。 STM32WB55STM32WB55

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
记帖MCU 2022-11-18
0 回复 举报
交流ⓆU_N:6_15061293 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分