exponenta event banner

особенность

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

Описание

A characteristic объект представляет характеристику периферийного устройства Bluetooth ® с низким энергопотреблением. Если в объекте поддерживается чтение или запись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 в столбце перечислены допустимые значения.

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

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

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

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

Полный список стандартных характеристик и способов их интерпретации см. на веб-сайте Bluetooth SIG. Все пользовательские характеристики в 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 в столбце перечислены допустимые значения.

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

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

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

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

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

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

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

Свойства

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

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

Имя характеристики, возвращаемое как строковый скаляр.

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

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

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

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

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

Атрибуты признаков, возвращаемые в виде массива строк. Значение этого свойства определяет поведение read, write, 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: []

Кроме того, для создания объекта можно использовать UUID вместо имен.

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

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

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

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