我写了一些代码来将我的 android 手机连接到 ble 设备。当我关闭 ble 设备时,我的手机需要几秒钟(2-20 秒)来通知我它已失去与 ble 设备的连接。有什么方法可以立即通知我吗?我可以更改连接监督超时吗?
1652 次
1 回答
-1
当 Ble 设备发送断开连接 cmd 时,它会等待来自 android 应用程序的 ack。如果收到 ACK 将立即断开连接,否则将等待监督超时发生。通常在与 Android 应用程序连接时,BLE 设备(外围)必须遵守应用程序(中央)连接参数(连接间隔、延迟、监督超时) )。Android 中的监督超时被硬编码为 20 秒,因此我们得到 20 秒的断开延迟(参考)为了解决这个问题,我在连接 5 秒后从 BLE 设备发送了一个连接参数更新请求,将监督超时更新为 1 秒。我用一些安卓设备进行了测试,发现延迟断开连接得到了解决。
于 2018-03-29T05:32:44.107 回答