概述本篇文章主要介绍如何使用stm32cubemx对生成stm32wb工程,并通过与stm32wb配对,应用程序对客户端读取或者写入特征值进行授权。
硬件准备首先需要准备一个开发板,这里我准备的是nucleo-wb55rg 的开发板:
源码下载https://download.csdn.net/download/qq_24312945/85076398
开启attr_permission_author_read在配置界面中,开启attr_permission_author_read,即需要授权才可以进行读取。
同时开启gatt_notify_read_req_and_wait_for_appl_resp事件,当客户端每次进行读取尝试的时候,会产生一个evt_blue_gatt_read_permit_req事件。 配置完毕重新生成代码。
代码配置添加打印,方便查看是否执行了该代码段。
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 程序将超时。
结果演示下载完程序后,可以看到串口打印固件版本等信息。 打开st ble toolbox软件(app在群内有615061293),可以看到该蓝牙已经可以搜索到。 点击connect进行连接。 连接之后可以看到串口打印了连接事件。
同时手机也显示该蓝牙模块连接成功。 让后我们试着读取他。 可以看到已经成功读取出来。 同时串口在每次读取时候都会进行打印。 若注释掉,则无法读取。
无线传感器网络是什么,无线传感器的优势有哪些
基于Lab Windows/CVI的激光声遥感系统
坚果Pro拆解:打破“花瓶”之说
使用地物光谱仪有哪些注意事项?-莱森光学
Linux系统下I/O操作讲解
STM32WB55_NUCLEO开发(8)----授权
vivoX23拍照评测 成像素质属于妥妥的旗舰水平
智慧矿山:惊险一瞬间-带式运输机空载识别,防止设备空转的绝招
苹果发布会如约而至,谈资从邀请函就已经开始
干货!飞利浦、GE和小米智能灯泡新品汇总
分享三种不同的电压采样电路
由浅入深的图解机器学习和GPT原理
闹钟的ESD整改案例
趋势科技发布的一项有关互联汽车安全性的重大新研究,评估出29种实际攻击场景
例说Verilog HDL和VHDL区别
磁阻传感器及其制造方法
压缩空气流量计旋涡频率的检测方法
现场总线控制系统的特点及对计算机控制系统造成哪些影响
计量仪器仪表的标定、检定、校准与校验的含义是怎样的有什么区别
选用液晶拼接屏的几点关键注意事项