当前位置: 首页 > 知识库问答 >
问题:

无法用Altbeacon检测信标(TI SensorTag CC2650)

岳涵煦
2023-03-14

我试图用Altbeacon库检测TI SensorTag作为iBeacon。

我已经实现了Altbeacon教程中的代码,并尝试解析为iBeacon布局,如本文所述:

但是,

Collection<Beacon> beacons = 0 

尽管我可以在日志文件中找到信标,如下所示:

D/BluetoothlesCanner:onScanResult()-ScanResult{mdevice=a0:e6:f8:b6:62:01,mscanRecord=scanRecord[madvertseflags=5,mserviceuuids=[0000AA80-0000-1000-8000-00805f9b34fb],mmacturnerspecificData={13=[3,0,0]},mserviceData={},mtxPowerLevel=0,mdeviceName=CC2650 SensorTag,mrssi=-36,

我的代码如下所示:

public class BeaconActivity extends Activity implements BeaconConsumer {

    private final static int REQUEST_ENABLE_BT = 1;
    private static final String TAG = "BeaconActivity";

    private BeaconManager beaconManager = null;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_beacon);
        beaconManager = BeaconManager.getInstanceForApplication(this);
        beaconManager.getBeaconParsers().add(new BeaconParser().
                setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
        beaconManager.bind(this);
    }

    @Override
    public void onBeaconServiceConnect() {
        beaconManager.setRangeNotifier(new RangeNotifier() {
            @Override
            public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
                Log.d(TAG, "onBeaconService");
                if (beacons.size() > 0) {
                    Beacon firstBeacon = beacons.iterator().next();
                    Log.i(TAG, "The first beacon " + firstBeacon.toString() + " is about " + firstBeacon.getDistance() + " meters away.");
                }
            }
        });

        try {
            beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));

        } catch (RemoteException e) {
            Log.v(TAG, "Error whilte trying to startRangingBeaconsInRegion: ", e);
        }
    }

共有1个答案

柴赞
2023-03-14

下面所示的日志线指示检测到的BLE分组不是信标传输。这可能意味着SensorTag没有装载正确的固件作为信标传输。

D/BluetoothlesCanner:onScanResult()-ScanResult{mdevice=a0:e6:f8:b6:62:01,>mscanRecord=scanRecord[madverseflags=5,mserviceuuids=[0000AA80-0000-1000->8000-00805f9b34fb],mmacturnerspecificData={13=[3,0,0]},mserviceData={},>MTXPowerLevel=0,mdeviceName=CC2650 SensorTag],mssi=-36,

以上表示检测到的SensorTag传输正在发送GATT服务UUID和制造商Texas Instruments的制造商广告,其数据字节为3:03,00,00。该传输不对应于任何已知的信标格式。

 类似资料:
  • 我已经准备了一个实现altbeacon库的服务,相关部分如下所示: 我从中看到信标并获得RSSI值的回调如下所示: 我有什么问题?运行该应用程序时,我注意到在didRangeBeaconsInRegion,我经常看不到所有的信标。 如何通过始终能够检测到所有信标来提高扫描频率? 使用的altbeacon版本: Android版本:9 谢谢

  • 目前,我正在做一个项目,使用android手机来检测iBeacons,并从iBeacon读/写uuid、主要次要信息等 我是相当新的Android开发和iBeacons,请让我知道如果你需要额外的要求。谢谢你的帮助。

  • 使用https://altbeacon.github.io/android-beacon-library/samples.html中的代码试图检测IBeacon发射器,该发射器是iOS8,如下http://blog.passkit.com/configure-iphone-ibeacon-transmiter/,在哪一步出错了,我需要在区域中使用BeaconIdentifier作为mymonito

  • 库继续正确扫描,但在此模式下没有检测到信标。 我尝试实现 谢谢阅读,希望你能帮上忙。

  • 对于iOS对希望扫描BLE信标\外围设备的应用程序所应用的限制,存在很多困惑。在阅读了几个博客和堆栈溢出的答案之后,我想看看我是否正确理解了所有问题。如果我有什么误解或遗漏,请纠正我。我只提到iOS 7及以上版本,重点是检测而不是连接(您可以使用iBeacon监控连接到CLBeacon吗 信标的选项是明确的-使用通用BLE外围设备或使用iBeacon格式播发的BLE外围设备(此外,非标准外围设备可