gpt4 book ai didi

altbeacon - 使用 AltBeacon 解析 Estimote Nearable

转载 作者:行者123 更新时间:2023-12-02 03:16:26 25 4
gpt4 key购买 nike

我正在尝试使用 Altbeacon 解析 Estimote Nearable 数据包格式:

我有 IBeacon 的引用:

// Apple iBeacon
beaconManager.getBeaconParsers().add(new BeaconParser()
.setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));

这是我用 hci 转储工具捕获的十六进制示例:

04 3E 2A 02 01 03 01 47 CC 3B D4 23 DF 1E 02 01 04 1A FF 4C 
00 02 15 D0 D3 FA 86 CA 76 45 EC 9B D9 6A F4 49 78 49 E0 E7
74 4D 13 BF BD

可以清楚的看到02 15字节匹配那个beacon格式;

现在我正在尝试匹配 Estimote Nearable:

数据包格式:

04 3E 2B 02 01 03 01 47 50 19 A9 6E DF 1F 02 01 04 03 03 0F 
18 17 FF 5D 01 01 49 78 49 E0 E7 74 4D 13 04 01 90 61 AF FF
01 41 46 00 57 B9

但是我无法使用这段代码得到任何东西:

        beaconManager.getBeaconParsers().add(new BeaconParser()
.setBeaconLayout("s:4-5=5d01,m:6-6=01,i:7-15,p:25-25,d:15-26"));

我使用这个资源来理解数据包格式: https://github.com/sandeepmistry/node-bleacon/blob/master/estimote-sticker/estimote-sticker.js#L53

有人可以指出我的 Beacon Lahyout 有什么问题吗?

最佳答案

尝试以下解析器表达式:

new BeaconParser()
.setBeaconLayout("m0-2=5d0101,i=3-11,d=12,d=13,d=14-15,d=16,d=17,d=18,d=19,d=20,p=21")

编辑:根据下面的评论,我修改了这里的表达式:

new BeaconParser()
.setBeaconLayout("m2-6=02155d0101,i=7-14,d=16-16,d=17-17,d=18-19,d=20-20,d=21-21,d=22-22,d=23-23,d=24-24,p=25-25")

编辑 2: 基于评论中报告的字节序列:

02010403030f1817ff5d01018fc81ebfbebb57d30482855135ff00bd580157

试试这个表达式:

new BeaconParser()
.setBeaconLayout("m1-2=0101,i=3-11,d=12-12,d=13-13,d=14-15,d=16-16,d=17-17,d=18-18,d=19-19,d=20-20,p=21-21")

这可能有效也可能无效。以上假定问题中提供的链接中定义的数据包格式 ( https://github.com/sandeepmistry/node-bleacon/blob/master/estimote-sticker/estimote-sticker.js#L53 ) 是正确的,我已将其转换为此处的偏移量表:

0-1: 5d01 (Bluetooth SIG manufacturer id for Estimote)
2: 01 (nearable protocol version)
3-11: identifier
12: firmware version
15: temperature
14-15: battery and moving indicator
16: acceleration x
17: acceleration y
18: acceleration z
19: current motion state duration
20: previous motion state duration
21: power and firmware state

上面定义的布局将返回一个具有单个标识符字段和 8 个映射到的数据字段的信标实例:

Data Field #   Meaning
1 firmware version
2 temperature
3 battery and moving indicator
4 acceleration x
5 acceleration y
6 acceleration z
7 current motion state duration
8 previous motion state duration

您必须根据从数据包中解析出的原始值正确解码数据字段的含义。

上述解析器可能无法正确估计距离,因为功率校准字段 (p=21) 似乎不是标准格式(如 AltBeacon、iBeacon 和 Eddystone 使用的格式)的盒子。

关于altbeacon - 使用 AltBeacon 解析 Estimote Nearable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com