科学健康资讯 · 内容仅供参考,不替代专业诊疗 联系我们|疾病百科
操作系统

number_format(number_format()函数不可以对字符串进行处理)

2023-05-01 操作系统 本文链接

蓝牙协议栈笔记(十一)ATT层与GATT层之二

GATT层定义了一个使用前述AttributeProtocol PDUs(数据包)的服务框架(framework)。在此框架上定义服务(service)及其特性(characteristic)的格式(format)与规程(proced-ure),来完成发现、读写、通知、指示、配置广播等通信行为规范(profile)。

GATT层的核心是上述静态的格式与动态的规程。注意理解掌握以下几点:

1、GATT层可视为ATT层的实例化,依然基于服务器和客户端模型。如[3]中的图1。1)注意其中两种不需应答的单向通信过程:命令(Command)和通知(Notification)。2)由于这种非对称性的设计,如[3]中的图2,就有了规程在服务器和客户端是否需要强制或可选的配置选择,如图9中的表4.1。3)服务器中的各种服务构成组合,客户端可以按需索取,如[3]中的图3。

2、GATT规范的层次结构清晰,如图4。主要是服务(Service)和特性(Characteristic)两大部分。其中服务包括首要服务和次要服务,两者之间是包含(include)的关系。这类似主要文件和附属辅助文件的关系,也类似编程中的include,详细描述和实例参见[1]。而特性则是更详细的刻画。在[6]中的UUID定义如图5中红框部分。服务具体的格式如图6。

3、特性主要包括性质(Properties)、值(Value)、描述符(Descriptor),如图7。性质是对值和描述符使用权限的修饰,如广播、读写通知等等;值是实际要传递的内容;描述符主要是对特性描述的细化以及用户、服务器、客户端等相关的配置,一共有六种。如图8。描述符UUID如图5中蓝框部分。相对服务而言,特性就像文件中的具体内容。

以上是规范的完整格式构成。正如图2所示,可以把它理解成静态地存储在服务器上。那么动态地在服务器客户端之间完成通信的是规程。规程可以通过两个映射和两个小结来理解。参见图9,该图中图表完整来源见引用。

4、 第一个映射是功能(Feature)对子规程(Sub-Procedure)的映射。第二个映射是子规程对PDUs的映射。实际上是PDUs配对组合构成子规程,子规程分类组合构成不同的功能(一共11种)。图中上半部分是两个映射,两者之间是关联的。

5、以其中“通过服务UUID发现首要服务”为例,在表4.2中它包含黄框中三个部分的PDUs,这三个部分对应的属性操作码是表3.37中黄框部分,紫色为对应的操作码值。

6、在引用(1)的PDF文件中点击4.4.2节,进入具体的说明和实例。如图中图4.3,可以看到客户端与服务器之间的交互。两次发起请求和响应,第一次成功,第二次失败并返回错误码。这对应表3.38中的请求和响应的定义。

7、在图4.3实例中具体错误响应是“属性没找到”,图中绿框部分。查表3.3中错误码具体值为0X0A。再加上如图说明部分第1条的查表和假设部分。图4.3所有的请求和响应都可以用十六进制码表示。也就有了说明部分第2、3条两种含义。

引用:

(1)GATT feature mapping to procedures 参考资料[5] P2246-2247

(2) GATT Procedure mapping to ATT protocol opcodes 参考资料[5] P2272-2274

(3) Attribute Protocol Summary 参考资料[5] P2211-2212

(4) Attribute Request and Response Summary 参考资料[5] P2213-2215

(5) Error Codes 参考资料[5] P2183-2184

参考资料:

[1]《低功耗蓝牙开发权威指南》

[2]《BLE低功耗蓝牙技术开发指南》

[3]《Inside Bluetooth Low Energy》

[4] BLE4.0低功耗蓝牙协议总结(网络资料 作者:刘权)

[5] BLUETOOTH CORESPECIFICATION Version 5.0

[6] 16-bit UUID Numbers Document Revision Date: 2021-3-2

2021.03.28

From November 3 to 8, join the International educational campaign "Big ethnographic dictation". The project allows not>

什么是“抽认卡”(中英对照)

抽认卡或闪卡,是指在两侧都带有信息的卡,旨在用作记忆的辅助工具。 每个抽认卡的一侧都有一个问题,而另一侧则有一个答案。 抽认卡通常用于记忆词汇、历史日期、公式,或可以通过问答方式学习的任何主题。 抽认卡可以是虚拟的(抽认卡软件的一部分),也可以是物理的。

抽认卡是测试效果的一种应用----已经发现在某些学习阶段中,专门通过具有适当反馈的测试来检索信息时,可以增加长期记忆。 学习习惯会影响抽认卡用户的学习速度,并且已证明抽认卡的适当间距可加快学习速度。 现已存在许多利用此原理的,间隔且重复的软件程序。

~~~

A flashcard or flash card is a card bearing information on both sides, which is intended to be used as an aid in memorization. Each flashcard bears a question>

本文内容仅供健康科普参考,不能替代专业医疗诊断和治疗建议。如有身体不适,请及时就医并遵从医师指导。

相关阅读