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

fan183579
Posts: 81
Joined: Thu Nov 25, 2021 6:37 am

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

Postby fan183579 » Wed Mar 16, 2022 3:49 am

想要创建五个蓝牙服务,并且每个服务下面需要三个特征值,但是使用例程发现gatt_server例程无法增加特征值,请问该怎么办?
Attachments
Z6C@G(X@SUBCL2AYVBH]9VL.png
Z6C@G(X@SUBCL2AYVBH]9VL.png (90.78 KiB) Viewed 5338 times

ESP_XuLZ
Posts: 173
Joined: Fri Mar 26, 2021 6:04 am

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

Postby ESP_XuLZ » 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 ...

fan183579
Posts: 81
Joined: Thu Nov 25, 2021 6:37 am

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

Postby fan183579 » Wed Mar 16, 2022 8:32 am

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 ...
有过尝试,但是没有成功

ESP_XuLZ
Posts: 173
Joined: Fri Mar 26, 2021 6:04 am

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

Postby ESP_XuLZ » Wed Mar 16, 2022 9:10 am

附件中是创建两个 service的,你试下,后续也可以以此方式增加
Attachments
gatts_table_creat_demo.c
(27.37 KiB) Downloaded 1081 times
gatts_table_creat_demo.h
(660 Bytes) Downloaded 770 times

Who is online

Users browsing this forum: No registered users and 60 guests