Page 1 of 1

【ESP32】使用 AT 指令修改默认的 MTU Size,Client 端不会响应接收到的数据

Posted: Tue Jun 08, 2021 6:52 am
by Rainbow
我用两个ESP32 设备进行测试 ,BLE MTU 默认是 23 的,我协商为 40 了 ,但是 Client 不会响应收到 Server 端发的数据,所以我不知道 Client 到底有没有收到数据,怎么确认 Client 收到了数据呢?

测试结果如下:
MTU-Client.png
MTU-Client.png (308.03 KiB) Viewed 5096 times

Re: 【ESP32】使用 AT 指令修改默认的 MTU Size,Client 端不会响应接收到的数据

Posted: Tue Jun 08, 2021 10:19 am
by ESP_Alson
BLE 的 characteristic 的属性除了读和写之外,还有 notify 和 indicate,这两种都是 server 向 client 发送数据。但是要想发送成功,需要 client 提前 register notification。

具体做法是在 client 端执行 AT+BLEGATTCWR=0,3,6,1,2 之后会要求输出 2 Byte的 HEX 数据,此时键入 0100 之后 Server 会打印 +WRITE:0,1,6,1,2,<0x01>,<0x00>

之后就可以在 Server 端口执行 AT+BLEGATTSNTFY 即可。

可以参考 CSDN:https://blog.csdn.net/espressif/article ... .3001.4450

Re: 【ESP32】使用 AT 指令修改默认的 MTU Size,Client 端不会响应接收到的数据

Posted: Tue Jun 08, 2021 11:23 am
by Rainbow
感谢指导,最终测试成功,测试结果如下:
企业微信截图_16231478675376.png
企业微信截图_16231478675376.png (472.15 KiB) Viewed 5068 times
企业微信截图_16231478974516.png
企业微信截图_16231478974516.png (40.92 KiB) Viewed 5068 times