您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页BLE4.0教程二蓝牙协议之服务与特征值分析

BLE4.0教程二蓝牙协议之服务与特征值分析

来源:筏尚旅游网
BLE4.0教程⼆蓝⽛协议之服务与特征值分析

1.关于服务与特征值的简述

之前说到蓝⽛的连接过程,那蓝⽛连接之后具体是如何传数据的呢。这⾥做⼀下简要说明。

蓝⽛4.0是以参数来进⾏数据传输的,即服务端定好⼀个参数,客户端可以对这个参数进⾏读,写,通知等操作,这个东西我们称之为特征值(characteristic),

但⼀个参数不够我们⽤,⽐如我们这个特征值是电量的值,另⼀个特征值是设备读取的温度值。那这时候会有多个特征值,并且我们还会对它们分类,分出来的类我们称之为服务(service)。

⼀个设备可以有多个服务,每⼀个服务可以包含多个特征值。为了⽅便操作,每个特征值都有他的属性,例如长度(size),权限(permission),值(value),描述(descriptor),如下图。

2.ATT与GATT

我们刚才介绍服务与特征值,那具体我们是怎么去实现的呢.

蓝⽛4.0版本推出了低功耗规范,引⼊了两个核⼼协议:ATT(Attribute Protocol)和GATT(Generic Attribute Protocol).这两个协议主要⽬标是BLE,但是也可以运⾏在传统蓝⽛上(BR/EDR)。

ATT主要是规定了\"属性\"的定义,GATT则是将这些\"属性\"包装成我们上⾯所讲的服务、特征值等。

那我们是怎么搭建起来我们的服务的呢?

⼤概可以概述为,由⼀个个属性搭建起来的东西。如下图,每⼀个属性就会告诉使⽤者说,我是什么,我带有什么,你能对我做什么,即描述,值,权限序号属性1属性2

描述

我是 服务A的开头我是 特征值1的开头

权限只读只读

服务号0001

特征值1的值放在属性3⾥特征值1的值类型特征值1的值权限0关闭………

服务号0002

属性3属性4属性5属性6属性7属性8

我是 特征值1的值

我是 特征值1的特殊操作

我是 特征值2的开头我是 特征值2的值

我是 特征值2的特殊操作

我是 服务B的开头

/读写只读/读写只读

上图是⼀个简单的表述,真正的属性表如下图。

Handle

Type

…0x2800

Permission

Value

…E0:FF(2 bytes)

39

(GATT Primary Service

UUID)

0x2803

Read

(0xFFE0 = simple keys service custom UUID)

10:29:00:E1:FF(5 byte)

(0xFFE1 = Simple keys value custom UUID)

Read

(0x0029 = handle 41)

(0x10 = characteristic properties :notify only)

00(1 byte)

(none)

(value indicates states of keys)

00:00(2 byte)

Read andWrite

(value indicates whether notifications orindications are enabled)

A1:DD(2 byte)

Read

(0xDDA1 = Other Service custom UUID)

40

(GATT CharacteristicDeclaration UUID)

0xFFE1

41

(simple keys state)

0x2902

42

(GATT Client Characteristic

Configuration UUID)

0x2800

43

(GATT Primary Service

UUID)

属性的定义是这样的

Handle

Handle: 其实上⾯那张属性表,在程序⾥只是⼀个数组⽽已,所以Handle这个值其实我们是不需要专门去存的,他只是⼀个索引⽽已。Type:属性的类型,也即UUID ,蓝⽛标准组织已经对UUID进⾏了分类。

Type

Permission

Value

如上表中,服务的Type就是0X2800,所以每到⼀个服务,就会有⼀个Type类型为0x2800的属性出现。 ⽽特征值Declaration 的Type就是0x2803。⾄于特征值Value的Type可以是⽤户⾃定义的。Permission:属性的访问权限,⼀般有Read、Write、 notifications、 indicationsValue:属性的值 最长可达512字节

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务