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

问题描述 投票:1回答:1

我正在开发一个使用蓝牙外设一个LE的应用程序。一切正常,我有特色服务等。我可以从传感器等获得价值。

问题是,在获取值时,app会不时'冻结',有时候外围设备会返回错误的值。我无法弄清楚为什么会这样。

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

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

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

android performance bluetooth bluetooth-lowenergy gatt
1个回答
3
投票

由于没有人回答我的问题,我经历了主题(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不允许我们进行低级别设置。

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

© www.soinside.com 2019 - 2024. All rights reserved.