exponenta event banner

blelist

Сканировать близлежащие периферийные устройства Bluetooth с низким энергопотреблением

Описание

пример

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

пример

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

Примеры

свернуть все

Просканируйте ближайшие периферийные устройства Bluetooth с низким энергопотреблением и просмотрите данные рекламы устройств.

Использовать 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-битным назначенным ОС адресом.

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

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

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

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

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

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

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

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

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

Представлен в R2019b