GATT 配置文件和 UART 服务
GATT profile and UART service
我刚开始开发通过蓝牙连接外围设备的移动应用程序。我搜索了 GATT 是用于蓝牙 LE 通信的相关配置文件,但我们的客户建议我们使用 UART 服务。现在我很困惑
1. 这两件事有什么关系
2. 我们是否必须选择其中之一,如果是,每一个的优缺点是什么。谢谢
传统蓝牙提供串行端口配置文件 (SPP) - 这本质上是通过蓝牙的串行 input/output 流。
Bluetooth Low Energy 提供了多种配置文件,但最常用的是 GATT。 GATT 公开了 characteristics/attributes,这有点像您可以读取 from/write 的变量。一个 read/write 被限制为 20 个字节。
许多嵌入式 BLE 芯片组提供 "UART emulation" over BLE GATT。这里使用了一对属性;一个用于读取,一个用于写入。
中央设备将字节写入 'write' 属性,嵌入式芯片将它们从芯片上的串行端口发送出去。
同样,写入芯片串行端口并通过'read'属性中的新数据通知发送到中央的数据。
你没有说你在什么平台上开发,但一个重要的考虑是在 iOS 上使用 SPP 需要你的硬件通过 Apple 的 MFi 认证,而 BLE/GATT 不需要.
我刚开始开发通过蓝牙连接外围设备的移动应用程序。我搜索了 GATT 是用于蓝牙 LE 通信的相关配置文件,但我们的客户建议我们使用 UART 服务。现在我很困惑 1. 这两件事有什么关系 2. 我们是否必须选择其中之一,如果是,每一个的优缺点是什么。谢谢
传统蓝牙提供串行端口配置文件 (SPP) - 这本质上是通过蓝牙的串行 input/output 流。
Bluetooth Low Energy 提供了多种配置文件,但最常用的是 GATT。 GATT 公开了 characteristics/attributes,这有点像您可以读取 from/write 的变量。一个 read/write 被限制为 20 个字节。
许多嵌入式 BLE 芯片组提供 "UART emulation" over BLE GATT。这里使用了一对属性;一个用于读取,一个用于写入。
中央设备将字节写入 'write' 属性,嵌入式芯片将它们从芯片上的串行端口发送出去。
同样,写入芯片串行端口并通过'read'属性中的新数据通知发送到中央的数据。
你没有说你在什么平台上开发,但一个重要的考虑是在 iOS 上使用 SPP 需要你的硬件通过 Apple 的 MFi 认证,而 BLE/GATT 不需要.