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 条评论

发布
问题