Разобрать следующий пакет ibeacon
Я пытаюсь разобрать этот пакет ibeacon, полученный при сканировании через сокет hci
b'\x01\x03\x00\x18\xbe\x99m\xf3\x14\x1e\x02\x01\x1a\x1a\xffL\x00\x02\x15e\xec\xe2\x90\xc7\xdbM\xd0\xb8\x1aV\xa6-b 2\x00\x00\x00\x02\xc5\xcc'
шестнадцатеричный формат 01 03 00 18 be 99 6d f3 14 1e 02 01 1a 1a ff 4c 00 02 15 65 ec e2 90 c7 db 4d d0 b8 1a 56 a6 2d 62 20 32 00 00 00 02 c5 cc
параметры после применения синтаксического анализатора: "UUID": "65ece290c7db4dd0b81a56a62d622032", "MAJOR": "0000", "MINOR": "0002", "TX": -59, "RSSI": -60. Я не уверен, что RSSI часть этого анализа верна.
Ссылаясь на этот /questions/33144462/chto-takoe-profil-bluetooth-ibeacon/33144474#33144474 последний бит рекламного пакета маяка является значением мощности передачи. Итак, как мы можем получить значение RSSI? здесь я взял RSSI, чтобы быть cc
и TX, чтобы быть c5
, Это правильно?
1 ответ
Перед последовательностью рекламы производителя, показанной ниже, есть заголовки флагов, но вы действительно не заботитесь о флагах. Вот байты, которые вас интересуют:
ff # manufacturee adv type
4c 00 # apple Bluetooth company code
02 15 # iBeacon type code
65 ec e2 90 c7 db 4d d0 b8 1a 56 a6 2d 62 20 32 # proximity uuid
00 00 # major
00 02 # minor
c5 # measured power (tx power)
cc # crc
Близость UUUD: 65ece290-c7db-4dd0-b81a-56a62d622032, мажор: 0, минор: 2, измеренная мощность: -59 дБм
RSSI не является частью передаваемого пакета, а измерением, полученным приемником на основании уровня сигнала. Обычно это будет немного другое значение для каждого полученного пакета. Вы получаете это значение из API на мобильном устройстве или встроенной системе, которое извлекает его из чипа Bluetooth.