Android蓝牙BLE我可以修改哪些连接的配置参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android蓝牙BLE我可以修改哪些连接的配置参数相关的知识,希望对你有一定的参考价值。
我正在开发一个使用蓝牙外设一个LE的应用程序。一切正常,我有特色服务等。我可以从传感器等获得价值。
问题是,在获取值时,app会不时'冻结',有时候外围设备会返回错误的值。我无法弄清楚为什么会这样。
所以我想尝试的是配置一些关于手机和设备之间连接的参数。这就是为什么我想知道在连接时我可以设置哪些参数(例如,在GATT的实例上,但不仅仅是)。我试图搜索有关它的一些信息,但它的信息很少。
这就是为什么我想要一个可以改变设备之间连接性能的参数列表。
我想做的最后一件事就是改变外围设备(adafruit)方面的一切。
由于没有人回答我的问题,我经历了主题(android蓝牙连接)标记的整个stackoverflow问题,我将分享我发现的内容。嗯,说实话,我找不到多少。关于android蓝牙的大多数问题都没有回答或没有正确/满意的答案。开发人员对BLE的了解如此之低?真?那太遗憾了。但跳到答案......
我想到的是,你几乎无法改变Android手机上的连接。这一切都在外围设备的业务中。我发现只有一个参数可以被“修改”,即“连接时间间隔”(每次数据传输之间的时间)。我标记为'已修改',因为您无法设置请求的数字(毫秒)。您只能为gatt连接设置3个参数:(使用requestConnectionPriority()方法)
CONNECTION_PRIORITY_BALANCED, CONNECTION_PRIORITY_HIGH and CONNECTION_PRIORITY_LOW_POWER
更多信息(但仍然不多)(https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#requestConnectionPriority(int))
但我不确定他们什么时候改变间隔。这就是你可以改变的一切。您无法更改监督超时(硬编码为20秒),您无法更改任何内容。所有剩下的都用于外设配置。 Mobile OS API不允许我们进行低级别设置。
如果有人知道更多,请分享!
以上是关于Android蓝牙BLE我可以修改哪些连接的配置参数的主要内容,如果未能解决你的问题,请参考以下文章
Android-Ble蓝牙开发Demo示例–扫描,连接,发送和接收数据,分包解包(附源码)
Android蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)