Android蓝牙BLE我可以修改啥连接的配置参数

Posted

技术标签:

【中文标题】Android蓝牙BLE我可以修改啥连接的配置参数【英文标题】:Android Bluetooth BLE what connection's configuration parameters can I modifyAndroid蓝牙BLE我可以修改什么连接的配置参数 【发布时间】:2017-12-18 15:53:34 【问题描述】:

我正在开发一个与蓝牙外设一起使用的应用程序一个 LE。一切正常,我得到了特征服务等。我可以从传感器等获取值。

问题在于,有时应用程序在获取值时会“冻结”,有时外围设备会返回错误的值。我不知道为什么会这样。

所以我想尝试的是配置一些关于手机和设备之间连接的参数。这就是为什么我想知道在连接时可以设置哪些参数(例如在 GATT 的实例上,但不仅如此)。我试图搜索一些关于它的信息,但信息太少了。

这就是为什么我想要一个可以改变设备之间连接性能的参数列表的原因。

我想做的最后一件事是改变外围(adafruit)方面的一切..

【问题讨论】:

您已经正确回答了自己。使用 android 的 API,您无能为力。您应该将更改发布为问题的答案,而不是将答案放在问题本身中。 感谢您的提示,我按照您所说的发布了答案 【参考方案1】:

由于没有人回答我的问题,我浏览了主题标记的整个 *** 问题(android 蓝牙连接),我将分享我的发现。好吧,说实话,我没有找到太多。大多数关于 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 秒),您无法更改任何内容。剩下的就是外围配置了。移动操作系统 API 不允许我们进行低级设置。

如果有人知道更多,请分享!

【讨论】:

以上是关于Android蓝牙BLE我可以修改啥连接的配置参数的主要内容,如果未能解决你的问题,请参考以下文章

Android-Ble蓝牙开发Demo示例–扫描,连接,发送和接收数据,分包解包(附源码)

BLE(蓝牙 4.0)中的即时警报服务和接近配置文件之间有啥关系?

Android BLE蓝牙踩坑总结

Android蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)

BLE入门 14 蓝牙LL层连接

Android-Ble蓝牙通讯开发–扫描,连接,发送和接收数据,分包解包(附源码)