Отправить кадр eddystone uid с помощью hcitool

Я хочу отправлять кадры Eddystone UID, а также кадры iBeacons, и если я правильно понимаю, я могу сделать и то, и другое с помощью hcitool. Я могу отправить кадр с помощью iBeacon из моего Debian, и он отображается правильно, но как я могу отправить его со стандартом Eddystone. Есть ли также какая-нибудь таблица преобразования, которая могла бы преобразовать мощность Tx от iBeacon (расстояние от 1 м) или Eddystone (в 0 м) к другому стандарту?

hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 12 34 00 01 66 00

я тоже правильно понимаю, что ловля кадра в iOS или Android для каждого стандарта разная?


person AlWeird    schedule 08.08.2016    source источник


Ответы (1)


Попробуйте использовать это для передачи Eddystone-UID:

 hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 06 03 03 aa fe 15 16 aa fe 00 e7 00 01 02 03 04 05 06 07 08 09 01 02 03 04 05 06

ПРЕДОСТЕРЕЖЕНИЕ EMPTOR: я не проверял вышеуказанное. Дайте мне знать, если это сработает!

Если все пойдет хорошо, вышеперечисленное отправит:

  • 10-байтовый идентификатор пространства имен 00010203040506070809
  • 6-байтовый идентификатор экземпляра 010203040506
  • нулевой уровень мощности Tx метра e7 (-25 дБм).

Чтобы преобразовать нулевой уровень мощности передачи для Eddystone (например, -25 дБм) в уровень мощности передачи один метр для iBeacon и AltBeacon, просто вычтите 41 дБм. Таким образом, -25 дБмВт на нуле метров становится -66 дБмВт.

В iOS вы должны использовать API CoreLocation для обнаружения iBeacon и CoreBluetooth для обнаружения Eddystone (возможно, с помощью API более высокого уровня, такого как Google Proximity API или AltBeacon Инструменты маяка). В Android есть несколько инструментов, позволяющих обнаруживать оба типа фреймов. Я вставлю бесстыдную заглушку для своей собственной Android Beacon Library.

person davidgyoung    schedule 08.08.2016