概述
本篇文章主要介紹如何使用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進行連接。 連接之后可以看到串口打印了連接事件。
同時手機也顯示該藍牙模塊連接成功。 讓后我們試著讀取他。
可以看到已經成功讀取出來。
同時串口在每次讀取時候都會進行打印。
若注釋掉,則無法讀取。
審核編輯:湯梓紅
-
開發板
+關注
關注
25文章
5499瀏覽量
102155 -
stm32cubemx
+關注
關注
5文章
286瀏覽量
15969 -
STM32WB55
+關注
關注
0文章
26瀏覽量
1584
發布評論請先 登錄
STM32WBA Nucleo-64開發板# 支持Thread、Matter和Zigbee

STM32WB5MMG模塊能否支持Thread轉WIFI?
STM32WB5MMG模塊能否支持Thread轉WIFI?
請問STM32WB55可以通過固件刷寫的方式在芯片里預置key嗎?
用兩塊nucleo-wb05kz分別運行BLE_SerialCom_Peripheral 和BLE_SerialCom_central的藍牙通訊示例,出現死機的情況怎么解決?
調試STM32WB55 USB dongle的時候發現燒錄藍牙stack后插入USB無法識別怎么解決?
STM32WB55RG使用USB ST-LINK連接電腦顯示未知USB設備,更新驅動后也沒有變化,是什么原因?
ST NPI 新上架開發板 【NUCLEO-WL33CC1】
STM32WB55RG開發(5)----監測STM32WB連接狀態

STM32WB55RG開發(3)----生成 BLE 程序連接手機APP

STM32WB55RG開發(2)----STM32CubeProgrammer燒錄

STM32WB55RG開發(1)----開發板測試

ST NPI 專區 | 新上架產品【STM32WB09KEV7TR】

評論