我本仁慈,奈何苍天不许
分类: 嵌入式
2016-07-21 14:11:04
原文地址:BLE-NRF51822教程1-常用概念 作者:ifndef
nordic BLE 交流群498676838
1:主机如何知道外围设备的存在:
外围设备广播信息。
主机主动扫描,外围设备回复扫描响应以告知主机。
2:可发现模式:由广播中的flag标志设置。
有限可发现模式:广播间隔快,但最大只能持续最多30s
通用可发现模式:广播间隔相对较慢,广播没有最大还需时间限制。
3:广播通道:
BLE中有3个广播信道和37个数据信道。每次广播间隔时间到期后会在3个广播信道中发送广播数据
4:广播数据:
BLE链路层最大数据负载是296字节。因为广播数据中需要有设备地址,因此有效数据为31字节。
5:地址:
可以使用随机地址或者注册的public address。
随机地址的最高两个bit为1
6:更多的广播数据:
如果需要广播超过31字节的数据,需要使用扫描响应。主机需要发送扫描请求。
7:广播和扫描参数:
广播间隔:广播的发送周期
扫描间隔:扫描的周期。
扫描窗口:扫描周期到来后,设备扫描持续的时间。
8:连接参数:
连接间隔:连接的周期,设备只能在连接周期到了才能交互数据。
从设备延迟:以连接间隔为单位。该参数表示从设备在必须侦听自己的接收机以接收主设备可能的发送数据之前可以忽略多少个连接事件。
监控超时时间:该时间范围内连接都丢失了则会产生超时事件。
9:通知和指示:
BLE是基于服务器-客户端的方式来传输数据。服务器维护一个属**器,里面包含了服务器公开的状态和信息等。客户端通过属性协议来访问该服务器。该模式中通常都是客户端主动发起,服务器再返回数据。 不过在一些应用中比如电量服务中,我们不可能让客户端(比如手机)去轮训服务器上的电量值,而是应该在电量改变时由服务器主动发送数据给客户端。
通知和指示就是应用于这种应用而创建的有服务器主动发起数据的方式。区别在于通知只发送数据不需确认。而指示需要客户端回复确认,因此被认为是可靠传输。
10: 属性:
一条带有标签的,可以被寻址的数据。由三种数值组成:句柄,类型,值。
11:特性:
可以看成一种或几种属性的组合。包含三个基本要素:声明,数值,描述符。(这三个每个都是一个属性)
声明:一条属性,值域中包含三个字段:特性性质(读/写/通知等等),特性数值句柄(数值属性的地址),属性uuid(用来识别特性数值的类型)。
数值:一条包含特性数值的属性。
描述符:一个特性可以包含0或多个特性描述符。客户端特性配置描述符(CCCD),特性表示描述符等。
12:属性协议(AP),通用属性规范(GATT),通用访问规范(GAP)
低功耗蓝牙采用的是客户-服务器模型,属性协议定义了客户端与服务器如何相互发送符合标准的消息。属性协议由六种基本操作构成:请求,响应,命令,指示,通知,确认。(当然每种操作下又含有不同的‘操作’,比如请求又分读取请求,写入请求等)
通用属性规范:定义了如何发现与使用服务,特性与描述符的标准方法。主要有发现规程(服务,特性的发现),客户端发起规程(客户端的读写等),服务器发起规程(通知,指示)
通用访问规范:定义了设备如何彼此发现,建立连接以及如何实现绑定,同时描述了设备如何成为广播者和观察者,并且实现无连接的数据传输。
13:配对和绑定:
起初并未提供安全性的两个设备如果希望做一些需要安全性的工作,首先必须配对。配对过程 涉及 :配对信息的交换,链路认证。如果设置了绑定位,还会有秘钥的分发,分发的秘钥可以存储下来。当下次需要安全链路时便可不必再次配对。