characteristic

Доступ к характеристике на Bluetooth Низкое энергетическое периферийное устройство

Описание

characteristic объект представляет характеристику периферийного устройства Bluetooth® Low Energy. Если считано или запись поддерживаются в объекте Attributes свойство, можно считать характеристические значения с помощью read или можно записать характеристические значения с помощью write. Если характеристика имеет какие-либо дескрипторы, можно также получить доступ к ним использующий descriptor.

Создание

Описание

пример

c = characteristic(b,serviceName,characteristicName) создает объект, который представляет характеристику на периферийном устройстве b использование сервисного имени и характеристического имени. Идентифицируйте serviceName и characteristicName путем просмотра Characteristics свойство ble объект b.

пример

c = characteristic(b,serviceUUID,characteristicUUID) создает объект для характеристики с помощью ее UUID и сервиса UUID. Идентифицируйте serviceUUID и characteristicUUID путем просмотра Characteristics свойство ble объект b.

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

развернуть все

Bluetooth Низкая энергетическая связь периферийного устройства, заданная как ble объект.

Сервисное имя характеристики, заданной как вектор символов или скаляр строки. Идентифицируйте serviceName в Characteristics таблица ble объект, который представляет ваше периферийное устройство. ServiceName списки столбцов допустимые значения.

Для полного списка стандартных сервисов и как интерпретировать их, смотрите веб-сайт SIG Bluetooth. Все службы поддержки в Characteristics таблица имеет имя "Custom" и дифференцируются их значениями UUID. Если сервисным именем является "Custom", затем используйте сервис UUID, чтобы получить доступ к нему.

Пример: c = characteristic(b,"Current Time Service","Current Time") создает объект, который представляет "Current Time" характеристика на "Current Time Service".

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

Характеристическое имя, заданное как вектор символов или скаляр строки. Идентифицируйте characteristicName в Characteristics таблица ble объект, который представляет ваше периферийное устройство. CharacteristicName списки столбцов допустимые значения.

Для полного списка стандартных характеристик и как интерпретировать их, смотрите веб-сайт SIG Bluetooth. Все пользовательские характеристики в Characteristics таблица имеет имя "Custom" и дифференцируются их значениями UUID. Если характеристическим именем является "Custom", затем используйте характеристический UUID, чтобы получить доступ к нему.

Пример: c = characteristic(b,"Current Time Service","Current Time") создает объект, который представляет "Current Time" характеристика на "Current Time Service".

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

Сервис UUID характеристики, заданной как вектор символов или скаляр строки. Идентифицируйте serviceUUID в Characteristics таблица ble объект, который представляет ваше периферийное устройство. ServiceUUID списки столбцов допустимые значения.

Для полного списка стандартных сервисов и как интерпретировать их, смотрите веб-сайт SIG Bluetooth. Если сервисным именем является "Custom", затем используйте сервис UUID, чтобы получить доступ к нему.

Пример: c = characteristic(b,"1805","2A2B") создает объект, который представляет характеристику с UUID "2A2B"на сервисе с UUID "1805".

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

Характеристический UUID, заданный как вектор символов или скалярная строка. Идентифицируйте characteristicUUID в Characteristics таблица ble объект, который представляет ваше периферийное устройство. Допустимые значения - перечисленные под CharacteristicUUID столбец.

Для полного списка стандартных характеристик и как интерпретировать их, смотрите веб-сайт SIG Bluetooth. Если характеристическим именем является "Custom", затем используйте характеристический UUID, чтобы получить доступ к нему.

Пример: c = characteristic(b,"1805","2A2B") создает объект, который представляет характеристику с UUID "2A2B"на сервисе с UUID "1805".

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

Свойства

развернуть все

Это свойство доступно только для чтения.

Характеристическое имя, возвращенное как скаляр строки.

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

Это свойство доступно только для чтения.

Характеристический UUID, возвращенный как скаляр строки. Это значение характерно для каждой характеристики.

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

Это свойство доступно только для чтения.

Характеристические атрибуты, возвращенные как массив строк. Значение этого свойства определяет поведение readзапись, subscribe, и unsubscribe функции. Возможные значения следуют.

ЗначениеОписание
"Read"Характеристика читаема
"Write"Характеристика перезаписываема
"WriteWithoutResponse"Характеристика перезаписываема с неподтвержденными пакетами
"AuthenticatedSignedWrites"Характеристические поддержки подписали записи
"Notify"Характеристика поддерживает уведомление
"Indicate"Характеристика поддерживает индикацию
"Broadcast"Характеристическая широковещательная передача поддержек с рекламными пакетами
"ExtendedProperties"Характеристика содержит ExtendedProperties дескриптор с дополнительными атрибутами
"NotifyEncryptionRequired" (macOS только)Характеристика поддерживает уведомление только от доверенных устройств
"IndicateEncryptionRequired" (macOS только)Характеристика поддерживает индикацию только от доверенных устройств

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

