ESP32 BLE使用nimble协议栈,怎样发送超过20个字节的数据?

xiaomo
Posts: 4
Joined: Tue May 31, 2022 2:09 am

ESP32 BLE使用nimble协议栈,怎样发送超过20个字节的数据?

Postby xiaomo » Tue May 31, 2022 2:15 am

我在使用蓝牙传送传感器数据,目前只能发送20个字节大小的数据包,请问大家是如何实现发送大于20字节的数据包的。我想尝试将数据包分包发送,但是不知道怎样调用相关的API,请问大家有什么好的办法实现,不影响接收端判断和模块效率的?

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

Re: ESP32 BLE使用nimble协议栈,怎样发送超过20个字节的数据?

Postby ESP_XuLZ » Wed Jun 01, 2022 2:20 am

只能发送 20 个字节应当是没有交换 MTU 的,可以使用 ble_att_set_preferred_mtu 设置 esp 设备的本地 MTU(23~512 范围),esp 设备作为 client 的话使用 ble_gattc_exchange_mtu 发起交换 MTU 请求,如果是手机连接 esp server 设备,在 BLE 调试 APP 如 nrf connect 连接成功后有一个 交换 MTU 的请求的选项,使用这个和 esp server 设备 交换 MTU

Who is online

Users browsing this forum: No registered users and 42 guests