2016-06-29 2 views
2

У меня есть две платы: Совет 1: PixiePro работает Arch Linux, Bluez 5.4 | Встроенный адаптер Bluetooth Совет 2: Малина Pi работает Raspbian, Bluez 5.39 | USB Bluetooth DongleПочему два разных адаптера BLE показывают разные устройства при сканировании?

При использовании hcitool для сканирования устройств BLE (iBeacon) на плате 1, я получаю только адрес одного устройства (рис. Ниже).

AC:BC:32:72:8C:6B 

У меня есть более 10 iBeacons, которые должен найти адаптер. Я попытался следующие методы:

Start hcitool lescan, удаление дубликатов

sudo hcitool lescan --duplicates 

single BLE device detected on Board 1 (PixiePro)

Начало hcitool lescan процесс & считывают данные из hcidump

sudo hcitool lescan --duplicates 1>/dev/null & 
sudo hcidump --raw 

single BLE device detected on Board 1, <code>hcidump</code> output

Они оба показывают один или два разных адреса mac. Для разных iBeacons рядом со мной должно быть несколько разных адресов mac.

Здесь выводится совета 2 с помощью USB Bluetooth донгл для сравнения:

sudo hcitool lescan 

basic <code>hcitool lescan</code> in same physical location, from Board 2

Как вы можете видеть, есть довольно много различных устройств, некоторые из которых сразу же идентифицировать как Контакт iBeacons. Примечание: большинство маяков вокруг меня не являются контактами iBeacons

Есть ли параметр, который мне не хватает или нужно включить при использовании hcitool lescan?

ответ

1

Я постараюсь вам помочь с этим.

Похоже, что есть что-то неправильное с устройством PixiePro, однако предоставленной вами информации недостаточно для диагностики проблемы.

Это может быть проблема как с самим устройством, так и с пакетом Bluez или просто потому, что устройства находятся вне видимого диапазона устройства PixiePro.

Для того, чтобы отладить ваш вопрос вы можете попытаться сделать следующее:

  • Прежде всего проверки MAC-адресов, UUID, больших и малых значений из устройств. Обычно эту информацию вы можете найти на веб-портале вашего поставщика iBeacon;

  • Убедитесь, что все устройства включены и работают. Простейший способ: - проверить, обнаружены ли они с помощью мобильного телефона.Вы можете установить free iOS или Android приложение. Вы должны иметь возможность обнаруживать все ваши устройства. Также проверьте значения RSSI для каждого устройства iBeacon. Обратите внимание, что значения будут отличаться, хотя они могут находиться на одном и том же расстоянии от телефона до iBeacon. Однако поведение, когда вы перемещаете их дальше или ближе к принимающему устройству, должно быть четко распознано мобильным приложением;

  • После того, как вы 100% уверены, что все IBeacon устройств работает должным образом, вы должны быть в состоянии обнаружить MAC-адрес на устройствах борта. Чтобы сделать это, я рекомендую запустить hcitool в первом окне терминала и инструменте hcidump во втором без дополнительных параметров. В отличие от команды hcitool он будет также выводить значения RSSI захваченных пакетов, как это:

    HCI Event: LE Meta Event (0x3e) plen 42 
    LE Advertising Report 
    ADV_NONCONN_IND - Non connectable undirected advertising (3) 
    bdaddr 02:AB:26:D4:9A:EE (Public) 
    Flags: 0x1a 
    Unknown type 0xff with 25 bytes data 
    RSSI: -72 
    

Эти значения помогут вам сравнить поведение сканирования на различных устройствах. НЕ ожидайте, что они будут одинаковыми везде, это просто относительные значения. Теперь попробуйте переместить каждое из ваших устройств рядом с принимающей (ыми) доской (-ами), и вы должны увидеть его mac-адрес на выходе инструмента hcidump.

  • В этом случае, если вы все еще не видите свое IBeacon устройств, то для уверен есть проблема где-то в ваших советах. Это может быть либо аппаратное или программное обеспечение . Здесь я бы рекомендовал:

    1. Установите последнюю версию прошивки, которая может исправить ошибки в BLE стека реализации.
    2. Если этот подход не помогает, значит, проблема находится где-то в аппаратном обеспечении, и поэтому единственное, что вы можете сделать, это заменить ваше устройство на плате.

Успехов!

Если возникнут вопросы, вы можете задать вопрос!

Смежные вопросы