W800 ble廣播內容設置

發布於 2025-01-03 15:59:19

ble廣播內容是由一個一個的AD Structure組合而成的,AD Structure的結構為length type data三部分組成,各字段含義如下。
image.png
W800 SDK中設置廣播方式有兩種:
1、參考src/app/bleapp/wm_bt_app.c文件裡,如下圖分三步。
image.png
首先按照length/type/data的結構,把要廣播的數據內容準備好,然後調用tls_ble_gap_set_data接口來設置廣播內容,最後再調用tls_nimble_gap_adv來啟動廣播。
2、參考src/app/bleapp/wm_ble_server_api_demo.c,同樣也是分為三步。
image.png
首先定義了一個ble_hs_adv_fields的變量fields,根據要廣播的內容給fields的不同字段賦值,比如demo裡設置了flags和name、uuid16這三個字段。然後調用ble_gap_adv_set_fields來設置廣播的內容。最後調用tls_nimble_gap_adv來啟動廣播。
注意:ble廣播內容的最大長度為31字節,如果廣播的內容超過了31字節,剩餘的內容可以通過scan/response方式來發送,只需要將response的內容準備好,然後調用ble_gap_adv_rsp_set_data來設置。只不過這裡和第一種方式裡調用ble_gap_adv_rsp_set_data時傳入的第一個參數type不同,此處傳入的是WM_BLE_ADV_RSP_DATA。當收到主動掃描請求時,會自動把設置好的scan_response內容回複給請求方。

0 條評論

發布
問題