characteristic
访问低功耗 Bluetooth 外围设备的特征
说明
characteristic
对象表示低功耗 Bluetooth® 外围设备的一项特征。如果对象的 Attributes
属性支持读取或写入,您可以使用 read
读取特征值,或使用 write
写入特征值。如果特征有任何描述符,您也可以使用 descriptor
访问它们。
创建对象
语法
描述
使用服务名称和特征名称创建表示外围设备 c
= characteristic(b
,serviceName
,characteristicName
)b
上的特征的对象。通过查看 ble
对象 b
的 Characteristics
属性,确定 serviceName
和 characteristicName
。
使用 UUID 和服务 UUID 为特征创建对象。通过查看 c
= characteristic(b
,serviceUUID
,characteristicUUID
)ble
对象 b
的 Characteristics
属性,确定 serviceUUID
和 characteristicUUID
。
输入参量
b
— 低功耗 Bluetooth 外围设备连接
ble
对象
低功耗 Bluetooth 外围设备连接,指定为 ble
对象。
serviceName
— 服务名称
字符向量 | 字符串标量
特征的服务名称,指定为字符向量或字符串标量。在表示您的外围设备的 ble
对象的 Characteristics
表中确定 serviceName
。ServiceName
列中列出了有效值。
有关标准服务及其解释的完整列表,请访问 Bluetooth SIG 网站。Characteristics
表中的所有自定义服务都具有名称 "Custom"
,因而这些服务是根据其 UUID 值进行区分的。如果服务名称是 "Custom"
,请使用服务 UUID 来访问它。
示例: c = characteristic(b,"Current Time Service","Current Time")
创建一个对象,该对象表示 "Current Time Service"
上的 "Current Time"
特征。
数据类型: char
| string
characteristicName
— 特征名称
字符向量 | 字符串标量
特征名称,指定为字符向量或字符串标量。在表示您的外围设备的 ble
对象的 Characteristics
表中确定 characteristicName
。CharacteristicName
列中列出了有效值。
有关标准特征及其解释的完整列表,请访问 Bluetooth SIG 网站。Characteristics
表中的所有自定义特征都具有名称 "Custom"
,因而这些特征是根据其 UUID 值进行区分的。如果特征名称是 "Custom"
,则使用特征 UUID 来访问它。
示例: c = characteristic(b,"Current Time Service","Current Time")
创建一个对象,该对象表示 "Current Time Service"
上的 "Current Time"
特征。
数据类型: char
| string
serviceUUID
— 服务 UUID
字符向量 | 字符串标量
特征的服务 UUID,指定为字符向量或字符串标量。在表示您的外围设备的 ble
对象的 Characteristics
表中确定 serviceUUID
。ServiceUUID
列中列出了有效值。
有关标准服务及其解释的完整列表,请访问 Bluetooth SIG 网站。如果服务名称是 "Custom"
,请使用服务 UUID 来访问它。
示例: c = characteristic(b,"1805","2A2B")
创建一个对象,该对象表示在具有 UUID“1805
”的服务上具有 UUID“2A2B
”的特征。
数据类型: char
| string
characteristicUUID
— 特征 UUID
字符向量 | 字符串标量
特征 UUID,指定为字符向量或标量字符串。在表示您的外围设备的 ble
对象的 Characteristics
表中确定 characteristicUUID
。有效值列在 CharacteristicUUID
列中。
有关标准特征及其解释的完整列表,请访问 Bluetooth SIG 网站。如果特征名称是 "Custom"
,则使用特征 UUID 来访问它。
示例: c = characteristic(b,"1805","2A2B")
创建一个对象,该对象表示在具有 UUID“1805
”的服务上具有 UUID“2A2B
”的特征。
数据类型: char
| string
属性
Name
— 特征名称
字符串标量
此 属性 为只读。
特征名称,以字符串标量形式返回。
数据类型: string
UUID
— 特征 UUID
字符串标量
此 属性 为只读。
特征 UUID,以字符串标量形式返回。该值对每个特征唯一。
数据类型: string
Attributes
— 特征属性
字符串数组
此 属性 为只读。
特征属性,以字符串数组形式返回。该属性的值决定 read
、write
、subscribe
和 unsubscribe
函数的行为。可能的值如下。
值 | 描述 |
---|---|
"Read" | 特征为可读 |
"Write" | 特征为可写 |
"WriteWithoutResponse" | 特征对于未确认的数据包是可写的 |
"AuthenticatedSignedWrites" | 特征支持签名写入 |
"Notify" | 特征支持通知 |
"Indicate" | 特征支持指示 |
"Broadcast" | 特征支持用广告数据包进行广播 |
"ExtendedProperties" | 特征包含具有附加属性的 ExtendedProperties 描述符 |
"NotifyEncryptionRequired" (仅限 macOS) | 特征仅支持来自可信设备的通知 |
"IndicateEncryptionRequired" (仅限 macOS) | 特征仅支持来自可信设备的指示 |
数据类型: string
DataAvailableFcn
— 数据可用函数
函数句柄
数据可用函数,以函数句柄形式返回。在为函数句柄赋值之前,此属性是空数组。将此属性用于支持通知和/或指示的特征。
有关如何为此属性指定回调的示例,请参阅使用回调函数从低功耗蓝牙外围设备读取特征数据。
示例:
编写函数 displayHeartRate
,它从特征中读取和显示数据,创建句柄,并将该句柄赋给此属性。
c.DataAvailableFcn = @displayHeartRate;
unsubscribe
停止通知或指示。
数据类型: function_handle
Descriptors
— 特征描述符
表
特征描述符,以表的形式返回。要访问表中列出的特定描述符,请使用 descriptor
创建对象。表包含以下列。
列 | 描述 |
---|---|
DescriptorName | 描述符的名称,以字符串形式返回 |
DescriptorUUID | 描述符的 UUID,以字符串形式返回 |
Attributes | 描述符的读取或写入权限,以元胞数组形式返回 |
数据类型: table
对象函数
read | 读取低功耗 Bluetooth 外围设备上的特征或描述符数据 |
write | 将数据写入低功耗 Bluetooth 外围设备的特征或描述符 |
subscribe | 订阅特征通知或指示 |
unsubscribe | 取消订阅特征通知和指示 |
descriptor | 访问低功耗 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 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)