相关疑难解决方法(0)

基于RSSI估计信标接近度/距离 - 蓝牙LE

我有一个简单的iOS应用程序,显示它使用诸如"立即","近"等表达式检测到的蓝牙LE信标的接近度.我需要在Android上编写类似的东西.

我已经按照Android开发人员的教程进行了操作,我能够列出检测到的设备,现在想要估算距离/接近度 - 这就是它成为问题的地方.根据这个SO线程,它只是一些数学计算.但是,它们要求我提供txPower值.

根据Dave Smith的本教程(以及与此蓝牙SIG声明的交叉引用),它应该由信标设备广播为类型的"AD结构" 0x0A.所以我所做的是解析AD结构并查找与该类型匹配的有效负载.

问题:我有4个信标 - 2个estimotes和2个appflares.estimotes根本不播放txPower,appflares将它们广播为0.

这里有什么我想念的吗?iOS应用程序似乎没有任何问题处理它,但使用iOS SDK它在幕后做,所以我不知道如何产生完全相同或类似的行为.还有其他方法可以解决我的问题吗?

如果您想查看我用来解析AD结构的代码,可以从前面提到的Dave Smith的github中获取,可以在这里找到.我对该类所做的唯一更改是添加以下方法:

public byte[] getData() {

    return mData;
}
Run Code Online (Sandbox Code Playgroud)

这就是我处理扫描回调的方法:

// Prepare the callback for BLE device scan
this.leScanCallback = new BluetoothAdapter.LeScanCallback() {

    @Override
    public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {

        if (!deviceList.contains(device)) {

            MyService.this.deviceList.add(device);
            Log.e("Test", "Device: " + device.getName());

            List<AdRecord> adRecords = AdRecord.parseScanRecord(scanRecord);

            for (AdRecord adRecord : adRecords) {

                if …
Run Code Online (Sandbox Code Playgroud)

android bluetooth rssi bluetooth-lowenergy android-bluetooth

20
推荐指数
3
解决办法
7万
查看次数

使用蓝牙LE"Proximity"配置文件Android检测接近度

问题定义: 我一直在尝试proximity profile在Android上使用BLE 用于蓝牙LE.一些设备,如新一代谷歌Nexus平板电脑,4.3 Android支持BLE,可以充当central设备.我阅读了蓝牙LE的Android官方文档,但他们似乎没有任何支持.他们的任何解决方法是实现我们自己的接近配置文件?

在Android上讨论邻近配置文件但没有任何帮助的问题

任何帮助表示赞赏.谢谢.

android proximity bluetooth-lowenergy

10
推荐指数
1
解决办法
1万
查看次数