2016-08-08 3 views
0

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

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 отличается для каждого стандарта?

ответ

0

Попробуйте использовать это для передачи 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 

РИСКОВАННАЯ ПОКУПКА: Я не тестировал выше. Дайте мне знать, если это сработает!

Если все идет хорошо, то выше будет посылать:

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

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

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

+0

отлично работает, спасибо :-) – AlWeird