【问题标题】:Android: Bluetooth Low Energy GATT ProfileAndroid:蓝牙低功耗 GATT 配置文件
【发布时间】:2014-02-25 16:36:57
【问题描述】:

我希望将信息从我的 Android 设备发送到微控制器(例如 Arduino)。使用蓝牙经典,我只需向微控制器发送一个字节数组数据,并相应地处理字节数组。

我开始阅读有关低功耗蓝牙的内容,并且听到所有关于 GATT 配置文件的讨论。为什么要创建 GATT 配置文件?在从 Android 设备到微控制器交换信息的情况下,GATT 配置文件对我有什么作用?

提前致谢!

【问题讨论】:

    标签: android bluetooth bluetooth-lowenergy android-bluetooth gatt


    【解决方案1】:

    蓝牙低功耗的整个概念是使用更少的功率在两个蓝牙设备之间进行传输。为了实现这一点,不能使用传统的蓝牙经典,即使数据传输没有完成,也要保持通道。因此,ATT/GATT 的概念不断发展,它提供了通过 BLE 链路在两个低功耗设备之间传输短数据包的规范。因此,当两个设备不通信时,将与停止一样好。为了实现 BLE 服务,必须使用这些 ATT/GATT 配置文件和协议。

    GATT 提供了关于如何将一组属性(只不过是数据)组合成有意义的服务的规范。它通过定义自己的客户端-服务器机制来执行通过 ATT 传输和存储数据的常见操作。它通过为您定义整个框架让开发人员的生活变得轻松,并且只需通过自定义来开发配置文件和应用程序来对这些特征和服务进行分组。

    【讨论】:

      【解决方案2】:

      GATT 配置文件是蓝牙中心和外围设备之间通信的一种方式。假设我有一个从传感器读取温度的应用程序。我目前的设置是让手机作为中心,传感器连接到蓝牙 LE 芯片作为外围设备。

      所以我使用此配置文件与蓝牙 LE 芯片通信。在芯片中的 GATT 配置文件声明中,我将定义一个服务和两个特性。两个特点是

      1. 传感器启动器
      2. 温度值

      Sensor enabler 具有读写权限,而温度值只有读取权限。

      所以在您的应用中,每当您要读取温度值时,您首先将 0x01 写入使能器特征,然后从温度值中读取值。

      为了识别特征和服务,蓝牙有 UUID 和句柄的概念。 UUID 是全局唯一的,句柄在芯片中分配。

      服务封装了可用的特征。因此,在您拥有的层次结构中,配置文件可以提供多种服务,而这些服务又可以具有多种特征。

      在答案中解释所有内容将是太多了。您为什么不了解基础知识here?我发现这些文档非常有用。

      【讨论】:

      • 我无法获得蓝牙入门套件(在您提供的链接下找到)验证电子邮件...这对您有用吗?
      • 这个不适合我。我不知道是因为我已经下载过一次,还是他们的网站确实存在问题。我下载了快速入门套件 v2。我会看看能不能找到其他链接。
      • Here你去。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 2015-02-17
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多