blelist

Сканирование ближайших периферийных устройств Bluetooth Low Energy

Описание

пример

list = blelist сканирует соседнюю рекламу Bluetooth® Периферийные устройства Low Energy, обнаруженные вашим компьютером. Использовать ble для подключения к периферийному устройству.

пример

list = blelist(Name,Value) сканы с использованием необязательных аргументов пары "имя-значение". Используйте аргументы пары "имя-значение" для поиска конкретных устройств или для более длительного сканирования.

Примеры

свернуть все

Скан ближайших периферийных устройств Bluetooth Low Energy и просмотр рекламных данных устройства.

Использование blelist список всех ближайших периферийных устройств, которые в настоящее время рекламируют данные. Если ваше периферийное устройство уже подключено к другому устройству или приложению, оно может не отображаться в этом списке. Сначала отсоедините периферийное устройство от любых других устройств или приложений, чтобы MATLAB ® обнаружил его.

list = blelist
list=14×5 table
    Index           Name              Address        RSSI    Advertisement
    _____    __________________    ______________    ____    _____________

      1      "Gear Fit2 (E16A)"    "8498663EE16A"    -54     [1×1 struct] 
      2      ""                    "2C4D2724754D"    -69     [1×1 struct] 
      3      ""                    "1B75E09FD18F"    -70     [1×1 struct] 
      4      ""                    "4F7D6DAF9FCE"    -75     [1×1 struct] 
      5      ""                    "7B8ADB5851BD"    -76     [1×1 struct] 
      6      ""                    "1838D92EC312"    -78     [1×1 struct] 
      7      ""                    "6A71507635AC"    -86     [1×1 struct] 
      8      ""                    "68CA4203A060"    -86     [1×1 struct] 
      9      ""                    "65C057AD64E5"    -88     [1×1 struct] 
     10      ""                    "399A1B26F47D"    -88     [1×1 struct] 
     11      ""                    "78BDCC3784C0"    -89     [1×1 struct] 
     12      ""                    "5446498F593E"    -91     [1×1 struct] 
     13      ""                    "67992F048DDB"    -92     [1×1 struct] 
     14      ""                    "3A0DAC7C7DCE"    -94     [1×1 struct] 

Значения RSSI указывают на мощность сигнала. В таблице сначала перечислены устройства с более сильным сигналом. Эти устройства ближе.

Просмотр рекламных данных первого устройства.

list.Advertisement(1)
ans = struct with fields:
                            Type: ["Connectable Undirected"    "Scan Response"]
                      Appearance: "Generic Watch"
              ShortenedLocalName: []
               CompleteLocalName: "Gear Fit2 (E16A)"
                    TxPowerLevel: []
    SlaveConnectionIntervalRange: []
        ManufacturerSpecificData: [0 117 1 0 2 0 1 3 0]
                     ServiceData: []
            CompleteServiceUUIDs: []
          IncompleteServiceUUIDs: []
        ServiceSolicitationUUIDs: []

Если ваше устройство имеет больший рекламный интервал, чем значение тайм-аута по умолчанию три секунды, можно задать большее значение тайм-аута.

list = blelist('Timeout',10);

Можно использовать аргументы пары "имя-значение" для сканирования периферийных устройств Bluetooth Low Energy с заданным префиксом имени или рекламой заданных служб.

Скан периферийных устройств с именами, начинающимися со строки "UA".

list = blelist("Name","UA")
list=2×5 table
    Index           Name               Address        RSSI    Advertisement
    _____    ___________________    ______________    ____    _____________

      1      "UA E39 MODULE"        "84DD20E39AB6"    -84     [1×1 struct] 
      2      "UA Footpod 239AE2"    "0CF3EE239AE2"    -87     [1×1 struct] 

Можно также сканировать периферийные устройства с помощью их служб. Сканируйте устройства, которые рекламируют Heart Rate сервис.

list = blelist("Services","Heart Rate")
list=1×5 table
    Index    Name       Address        RSSI    Advertisement
    _____    ____    ______________    ____    _____________

      1       ""     "84DD20E39AB6"    -85     [1×1 struct] 

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: list = blelist("Name","UA") возвращает все периферийные устройства с именами, которые начинаются с "UA".

Имя периферийного устройства для результатов фильтрации, заданное как разделенная разделенными запятой парами, состоящая из 'Name' и вектор символов или строковый скаляр. Используя этот аргумент пары "имя-значение", перечисляются только периферийные устройства, которые начинаются с заданного значения в именах.

Пример: list = blelist("Name","Pebble") возвращает все периферийные устройства с именами, которые начинаются с "Pebble".

Типы данных: char | string

Имя службы или UUID для фильтрации результатов, заданные как разделенная разделенными запятой парами, состоящая из 'Services' и вектор символов, строковый скаляр, массив ячеек векторов символов или строковых массивов. Использование этого аргумента пары "имя-значение" создает список только периферийных устройств, которые рекламируют все указанные службы.

Пример: list = blelist("Services",["180a","180d"]) возвращает все периферийные устройства, которые рекламируют обе услуги с помощью UUID 180a и 180d.

Пример: list = blelist("Services","Heart Rate") возвращает все периферийные устройства, рекламирующие услугу "Heart Rate".

Типы данных: char | string | cell

Количество времени для сканирования в секундах, заданное как разделенная разделенными запятой парами, состоящая из 'Timeout' и число. Значение должно быть меньше 10 485. Если вы не можете найти устройство используя blelist, попробуйте большее значение для этого параметра.

Пример: list = blelist("Timeout",20) ищет ближайшие периферийные устройства в течение 20 секунд.

Типы данных: double

Выходные аргументы

свернуть все

Список ближайших периферийных устройств, возвращенный как таблица. Таблица имеет следующие столбцы.

Имя периферийного устройства, возвращаемое как строковый скаляр.

Типы данных: string

Идентификатор периферийного устройства, возвращенный как строковый скаляр. В Windows®, это значение является 48-битным MAC-адресом Bluetooth устройства. В macOS это значение является случайным 128-битным адресом OS, назначенным.

Типы данных: string

Сила сигнала в дБ, возвращается как двойной. RSSI является индикатором уровня принимаемого сигнала. В таблице сначала перечислены устройства с более сильным сигналом. Эти устройства ближе к вашему компьютеру.

Типы данных: double

Рекламные данные периферийного устройства, возвращенные как структура. Advertisement содержит информацию о соединении каждого периферийного устройства.

В Windows Type в поле показано состояние соединения, возвращенное в виде строки. Далее приводятся возможные значения.

ЗначениеОписание периферийного устройства
"Connectable Undirected"Может подключиться к компьютеру
"Connectable Directed"Можно подключаться к компьютеру, только если он запрограммирован на это
"Nonconnectable Undirected"Не удается подключиться к компьютеру, но отправляет рекламную информацию
"Scannable Undirected"Не удается подключиться к компьютеру, но можно сканировать
"Scan Response"Отправляет ответ скана на запрос скана

На macOS, Connectable в поле показано состояние соединения, возвращенное в виде числа. 1 указывает true, или connectable, и 0 или любое другое число указывает на ложность или неприемлемость.

Остальная часть полей в Advertisement являются другими рекламными данными, определенными в профиле общего доступа (GAP) Bluetooth SIG. Полный список типов рекламных данных и ссылок на их спецификации см. на сайте Bluetooth SIG.

Типы данных: struct

Введенный в R2019b