AltBeacon不检测微芯片rn4870信标,仅检测iBeacons

时间:2017-11-18 18:19:25

标签: java android altbeacon

我使用Android Beacon Library AltBeacon。 未检测到Microchip rn4870 ,仅显示iBeacons。我使用这些BeaconParsers来检测周围的所有信标。有人可以解释我如何检测 Microchip rn4870

    beaconManager = BeaconManager.getInstanceForApplication(this);
    // To detect proprietary beacons, you must add a line like below corresponding to your beacon
    // type.  Do a web search for "setBeaconLayout" to get the proper expression.

    ArrayList<BeaconParser> parsers = new ArrayList<>();

    parsers.add(new BeaconParser().setBeaconLayout("m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));
    parsers.add(new BeaconParser().setBeaconLayout("x,s:0-1=feaa,m:2-2=20,d:3-3,d:4-5,d:6-7,d:8-11,d:12-15"));
    parsers.add(new BeaconParser().setBeaconLayout("s:0-1=feaa,m:2-2=00,p:3-3:-41,i:4-13,i:14-19"));
    parsers.add(new BeaconParser().setBeaconLayout("s:0-1=feaa,m:2-2=10,p:3-3:-41,i:4-20v"));
    parsers.add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
    parsers.add(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT));
    parsers.add(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_TLM_LAYOUT));
    parsers.add(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_URL_LAYOUT));
    parsers.add(new BeaconParser().setBeaconLayout(BeaconParser.URI_BEACON_LAYOUT));
    parsers.add(new BeaconParser().setBeaconLayout(BeaconParser.ALTBEACON_LAYOUT));

    beaconManager.getBeaconParsers().addAll(parsers);
    beaconManager.bind(this);

1 个答案:

答案 0 :(得分:0)

了解Microchip rn4870是蓝牙LE模块,不一定是信标发射器。您可以使用此硬件构建信标发射器,但这需要在其上加载传输特定信标格式的固件。一旦这样做,它可能会传输iBeacon,AltBeacon或各种Eddystone数据包。

底线:问题不在于问题中显示的代码,问题出在发送端。