[已解决] 蓝牙spp出现问题

Cyclone
Posts: 10
Joined: Tue Sep 28, 2021 2:19 am

[已解决] 蓝牙spp出现问题

Postby Cyclone » Wed Nov 03, 2021 12:29 pm

使用蓝牙的spp程序时,出现问题如下:

Code: Select all

W (446897) BT_GATT: attribute value too long, to be truncated to 20

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

Re: 蓝牙spp出现问题

Postby ESP_XuLZ » Thu Nov 04, 2021 1:24 am

这是写的属性值太长而 MTU 太小造成的,APP 上应该有交换 MTU 的选项,默认应该是23, 把它调大些

Cyclone
Posts: 10
Joined: Tue Sep 28, 2021 2:19 am

Re: 蓝牙spp出现问题

Postby Cyclone » Thu Nov 04, 2021 3:31 am

ESP_XuLZ wrote:
Thu Nov 04, 2021 1:24 am
这是写的属性值太长而 MTU 太小造成的,APP 上应该有交换 MTU 的选项,默认应该是23, 把它调大些
请问ESP32可以主动设置手机APP的MTU吗?有想过的接口吗?

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

Re: 蓝牙spp出现问题

Postby ESP_XuLZ » Thu Nov 04, 2021 3:42 am

如果 esp32 作为 client, 手机作为 server, 可以使用 [esp_ble_gattc_send_mtu_req](https://docs.espressif.com/projects/esp ... t8uint16_t) 进行交换 mtu

Cyclone
Posts: 10
Joined: Tue Sep 28, 2021 2:19 am

Re: 蓝牙spp出现问题

Postby Cyclone » Thu Nov 04, 2021 5:37 am

ESP_XuLZ wrote:
Thu Nov 04, 2021 3:42 am
如果 esp32 作为 client, 手机作为 server, 可以使用 [esp_ble_gattc_send_mtu_req](https://docs.espressif.com/projects/esp ... t8uint16_t) 进行交换 mtu
我想问的是esp32作为 server的时候,有这样的接口吗?

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

Re: 蓝牙spp出现问题

Postby ESP_XuLZ » Thu Nov 04, 2021 5:59 am

没有,蓝牙规范GATT 协议中定义的也是 client 发起交换 MTU 的请求,server 可以使用 esp_ble_gatt_set_local_mtu() 设置自己本地的 MTU
exchange MTU.png
exchange MTU.png (18.68 KiB) Viewed 7244 times

Cyclone
Posts: 10
Joined: Tue Sep 28, 2021 2:19 am

Re: 蓝牙spp出现问题

Postby Cyclone » Thu Nov 04, 2021 6:52 am

感谢,我知道了

Who is online

Users browsing this forum: No registered users and 37 guests