我的 BLE 应用程序需要在服务器端(BLE 芯片)进行计算,这需要时间并导致断开连接。
流程是这样的:
1- Android 手机将特征值写入 BLE 芯片。2- 芯片评估该值并开始计算。3- 计算开始后连接很快丢失。
我可以应用什么解决方案来防止断开连接?我有两个解决方案:
1- 更改连接间隔:目前 Android 使用 7.5 毫秒作为连接间隔。由于 BLE 芯片上的计算需要时间,因此在计算过程中不会发送或接收数据包。增加连接间隔将减少丢失数据包的数量。但是,不能保证 Android 手机会接受新的连接参数。
2-在单独的线程中运行计算:我不认为BLE芯片的SDK支持多线程,这样当计算过程进行时,它会继续接收和发送数据包并防止断开连接。我使用 CSR 芯片,我认为它不支持。
如果我的观点有误,请纠正我。
您还有其他解决问题的建议吗?
提前致谢。