我使用安卓灯塔图书馆AltBeacon。不检测微芯片rn4870,只显示iBeacons。我使用这些BeaconParsers来探测周围的所有信标。有人能解释一下如何检测微芯片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);
发布于 2017-11-18 20:18:10
要明白,微芯片rn4870是蓝牙LE模块,而不一定是信标发射器。您可以使用此硬件构建信标发射机,但这需要将固件加载到它上,以传输特定的信标格式。一旦您这样做,它可能传输iBeacon、AltBeacon或各种Eddystone数据包。
底线:问题不在于问题中所显示的代码,问题就在发送器方面。
https://stackoverflow.com/questions/47369492
复制相似问题