characteristics
¶
该模块提供在服务中使用的核心 BLE 特征类。
-
class
Characteristic
(*, uuid=None, properties=0, read_perm=<Attribute.OPEN: 17>, write_perm=<Attribute.OPEN: 17>, max_length=None, fixed_length=False, initial_value=None)¶ 执行基本绑定的顶级特征类。
参数: - uuid (UUID) – 特征的 uuid
- properties (int) – 特性的属性,指定为这些值的位掩码按位或组合在一起:
BROADCAST
,INDICATE
,NOTIFY
,READ
,WRITE
,WRITE_NO_RESPONSE
. - read_perm (int) – 指定客户端是否可以读取特征,如果可以,需要哪种安全模式。必须是整数值
Attribute.NO_ACCESS
,Attribute.OPEN
,Attribute.ENCRYPT_NO_MITM
,Attribute.ENCRYPT_WITH_MITM
,Attribute.LESC_ENCRYPT_WITH_MITM
,Attribute.SIGNED_NO_MITM
, orAttribute.SIGNED_WITH_MITM
. - write_perm (int) – 指定客户端是否可以写入特征,如果可以,需要哪种安全模式。允许的值与 相同
read_perm
. - max_length (int) – 特征值的最大长度(以字节为单位)。BLE 规范允许的最大值为 512。在 nRF 上,如果
fixed_length
是True
,则最大值为 510。默认值为 20,这是适合单个 BLE 4.x ATT 数据包的最大数据字节数。 - fixed_length (bool) – 如果特征值是固定长度,则为真。
- initial_value (buf) – 此特性的初始值。如果没有给出,将用零填充。
-
BROADCAST
¶ 属性:允许在广告包中
-
INDICATE
¶ 属性:服务器将在设置值时向客户端指示并等待响应
-
NOTIFY
¶ 属性:服务器会在设置值时通知客户端
-
READ
¶ 属性:客户端可以读取这个特性
-
WRITE
¶ 属性:客户端可以写这个特性;回复将被发回
-
WRITE_NO_RESPONSE
¶ 属性:客户端可以写这个特性;不会回复任何回复
-
class
ComplexCharacteristic
(*, uuid=None, properties=0, read_perm=<Attribute.OPEN: 17>, write_perm=<Attribute.OPEN: 17>, max_length=20, fixed_length=False, initial_value=None)¶ 进行复杂绑定的特征类,其中子类返回一个完整的对象以与特征数据进行交互。一旦特性被绑定到相应的实例属性,它就会被隐藏起来。
-
bind
(service)¶ 将特征绑定到给定的本地服务或远程特征对象。
-
-
class
StructCharacteristic
(struct_format, *, uuid=None, properties=0, read_perm=<Attribute.OPEN: 17>, write_perm=<Attribute.OPEN: 17>, initial_value=None)¶ 具有固定格式的结构的数据描述符。
参数: - struct_format –
struct
描述如何将多个值打包到特征字节串中的格式字符串 - uuid (UUID) – 特征的 uuid
- properties (int) – 见
Characteristic
- read_perm (int) – 见
Characteristic
- write_perm (int) – 见
Characteristic
- initial_value (buf) – 见
Characteristic
- struct_format –
int
¶
该模块提供可直接用作属性的整数特征。
-
class
IntCharacteristic
(format_string, min_value, max_value, *, uuid=None, properties=0, read_perm=<Attribute.OPEN: 17>, write_perm=<Attribute.OPEN: 17>, initial_value=None)¶ 不同类型整数字段的超类。
-
class
Int8Characteristic
(*, min_value=-128, max_value=127, **kwargs)¶ Int8 number.
-
class
Uint8Characteristic
(*, min_value=0, max_value=255, **kwargs)¶ Uint8 number.
-
class
Int16Characteristic
(*, min_value=-32768, max_value=32767, **kwargs)¶ Int16 number.
-
class
Uint16Characteristic
(*, min_value=0, max_value=65535, **kwargs)¶ Uint16 number.
-
class
Int32Characteristic
(*, min_value=-2147483648, max_value=2147483647, **kwargs)¶ Int32 number.
-
class
Uint32Characteristic
(*, min_value=0, max_value=4294967295, **kwargs)¶ Uint32 number.