美文网首页
Android Ble 中的核心概念

Android Ble 中的核心概念

作者: linheimx | 来源:发表于2016-12-17 20:13 被阅读99次

    前言

    在 Android 4.3 (API Level 18) 版本后,系统支持了低功耗蓝牙。
    系统提供了丰富的api去处理相关的蓝牙操作,如:

    1. 发现设备
    2. 查询服务
    3. 读写数据
    4. ...

    与传统的蓝牙相比,低功耗蓝牙主要的设计目的是省电!

    核心概念

    1. Generic Attribute Profile (GATT)

    简介

    • 中文的含义:通用的属性配置(可以认为是对蓝牙通信中的属性做出的规格说明)
    • 目前所有的低功耗应用的相关配置都是基于它而来的
    • 这个配置描述了具体的应用程序中蓝牙设备是如何工作的

    在代码中的实现:

    1. BluetoothProfile是个接口。

    它在里面定义了很多字段:如连接的状态,不同类型的蓝牙设备,针对设备允许的连接优先级等等。
    它也定义了通用的几个操作:如getConnectedDevices();

    1. BluetoothGattBluetoothHeadset等,对 BluetoothProfile进行具体的实现。

    持有了BluetoothProfile字段的配置信息,实现了BluetoothProfile定义的3个操作。此外他们还提供了蓝牙通信的基本操作,如下:

    2. Attribute Protocol (ATT)

    简介

    • ATT: 针对属性的协议,把它当成一种数据结构即可,它约定了这个数据结构长成什么样子。
    • 它是 GATT的一个子集:GATT/ATT
    • ATT 是针对BLE设备进一步优化:尽可能的使用很少的字节。
    • 每个属性用 UUID来标识。

    在代码中的实现:

    ATT 的具体实现是 characteristicsservices

    3. ****Characteristic****

    简介

    • 它是一个数据结构
    • 它包含了一个数值和0到n个描述符

    在代码中的实现:

    它是一个类:public class BluetoothGattService

    封装的字段:



    提供了很多便捷的方法:


    4. Descriptor

    简介

    • 描述符
    • 描述 characteristic 中的值(值的范围,值的单位,或者人能看懂的信息)

    在代码中的实现:

    它是一个类:public class BluetoothGattDescriptor
    封装的字段:

    5. Service

    • service 是characteristic 的集合

    在代码中的实现:

    它是一个类:public class BluetoothGattService
    封装的字段:

    相关文章

      网友评论

          本文标题:Android Ble 中的核心概念

          本文链接:https://www.haomeiwen.com/subject/cxcamttx.html