【发布时间】:2016-10-25 11:47:35
【问题描述】:
我正在尝试创建完整的 eddystone Beacon 模拟器。 URL,UID 框架没有问题。 但是当我尝试发出 TLM 额外数据时,没有工作。
BeaconParser extraparser,广告开始时是否包含?
这是我的代码:
//create BeaconParse Like UID and add extraparser for TLM
BeaconParser beaconParser = new BeaconParser();
beaconParser.addExtraDataParser(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_TLM_LAYOUT));
beaconParser.setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT);
BeaconTransmitter mBeaconTransmitter = new BeaconTransmitter(this, beaconParser);
//this is the beacon with info for UID and ExtraData with 5 values of TLM
Beacon beacon = new Beacon.Builder()
.setId1("0x2F234454F4911BA9FFA6")//UID
.setId2("0x0BDB87539B67") //UID
.setManufacturer(0xfeaa) //0x00E0 eddystone
.setBeaconTypeCode(0x00) //0X00 withTLM
.setMultiFrameBeacon(true) //TLM
.setServiceUuid(0xfeaa) //TLM
.setTxPower(-65) //UID
.setDataFields(Arrays.asList(new Long[]{0l}))//?
.setExtraDataFields(Arrays.asList(new Long[]{0L, 3580L,5776L, 289780991L, 28978000L}))//TLM extradata
.build();
//then create the Transmitter and start it
BeaconTransmitter bt = new BeaconTransmitter(this, beaconParser);
bt.startAdvertising(beacon);
问题是当我检测到 Beacon 时,它带有 MExtraDataFields =null;
我认为 TLM 信息不包含在 BeaconTransmitter 发出的广告数据中。
是否支持 TLM 信标传输?是 BeaconTransmitter 限制还是问题是我关心的信标?
也许我需要使用标识符来发送此类信息。
我尝试使用三星 S5 和三星 s7Edge,并使用 2.9.1 版本的 AltBeacon
【问题讨论】: