BeaconParser 实例问题 Android 信标库

BeaconParser instance issue Android beacon library

我正在尝试从发送原始数据的信标收集温度和湿度:

020106 020AFC 0A16 ABFE 70BF01 00DB00DB

其中:

0x02 – length (2 bytes)
0x01 – type (flags)
0x06 – value (BIN=00000110)

0x02 -length (2 bytes)
0x0A type («Tx Power Level»)
0xFC – value (DEC =-4)

0x0A – length (10 bytes)
0x16 - type («Service Data - 16-bit UUID»
0xABFE - UUID = FEAB
0x70 – frame type (temperature and humidity)
0xBF – TX@1m
0x01 – TX power

0x00DB – temperature (DEC=219 = 21.9 C)
0x00DB – humidity (DEC – 219= 21.9C)

我正在尝试构建一个实例,但它看起来不正确,WAIDW?

m:9-10=feab, i:11-14, p:6-6, d:14-17

感谢您的帮助

试试这个:

"s:0-1=feab,m:2-2=70,i:3-8,p:3-3,d:5-6,d:7-8"

该表达式将:

  • 匹配 16 位服务 UUID 0xFEAB(您显示)
  • 确保服务 UUID 之后的第一个字节是 0x70(您显示的)。这将确保它是一个温度和湿度框架
  • 将帧的完整字节放入beacon.getId1()可访问的第一个标识符字段(这不是很有用,但你需要至少有一个标识符字段用于你的信标解析器)
  • 将原始温度值放入 beacon.beacon.getDataFields().get(0)
  • 可访问的第一个数据字段
  • 将原始湿度值放入 beacon.beacon.getDataFields().get(1)
  • 可访问的第二个数据字段