我目前正在开发一个项目,该项目从Adafruit BLE传感器BNO055获取实时值并进一步处理。连接已设置并正常工作,我可以获取融合数据,但只能在很短的时间内完成。在看到断开连接的模式后,我发现传感器在建立连接后大约150秒左右自动断开连接。
我不确定它是否与传感器本身有关,就像它没有硬编码断开连接,如果没有反馈'是在某些' x'秒,或者它是Android类本身的一个特性。我附上了这张断开连接时我的logcat的屏幕截图。 Logcat。另外,这是logcat的脱脂版本:
onNotify() - Device=DE:DA:53:31:02:E0 UUID=6e400003-b5a3-f393-e0a9-e50e24dcca9e srvcType=0 srvcInstId=0 charInstId=0
05-24 18:37:58.541 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.541 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.541 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.541 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.562 D/BluetoothAdapter: isEnabled
05-24 18:37:58.563 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.563 D/BluetoothGatt: cancelOpen() - device: DE:DA:53:31:02:E0
05-24 18:37:58.564 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.568 D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=1 device=DE:DA:53:31:02:E0
05-24 18:37:58.568 D/BluetoothDevice: mAddress: DE:DA:53:31:02:E0
05-24 18:37:58.569 D/BLE: Disconnected from GATT server.
05-24 18:37:58.575 D/BNO: DISCONNECT_MSG
05-24 18:37:58.575 D/BluetoothGatt: close()
05-24 18:37:58.575 D/BluetoothGatt: unregisterApp() - mClientIf=1
05-24 18:37:58.577 D/BLE: mBluetoothGatt closed
不确定问题究竟是什么,我相信这里的专家能够帮助我!
谢谢, 斯利拉姆
更新:从Playstore下载的应用程序(Bluetooth LE Scanner,BluefruitLE,BLE Scanner ..)。应用程序也存在同样的问题,传感器在相同的150秒间隙后与应用程序断开连接。看起来这是传感器本身的一个功能(?)。有没有办法克服这个问题,比如说它不要断开?
更新2 :断开似乎仅在我的手机(Alcatel Onetouch Flash,蓝牙v4.0)中发生,但在我的其他平板电脑上运行正常(华硕Google Nexus 7,蓝牙v3.0)没有断开连接。是(蓝牙版),还是任何有问题的驱动程序问题?