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

Posted

技术标签:

【中文标题】当您无法访问官方 GATT XML 文件时,如何构建 BLE 应用程序?【英文标题】:How do you build a BLE app when you don't have access to the official GATT XML files? 【发布时间】:2020-10-22 02:46:02 【问题描述】:

要构建 BLE 应用,您需要

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

例如,如果是环境感知服务,我可以从this page中读取this PDF,在GATT Service下找到Environmental Sensing,UUID是0x181A。然后我可以继续阅读同一个PDF,在GATT Characteristic and Object Type下找到Temperature(虽然因为某些原因在文本中是T emperature,并且不能被Temperature搜索到),UUID是0x2A6E .

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

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

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

【问题讨论】:

我总是去蓝牙 SIG 网站,查找配置文件规范 (bluetooth.com/specifications/gatt) 并随身携带阅读。它提供了您可能需要的所有详细信息。 【参考方案1】:

从GATT Specification page 有GATT Specification Supplement 文档,其中包含有关温度特性结构的信息:

Environmental Sensing Service 文档也在GATT Specification page 上详细说明了一个特征是否可以有通知:

我还发现 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

【讨论】:

【参考方案2】:

所有 GATT xml 规范都可以在这里找到: https://github.com/oesmith/gatt-xml

【讨论】:

感谢您的回答。然而,它不是官方的。 你是对的。这不是官方文档,可能不会更新,但它极大地帮助了我理解服务/特征/描述符/值/属性/等的结构。

以上是关于当您无法访问官方 GATT XML 文件时,如何构建 BLE 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

当您无法访问脚手架时,如何在应用栏中交换/删除操作?

当您每天收到包含所有数据(新旧)的 XML 或 CSV 文件时,如何仅处理新数据

Movesense 直接访问 GATT 端点

当您知道内容类型时如何获得正确的文件扩展名

阻止 BLE 设备连接到 GATT 服务器

使用 ParaView 进行文件转换