[英]AltBeacon not detect Micropchip rn4870 beacon, detect only iBeacons
我使用Android Beacon庫AltBeacon。 未檢測到Microchip rn4870 ,僅顯示iBeacon。 我使用這些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);
了解Microchip rn4870是Bluetooth LE模塊,不一定是信標發送器。 您可以使用此硬件構建信標發送器,但是需要在其上加載固件以發送特定的信標格式。 一旦這樣做,它可能會傳輸iBeacon,AltBeacon或各種Eddystone數據包。
底線:問題與問題中顯示的代碼無關,問題出在發送方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.