1. notify丢包率
通常丢包率<1%,但是取决于环境干扰、PDU、连接参数、控制器缓存大小、应用层处理速率等。
2. 对于高可靠的应用数据传输优化
2.1. 高可靠性要求数据,必须有确认机制。
推荐顺序2.1.2. ≥ 2.1.4. > 2.1.1. >> 2.1.3.
2.1.1. Properties配置为write,也即ATT_WRITE_REQ PDU。
适用于App(Master/Central/Client)→Device(Slave/Peripheral/Server)。
2.1.2. 会话机制
如果Properties配置为ATT_WRITE_CMD PDU(也即Write Without Response),那么自定义一个会话层来保证数据的可靠性和完整性,每次数据必须有ACK;如果无ACK,那么进行重传。
适用于App(Master/Central/Client)→Device(Slave/Peripheral/Server)。
2.1.3.Properties配置为Indicate。
如果有多个特征值配置成indicate,并且同时发送数据,那么这个机制会造成混乱。
因为蓝牙协议底层暂时无法区分ATT_HAND