Page 1 of 1

esp32 如何创建具有多个蓝牙服务和多个特征值的示例?

Posted: Wed Mar 16, 2022 3:49 am
by fan183579
想要创建五个蓝牙服务,并且每个服务下面需要三个特征值,但是使用例程发现gatt_server例程无法增加特征值,请问该怎么办?

Re: esp32 如何创建具有多个蓝牙服务和多个特征值的示例?

Posted: Wed Mar 16, 2022 7:15 am
by ESP_XuLZ
可以使用 gatt_server_service_table 例程进行开发, gatt_server 是一种根据事件串行创建服务、特征值和描述符的,创建多服务或者特征值时不太方便

gatt_server_service_table 中
使用 esp_ble_gatts_create_attr_tab 创建服务属性表, 一个服务属性表只能创建一个服务
使用 esp_ble_gatts_start_service 启动服务, 注意逻辑性: 可以这样:创建服务1 -> 启动服务1 -> 创建服务2 -> 启动服务2 ...

Re: esp32 如何创建具有多个蓝牙服务和多个特征值的示例?

Posted: Wed Mar 16, 2022 8:32 am
by fan183579
ESP_XuLZ wrote:
Wed Mar 16, 2022 7:15 am
可以使用 gatt_server_service_table 例程进行开发, gatt_server 是一种根据事件串行创建服务、特征值和描述符的,创建多服务或者特征值时不太方便

gatt_server_service_table 中
使用 esp_ble_gatts_create_attr_tab 创建服务属性表, 一个服务属性表只能创建一个服务
使用 esp_ble_gatts_start_service 启动服务, 注意逻辑性: 可以这样:创建服务1 -> 启动服务1 -> 创建服务2 -> 启动服务2 ...
有过尝试,但是没有成功

Re: esp32 如何创建具有多个蓝牙服务和多个特征值的示例?

Posted: Wed Mar 16, 2022 9:10 am
by ESP_XuLZ
附件中是创建两个 service的,你试下,后续也可以以此方式增加