STM32WB55_NUCLEO開發(fā)(8)----授權(quán)
概述
本篇文章主要介紹如何使用STM32CubeMX對(duì)生成STM32WB工程,并通過與STM32WB配對(duì),應(yīng)用程序?qū)蛻舳俗x取或者寫入特征值進(jìn)行授權(quán)。
硬件準(zhǔn)備
首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是NUCLEO-WB55RG 的開發(fā)板:

視頻教學(xué)
聽不到聲音的請(qǐng)點(diǎn)擊跳轉(zhuǎn)進(jìn)行觀看。
https://www.bilibili.com/video/BV1iq4y1a7h9/

源碼下載
https://download.csdn.net/download/qq_24312945/85076398
開啟ATTR_PERMISSION_AUTHOR_READ
在配置界面中,開啟ATTR_PERMISSION_AUTHOR_READ,即需要授權(quán)才可以進(jìn)行讀取。

同時(shí)開啟GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP事件,當(dāng)客戶端每次進(jìn)行讀取嘗試的時(shí)候,會(huì)產(chǎn)生一個(gè)EVT_BLUE_GATT_READ_PERMIT_REQ事件。

配置完畢重新生成代碼。

代碼配置
添加打印,方便查看是否執(zhí)行了該代碼段。

aci_gatt_allow_read()是允許 GATT 服務(wù)器發(fā)送對(duì)來自客戶端的讀取請(qǐng)求的響應(yīng)。應(yīng)用程序必須在收到EVT_BLUE_GATT_READ_PERMIT_REQ或EVT_BLUE_GATT_READ_MULTI_PERMIT_REQ時(shí)發(fā)送此命令。此命令向堆棧指示可以將響應(yīng)發(fā)送到客戶端。因此,如果應(yīng)用程序希望在客戶端讀取任何屬性之前更新它們,它必須使用 aci_gatt_update_char_value 更新特征值,然后發(fā)出此命令。應(yīng)用程序應(yīng)在 30 秒內(nèi)執(zhí)行所需的操作,否則 GATT 程序?qū)⒊瑫r(shí)。

結(jié)果演示
下載完程序后,可以看到串口打印固件版本等信息。

打開ST BLE ToolBox軟件(APP在群內(nèi)有615061293),可以看到該藍(lán)牙已經(jīng)可以搜索到。

點(diǎn)擊connect進(jìn)行連接。
連接之后可以看到串口打印了連接事件。

同時(shí)手機(jī)也顯示該藍(lán)牙模塊連接成功。

讓后我們?cè)囍x取他。

可以看到已經(jīng)成功讀取出來。

同時(shí)串口在每次讀取時(shí)候都會(huì)進(jìn)行打印。

若注釋掉,則無法讀取。


最后
以上的代碼會(huì)在Q群里分享。QQ群:615061293。
或者關(guān)注微信公眾號(hào)『記帖』,持續(xù)更新文章和學(xué)習(xí)資料,可加作者的微信交流學(xué)習(xí)!
