我用两个ESP32 设备进行测试 ,BLE MTU 默认是 23 的,我协商为 40 了 ,但是 Client 不会响应收到 Server 端发的数据,所以我不知道 Client 到底有没有收到数据,怎么确认 Client 收到了数据呢?
测试结果如下:
【ESP32】使用 AT 指令修改默认的 MTU Size,Client 端不会响应接收到的数据
Moderator: ESP_XCGuang
Re: 【ESP32】使用 AT 指令修改默认的 MTU Size,Client 端不会响应接收到的数据
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
具体做法是在 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 端不会响应接收到的数据
感谢指导,最终测试成功,测试结果如下:
Who is online
Users browsing this forum: No registered users and 18 guests