BLE核心概念

1 Profile 一种规范,一种通信协议,profile存放在从机中,SIG规定了一些协议包括:心率计、防丢器等。

2 Service 一种服务,在BLE从机中存在多个服务,包括电量信息服务器,系统信息服务,每个Service中包含多个Characteristic,每个具体的Characteristic的值才是BLE通信的主体。比如当前的电量是80%,会通过电量的Characteristic特征值存在从机的Profile里面,这样,主机就可以通过这个Characteristic值活的从机的80%电量值。

3 Characteristic BLE主从机通信均是通过Characteristic实现的,可以理解成为一个标签,通过标签可以得到想要的内容。

4 UUID 唯一识别码,上面的Service和Characteristic均需要通过一个UUID来识别。UUID为128,但是在BLE中,UUID通常用16位,也就是双字节来代替,16位与128位可以相互转化。

综上所述:

每个从机由一个或者多个profile构成,每个profile由一个或者多个Service构成,每个Service由多个Characteristic构成,主机和从机通信均是由Characteristic实现。

有关GATT Profile内容
现在通用的BLE一般都是建立在GATT(Generic Attribute Profile)协议上。GATT是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范。每个数据段被称为Attribute。

GAP
GAP用来控制设备的连接和广播。GAP是你的设备被其它设备可见,并决定了你的设备是否被其它设备可见,以及与其它设备如何交互。
GAP给设备定义了若干角色,主要包括Peripheral(外围设备)和Central(中心设备)。
外围设备:一般是非常小或者简单的低功耗的设备,用来提供数据,并连接到一个相对强大的中心设备。
中心设备:中心设备相对比较强大,用来连接其它外围设备,例如手机等。
广播数据
外围设备由两种向外的广播数据:Advertising Data Payload(广播数据)和Scan Response Data Payload(扫描回复),每种数据最长可以包含31byte。这里广播数据是必须的。因为外设必须不停的向外广播,让中心设备知道它的存在。扫描回复是可选的。

GATT
GATT(Generic Attribute Profile)普通属性协议,它定义两个BLE设备通过Service和Characterisitic来进行通信,使用ATT(Attribute Protocol)协议,ATT协议把Service、Characterisitic数据保存在查找表中,使用16bitID座位每一项的索引(UUID),一旦两个设备建立连接,GATT开始起作用。同时需要注意的是GATT连接是独占的,也就是说一个BLE外设同时只被一个中心设备连接,一旦外设被连接,它马上就会停止广播,这样它就对其它设备不可见了。当设备断开,它又开始广播。一个中心设备可以连接多个外设。
GATT结构如下

欢迎留言

avatar
  Subscribe  
Notify of