Функция доступных данных, возвращенная как указатель на функцию. Это свойство является пустым массивом, пока вы не присваиваете указатель на функцию. Используйте это свойство в характеристиках, которые поддерживают уведомление и/или индикацию.

Для примера, показывающего, как присвоить коллбэк этому свойству, смотрите Считанные Характеристические Данные из Bluetooth Низкое энергетическое Периферийное устройство Используя Функцию обратного вызова.

Пример:

Запишите функциональный displayHeartRate это читает и отображает данные из характеристики, создайте указатель и присвойте указатель на это свойство.

c.DataAvailableFcn = @displayHeartRate;
Функция вызвана каждый раз, когда новое уведомление или индикация получены. Остановите уведомление или индикацию с помощью unsubscribe.

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

Характеристические дескрипторы, возвращенные как таблица. Чтобы получить доступ к определенному перечисленному в таблице дескриптору, создайте объект с помощью descriptor. Таблица содержит следующие столбцы.

СтолбецОписание
DescriptorNameИмя дескриптора, возвращенного как строка
DescriptorUUIDUUID дескриптора, возвращенного как строка
AttributesСчитайте или запишите полномочия на дескрипторе, возвращенном как массив ячеек

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

Функции объекта

readСчитайте характеристику или данные о дескрипторе по Bluetooth Низкое энергетическое периферийное устройство
writeЗапишите данные к характеристике или дескриптору на Bluetooth Низкое энергетическое периферийное устройство
subscribeПодпишитесь на уведомление или индикацию от характеристики
unsubscribeОтпишитесь из уведомления и индикации от характеристики
descriptorДоступ к дескриптору на Bluetooth Низкое энергетическое периферийное устройство

Примеры

свернуть все

Соедините к соседнему Bluetooth Низкое энергетическое периферийное устройство.

b = ble("DemoDev")
b = 
  ble with properties:

               Name: "DemoDev"
            Address: "FF548EA5658F"
          Connected: 1
           Services: [5×2 table]
    Characteristics: [10×5 table]

Show services and characteristics

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

b.Characteristics
ans=10×5 table
        ServiceName                     ServiceUUID                               CharacteristicName                           CharacteristicUUID                Attributes  
    ___________________    ______________________________________    ____________________________________________    ______________________________________    ______________

    "Generic Access"       "1800"                                    "Device Name"                                   "2A00"                                    {1×2 string  }
    "Generic Access"       "1800"                                    "Appearance"                                    "2A01"                                    {["Read"    ]}
    "Generic Access"       "1800"                                    "Peripheral Preferred Connection Parameters"    "2A04"                                    {["Read"    ]}
    "Generic Access"       "1800"                                    "Central Address Resolution"                    "2AA6"                                    {["Read"    ]}
    "Generic Attribute"    "1801"                                    "Service Changed"                               "2A05"                                    {["Indicate"]}
    "Heart Rate"           "180D"                                    "Heart Rate Measurement"                        "2A37"                                    {["Notify"  ]}
    "Heart Rate"           "180D"                                    "Body Sensor Location"                          "2A38"                                    {["Read"    ]}
    "Battery Service"      "180F"                                    "Battery Level"                                 "2A19"                                    {["Read"    ]}
    "Custom"               "03B80E5A-EDE8-4B33-A751-6CE34EC4C700"    "Custom"                                        "7772E5DB-3868-4112-A1A9-F2669D106BF3"    {1×6 string  }
    "Custom"               "03B80E5A-EDE8-4B33-A751-6CE34EC4C700"    "Custom"                                        "7772E5DC-3868-4112-A1A9-F2669D106BF3"    {1×3 string  }

Этот список показывает все характеристики и их соответствующие сервисы. Некоторые сервисы имеют несколько характеристик. Список также показывает атрибуты для каждой характеристики.

Создайте характеристический объект, который представляет "Battery Level" характеристика.

c = characteristic(b,"Battery Service","Battery Level")
c = 
  Characteristic with properties:

             Name: "Battery Level"
             UUID: "2A19"
       Attributes: "Read"
      Descriptors: []

В качестве альтернативы можно использовать UUIDs вместо имен, чтобы создать объект.

c = characteristic(b,"180F","2A19")
c = 
  Characteristic with properties:

             Name: "Battery Level"
             UUID: "2A19"
       Attributes: "Read"
      Descriptors: []

Этот объект представляет "Battery Level" характеристика. Поскольку это имеет Read припишите, можно использовать read получить характеристическое значение.

Введенный в R2019b