我希望将Android设备上的信息发送到微控制器(例如Arduino)。使用蓝牙经典我只需将一个字节数据阵列发送到微控制器,并相应地处理字节数组。
我开始阅读有关蓝牙低功耗的内容,我听到所有关于GATT配置文件的讨论。我为什么要创建GATT档案?在将信息从Android设备交换到微控制器的情况下,GATT配置文件会为我做什么?
提前致谢!
答案 0 :(得分:7)
GATT配置文件是一种在蓝牙中央和外围设备之间进行通信的方式。让我们假设我有一个从传感器读取温度的应用程序。我目前的设置是让手机充当中央,传感器连接到蓝牙LE芯片作为外设。
所以我使用这个配置文件与蓝牙LE芯片通信。在芯片中的GATT配置文件声明中,我将定义一个服务和两个特性。
有两个特点传感器启用程序具有读写权限,而温度值仅具有读取权限。
因此,在您的应用程序中,每当您想要读取温度值时,首先将0x01写入启动器特性,然后从温度值读取值。
为了识别特征和服务,蓝牙具有UUID和句柄的概念。 UUID是全局唯一的,并且在芯片中分配了句柄。
服务封装了可用的特征。因此,在您拥有的层次结构中,可以使用多个服务的配置文件,而这些服务又可以具有多个特征。
要解释答案中的所有内容太多了。你为什么不经历基础here?我发现这些文件非常有用。
答案 1 :(得分:2)
蓝牙低功耗的整体概念是在两个蓝牙设备之间使用较少的功率进行传输。为了实现这一点,即使没有进行数据传输,也不能使用传统的蓝牙经典版本来保持频道。因此,ATT / GATT的概念得到了发展,其提供了在两个低能量设备之间通过BLE链路传输短数据分组的规范。由于当两个设备没有通信时,它将与停止一样好。为了实现BLE服务,必须使用这些ATT / GATT配置文件&协议
GATT提供了关于如何将一组属性(除了数据之外的任何东西)组合成有意义的服务的规范。它执行数据传输和数据传输的常见操作。通过定义自己的客户端 - 服务器机制来存储ATT。它通过为您定义整个框架,使开发人员生活更轻松。只需要将这些特征和组合分组通过定制开发那些配置文件&应用