当您无法访问官方 GATT XML 文件时,如何构建 BLE 应用程序?

kuk*_*krt 5 bluetooth bluetooth-lowenergy gatt bluetooth-gatt esp32

要构建 BLE 应用程序,您需要

  1. 服务 UUID
  2. 服务的特征 UUID
  3. 特征的权限(读/写/通知...)
  4. 如果要发送任何数据,则需要知道值类型 (uint8_t, uint16_t ...)

举个例子,如果是环境感知服务,我可以从这个页面阅读这个PDF,然后在下面找到,UUID是。然后,我可以去读取相同的PDF和发现(虽然它在文本出于某些原因,它不能被搜索)下,与UUID是。Environmental SensingGATT Service0x181ATemperatureT emperatureTemperatureGATT Characteristic and Object Type0x2A6E

好的,到目前为止一切顺利。然后我撞墙了。要通知的数据大小(例如 uint16_t 或其他)如何或允许哪些权限(例如读/写...)?

经过几个小时的谷歌搜索,我终于找到了这个 github这个 github。但这不是官方的,有人复制并疏散了他们。

当您没有官方 XML 文件可供查找时,您如何有效地编写 BLE 应用程序?

ukB*_*Baz 2

GATT 规范页面中有GATT 规范补充文档,其中包含有关温度特性结构的信息:

在此输入图像描述

环境传感服务文档也在GATT 规范页面上详细说明了某个特征是否可以具有通知:

在此输入图像描述

我还发现 XML 文档以更紧凑的方式呈现了信息,我已将其购买以引起蓝牙 SIG 的注意,但链接似乎没有得到修复。如果您可以解析 URL,则数据仍然存在于网站上。我不知道这些数据是否得到维护。

https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Services/org.bluetooth.service.environmental_sensing.xml

https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Characteristics/org.bluetooth.characteristic.Temperature.xml