Eddystone,getBeaconAdvertisementData(beacon)是什么意思?

时间:2018-05-31 12:35:11

标签: android accelerometer beacon altbeacon eddystone

我有一个Eddystone,我想获得加速度计值,但我不知道如何继续......我看到我们可以从灯塔获取数据

beacon.getExtraDataFields()

但在我的情况下,即使我在Eddistone中激活加速度计发射,返回的值也是空的 所以我看到了这篇文章:Getting packet data transferred from iBeacon android

但是我的返回值是这样的:c03be53而我不知道这意味着什么...... 你能帮我检索一下加速器数据吗?

这是我的代码:

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

        beaconParsers.add(new BeaconParser().setBeaconLayout(EDDYSTONE_UID_LAYOUT));

        Beacon beacon = null;
        for (BeaconParser parser : beaconParsers) {
            beacon = parser.fromScanData(scanRecord,
                    rssi, device);

            if (beacon != null) {
                if (beacon.getServiceUuid() == 0xfeaa) {
                    // This is Eddystone, which uses a service Uuid of 0xfeaa
                    Identifier eddystoneNamespaceId = beacon.getId1();
                    Identifier eddystoneInstanceId = beacon.getId2();

                    WirelessDevice wirelessDevice = new WirelessDevice(null, beacon.getRssi(), null, eddystoneNamespaceId.toString());
                    mainActivity.addDevice(wirelessDevice);


                    byte[] bytes = parser.getBeaconAdvertisementData(beacon);

感谢&#39; S

1 个答案:

答案 0 :(得分:0)

没有标准方法可以将加速度计数据与包括Eddystone-TLM在内的任何Eddystone格式进行通信。 Eddystone-TLM包括信标温度的字段,但不包括加速度计读数。

在问题下面的评论链接的BNBeacon的文件只提到加速度计在此声明:“Intègre未accéléromètre,联合国vibreur等未蜂鸣器90分贝”上有加速度计做什么没有文档(也许它只是触发灯塔打开?),或者即使其传感器输出完全暴露。输出可能以某种方式以非标准方式编码到标准信标字段中。但没有进一步的制造商文档,这只是猜想。 如何访问加速度计数据可能是制造商必须回答的问题。

parser.getBeaconAdvertisementData(beacon);只会返回信标数据包的原始字节设计用于信标发射器,而不是用于一般数据访问。 使用其中一个已解析的字段可以更轻松地访问相同的信息,例如beacon.getId1()beacon.getId2()beacon.getDataFields().get(0)等。后一种访问方法可让您访问信标布局的解析字段。