当您无法访问官方 GATT XML 文件时,如何构建 BLE 应用程序?
How do you build a BLE app when you don't have access to the official GATT XML files?
要构建 BLE 应用,您需要
- 服务 UUID
- 服务的特征 UUID
- 特性的权限(读/写/通知...)
- 如果要发送任何数据,则需要知道值类型(uint8_t、uint16_t ...)
举个例子,如果是环境感知服务,我可以读取this PDF from this page,在GATT Service
下找到Environmental Sensing
,UUID是0x181A
。然后我可以继续阅读同一个 PDF 并在 GATT Characteristic and Object Type
下找到 Temperature
(尽管由于某些原因它在文本中是 T emperature
,并且不能被 Temperature
搜索到) , UUID 为 0x2A6E
.
好的,到目前为止一切顺利。然后我撞墙了。要通知的数据大小(例如 uint16_t 或其他)或允许哪些权限(例如读/写...)如何?
经过几个小时的谷歌搜索,我终于找到了 this github and this github。但这不是官方的,有人复制并撤离了他们。
当您没有官方 XML 文件可供查找时,如何高效地编写 BLE 应用程序?
来自GATT Specification page there is the GATT Specification Supplement文档,其中包含有关温度特性结构的信息:
Environmental Sensing Service document also on GATT Specification page 特征是否可以有通知的详细信息:
我还发现 XML 文档以更紧凑的方式提供了信息,我已经购买了它以引起蓝牙 SIG 的注意,但链接似乎没有得到修复。如果您可以锻炼 URL,该数据仍然存在于网站上。我不知道是否正在维护该数据。
所有 GATT xml 规范都可以在这里找到:
https://github.com/oesmith/gatt-xml
要构建 BLE 应用,您需要
- 服务 UUID
- 服务的特征 UUID
- 特性的权限(读/写/通知...)
- 如果要发送任何数据,则需要知道值类型(uint8_t、uint16_t ...)
举个例子,如果是环境感知服务,我可以读取this PDF from this page,在GATT Service
下找到Environmental Sensing
,UUID是0x181A
。然后我可以继续阅读同一个 PDF 并在 GATT Characteristic and Object Type
下找到 Temperature
(尽管由于某些原因它在文本中是 T emperature
,并且不能被 Temperature
搜索到) , UUID 为 0x2A6E
.
好的,到目前为止一切顺利。然后我撞墙了。要通知的数据大小(例如 uint16_t 或其他)或允许哪些权限(例如读/写...)如何?
经过几个小时的谷歌搜索,我终于找到了 this github and this github。但这不是官方的,有人复制并撤离了他们。
当您没有官方 XML 文件可供查找时,如何高效地编写 BLE 应用程序?
来自GATT Specification page there is the GATT Specification Supplement文档,其中包含有关温度特性结构的信息:
Environmental Sensing Service document also on GATT Specification page 特征是否可以有通知的详细信息:
我还发现 XML 文档以更紧凑的方式提供了信息,我已经购买了它以引起蓝牙 SIG 的注意,但链接似乎没有得到修复。如果您可以锻炼 URL,该数据仍然存在于网站上。我不知道是否正在维护该数据。
所有 GATT xml 规范都可以在这里找到: https://github.com/oesmith/gatt-xml